[CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader Created: 13/Sep/11 Updated: 15/Sep/11 Resolved: 15/Sep/11 |
|
| Status: | Resolved |
| Project: | java.classpath |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Major |
| Reporter: | Hugo Duncan | Assignee: | Stuart Sierra |
| Resolution: | Completed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Patch: | Code |
| Description |
|
Since a classloader delegates to its parent if it fails to provide a class, the classpath reported by java.classpath should include the classpath of parent classloaders. At present the reported classpath contains both system and baseloader classpaths, which I believe is incorrect, since the system classloader is not necessarily a parent of the baseloader. |
| Comments |
| Comment by Justin Balthrop [ 13/Sep/11 8:55 PM ] |
|
If this patch is accepted, it will fix the issue described in http://dev.clojure.org/jira/browse/CLASSPATH-1. Hugo and I talked and his fix is more general than mine, so you can close |
| Comment by Stuart Sierra [ 14/Sep/11 9:48 AM ] |
|
Patch does not compile. |
| Comment by Hugo Duncan [ 14/Sep/11 11:26 AM ] |
|
Oops, I ran the tests, but failed to notice there weren't any... Updated patch, with a unit test. |
| Comment by Hugo Duncan [ 14/Sep/11 11:27 AM ] |
|
Updated patch with unit test |
| Comment by Stuart Sierra [ 15/Sep/11 9:08 AM ] |
|
Patch is good. Not sure about the test. Finding "clojure-.*jar" in the classpath is subject to the build environment. I think all we can reasonably expect is that the classpath is a seq of java.io.Files. |
| Comment by Hugo Duncan [ 15/Sep/11 9:39 AM ] |
|
The test are normally run from the project's own pom, and even if run from an external project, the classpath will include a clojure jar in the huge majority of cases. I suppose the tests could be guarded with a java property set in the project's pom. If the tests for the clojure jar are dropped, a test for a non-empty sequence should at least be added. |
| Comment by Stuart Sierra [ 15/Sep/11 10:52 AM ] |
|
Agreed: the seq should be non-empty and contain Files. |
| Comment by Hugo Duncan [ 15/Sep/11 11:18 AM ] |
|
Patch with unit test for classpath, testing for non-empty sequence of java.io.File objects as return value. |
| Comment by Stuart Sierra [ 15/Sep/11 12:53 PM ] |
|
Patch applied. Will release new version soon. |