Details
-
Type:
Defect
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: Release 1.4, Release 1.5
-
Fix Version/s: Release 1.5, Release 1.6
-
Component/s: None
-
Labels:
-
Patch:Code
-
Approval:Screened
Description
Summary: patch leaves version.properties file out of sources JAR, where it causes problems for tools.
The "sources" jar (at least since Clojure 1.4 and including 1.5 RC) has a bad version.properties file in it. The resource clojure/version.properties is literally:
version=${version}
The regular Clojure jar has the correct version string in that resource.
I came across a problem when I was experimenting with the sources jar (as used by IDEs). I naively added the sources jar to my classpath, and Clojure died on start up. The bad clojure/versions.properties file was found first, which led to a parse error as the clojure version was being set.
Attachments
Activity
Stuart Sierra
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Stuart Sierra [ stuart.sierra ] |
Stuart Sierra
made changes -
| Patch | Code [ 10001 ] | |
| Approval | Vetted [ 10003 ] | |
| Attachment | 0001-CLJ-1161-Remove-version.properties-from-sources-JAR.patch [ 11861 ] | |
| Labels | patch |
Stuart Halloway
made changes -
| Approval | Vetted [ 10003 ] | Triaged [ 10120 ] |
Rich Hickey
made changes -
| Approval | Triaged [ 10120 ] | Vetted [ 10003 ] |
Rich Hickey
made changes -
| Fix Version/s | Release 1.6 [ 10157 ] | |
| Fix Version/s | Release 1.5 [ 10150 ] |
Stuart Halloway
made changes -
| Assignee | Stuart Sierra [ stuart.sierra ] | Stuart Halloway [ stu ] |
Stuart Halloway
made changes -
| Approval | Vetted [ 10003 ] | Screened [ 10004 ] |
| Description |
The "sources" jar (at least since Clojure 1.4 and including 1.5 RC) has a bad version.properties file in it. The resource clojure/version.properties is literally:
version=${version} The regular Clojure jar has the correct version string in that resource. I came across a problem when I was experimenting with the sources jar (as used by IDEs). I naively added the sources jar to my classpath, and Clojure died on start up. The bad clojure/versions.properties file was found first, which led to a parse error as the clojure version was being set. |
Summary: patch leaves version.properties file out of sources JAR, where it causes problems for tools.
The "sources" jar (at least since Clojure 1.4 and including 1.5 RC) has a bad version.properties file in it. The resource clojure/version.properties is literally: version=${version} The regular Clojure jar has the correct version string in that resource. I came across a problem when I was experimenting with the sources jar (as used by IDEs). I naively added the sources jar to my classpath, and Clojure died on start up. The bad clojure/versions.properties file was found first, which led to a parse error as the clojure version was being set. |
Notes from the dev mailing list:
The "sources" JAR is generated by another Maven plugin, configured here:
https://github.com/clojure/clojure/blob/clojure-1.5.0-RC15/pom.xml#L169-L181
The simplest solution might be to just exclude the file from the sources jar. It looks like maven-source-plugin has an excludes option which would do the trick:
http://maven.apache.org/plugins/maven-source-plugin/jar-mojo.html#excludes