-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IllegalArgumentException when running "cljsbuild once" #240
Comments
Realised that adding stacktrace and some more contex might be neat, so updated the description accordingly. |
Hmm, passing forward a
So I guess the input should be on classpath, and the above file is actually on classpath, just that the pathname is absolute instead of relative, hmm... |
I think the |
True, Anyway, we still end up into another problem even if we nuke |
I'm investigating more, but I'm thinking that since |
Ok so I managed to trace this down case-sensitivity problem:
Notice the capital C in "absolute parent" and lowercase c in "absolute path" (now image my sense of frustration... :)). Could using
|
The above should probably work on Windows and Unixes since "A canonical pathname is both absolute and unique" (quote from javadocs http://docs.oracle.com/javase/7/docs/api/java/io/File.html#getCanonicalPath() ) |
Tested on Linux and OSX. |
The Ouch, case. FWIW, that Would love a PR of whatever solution you'd like to offer up. |
The result of fs/absolute-path might differ in case, result of getCanonicalPath is defined to "be both absolute and unique" [1]. As noted by Chas, in emezeske#240, this probably is an incremental solution only. [1] http://docs.oracle.com/javase/7/docs/api/java/io/File.html#getCanonicalPath()
So did a smaller incremental fix now in #241. Didn't know about |
Merge branch 'master' of https://github.com/emezeske/lein-cljsbuild * 'master' of https://github.com/emezeske/lein-cljsbuild: (45 commits) 0.3.4 final 0.3.4 release notes auto-discover version of lein-cljsbuild being used, fixes emezeskegh-242 fail test subtask if any :test-command vector contains non-string values, fixes emezeskegh-243 0.3.4 release notes draft Let hard compilation failures (i.e. failures loading Clojure files) fail the broader build (emezeskegh-234) Default :output-wrapper to true when :optimizations = :advanced, fixes emezeskegh-201 bump cljsbuild-version in subproject => 0.3.4-SNAPSHOT (ref emezeskegh-242) orphaned release notes? Handle case-sensitivity, fixes emezeske#240 Add new "sample" task update release notes 0.3.4-SNAPSHOT 0.3.3 separate deploy script add README admonition re: explicit cljs deps, add explicit dep to example projects, fixes emezeskegh-228 don't include paths in :output-dir or the :output-to path when watching for changes Reimplement `find-files` w/o using the "fs" library (too slow), fixes emezeskegh-219 emit warning when user's project does not contain an explicit ClojureScript dependency, fixes emezeskegh-224 0.3.3-SNAPSHOT ... Conflicts: doc/RELEASE-NOTES.md plugin/project.clj plugin/src/leiningen/cljsbuild.clj support/project.clj
We ran into a problem in our build environment:
This is related to the changes in the commit f86627c related to #211. In the form:
path
seems to be an absolute path (in the above case: "c:\tools\hudson\jobs\xxxxx\workspace\xxxxxx\src\cljs\xxxx\ui\components\tree\macros.clj"), not a resource name on the classpath.io/resource
then returnsnil
andslurp
throws an IllegalArgumentException.Funny thing is that I can't reproduce this on my machine (OSX), the build machine we have is running Windows.
I guess
path
should be a resource name on the classpath, but it would be neat if this would work for absolute file paths as well (being more tolerant would be even neater).I don't have a patch ready now, but can submit what I had in mind probably tomorrow.
The text was updated successfully, but these errors were encountered: