Clojure JIRAhttp://dev.clojure.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+CLASSPATH+ORDER+BY+status+DESC%2C+priority+DESC
An XML representation of a search requesten-us4.464925-07-2011RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=35155#comment-35155
Wed, 23 Jul 2014 07:13:59 -0500Stuart Sierra
<blockquote>
<p>Is this an known anti-pattern for working with resources on the classpath?</p></blockquote>
<p>Yes.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35155\#worklog-35155RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=35144#comment-35144
Tue, 22 Jul 2014 12:20:54 -0500Kevin Livingston
<p>Interesting. I didn't realize some of this was so flexible.<br/>
Thanks for your comments.</p>
<p>So iterating recursively over the CP seem like it might be a bad thing to do?, although I guess it's no worse than if you happened to ask for something to be loaded that's found in the very last, deepest corner of the CP, right?</p>
<p>I have been putting resource files on the CP and then having the application find them with a prefix of their names. e.g., find all "foo.bar" and I get "foo.bar.baz1" and "foo.bar.baz2" etc. without the application needing to be aware of what's there or the need for manifests to be generated or maintained. Is this an known anti-pattern for working with resources on the classpath?</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=drlivingston">Kevin Livingston</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35144\#worklog-35144RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=35142#comment-35142
Tue, 22 Jul 2014 06:58:20 -0500Stuart Sierra
<p>Currently, clojure.java.classpath handles neither JAR Manifest files nor nested JAR files. As I described in my previous comment, implementing support for this would be difficult and is not likely to be a priority for me any time soon. I would be willing to review a patch to add this capability, but it would have to prove that it protects against recursive cycles.</p>
<p>By my reading of the <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html">JAR File Specification</a>, the behavior of clojure-maven-plugin could be considered against the spirit of the JAR spec, which decribes the "Class-Path" manifest attribute this way:</p>
<blockquote>
<p>"Class-Path: The value of this attribute specifies the <b>relative</b> URLs of the extensions or libraries that this application or extension needs." (emphasis added)</p></blockquote>
<p>The clojure-maven-plugin is creating a JAR manifest with a "Class-Path" attribute containing <b>absolute</b> URLs to other JAR files which are <b>not</b> embedded in the JAR containing the manifest.</p>
<p>I have always assumed that JAR manifest files with Class-Path attributes are used only when packaging complete applications or JDK extensions, not as a mechanism for specifying the class-path during development. Clearly it is possible, as the current clojure-maven-plugin demonstrates, but it is not a feature I would want to rely on.</p>
<p>In general, the JDK does not support enumerating all files on the classpath, since the classpath can include URLs to remote resources which are downloaded as needed.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35142\#worklog-35142RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=35110#comment-35110
Sat, 19 Jul 2014 15:52:31 -0500Kevin Livingston
<p>Thank you for looking into this.<br/>
Am I understanding that this is the correct / desired behavior for what clojure-maven-plungin and clojure.java.classpath should be doing together?</p>
<p>So I was going into jar files, (although I've realized I don't think I'm looking into nested jar files - does the classloader look into nested files?) and now you are saying there's a third case I will have to cover too, right?: manifest files? Is there a utility method in clojure.java.classpath for reading them?</p>
<p>I was using code like this to identify everything accessible on the classpath:</p>
<p><a href="https://github.com/drlivingston/kr/blob/master/kr-core/src/main/clojure/edu/ucdenver/ccp/utils.clj#L101">https://github.com/drlivingston/kr/blob/master/kr-core/src/main/clojure/edu/ucdenver/ccp/utils.clj#L101</a></p>
<p>thanks,<br/>
Kevin</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=drlivingston">Kevin Livingston</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35110\#worklog-35110RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=35107#comment-35107
Fri, 18 Jul 2014 16:10:25 -0500Stuart Sierra
<p>On further digging in the OpenJDK source code, URLClassLoader reads JAR manifest files lazily, as needed, to load classes or resources. To find the list of <b>all</b> URLs that a URLClassLoader might open, you would have to reimplement this logic to read all the manifest files. It also has to be recursive (JAR manifest references another JAR with a manifest) and detect cycles.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35107\#worklog-35107RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=35106#comment-35106
Fri, 18 Jul 2014 14:40:15 -0500Stuart Sierra
<p>I can confirm this behavior with all versions of java.classpath on all versions of clojure-maven-plugin 1.3.13 and later.</p>
<p>Starting with version 1.3.13 of clojure-maven-plugin, instead of specifying the Java classpath on the command line with <tt>-cp</tt>, the plugin generates a temporary JAR file with a manifest file containing the real classpath and launches Java with <tt>-jar</tt>.</p>
<p>See clojure-maven-plugin <a href="https://github.com/talios/clojure-maven-plugin/pull/58">pull request #58</a> containing <a href="https://github.com/talios/clojure-maven-plugin/commit/8d8e90e41806a6927c11347e6fc13344ba53c887">commit 8d8e90e4</a>.</p>
<p><tt>clojure.java.classpath/classpath</tt> looks at the classloader that loaded Clojure, which in this case is a child classloader of <tt>sun.misc.Launcher$AppClassLoader</tt>. AppClassLoader is a subclass of <a href="http://docs.oracle.com/javase/6/docs/api/java/net/URLClassLoader.html">URLClassLoader</a> but its <a href="http://docs.oracle.com/javase/6/docs/api/java/net/URLClassLoader.html#getURLs()">getURLs</a> method returns only the URL of the JAR file. There is no obvious API for getting the <tt>Class-Path</tt> property of the manifest file without opening and reading the contents of the JAR file.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
<tr>
<td>Edited by:</td>
<td><a href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a></td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35106\#worklog-35106RE: [CLASSPATH-6] classpath "empty" when classpath 0.2.2 used with clojure maven plugin 1.3.20+
http://dev.clojure.org/jira/browse/CLASSPATH-6?focusedCommentId=34950#comment-34950
Thu, 26 Jun 2014 20:57:20 -0500Kevin Livingston
<p>also with this java version<br/>
Java version: 1.7.0_45, vendor: Oracle Corporation</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=drlivingston">Kevin Livingston</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-6">CLASSPATH-6</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-6?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=34950\#worklog-34950RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33387#comment-33387
Fri, 10 Jan 2014 11:26:00 -0600Stuart Sierra
<p>in release 0.2.2</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33387\#worklog-33387RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33281#comment-33281
Tue, 7 Jan 2014 19:53:53 -0600Stuart Sierra
<p>1. Yes, but I would prefer to keep it optional.</p>
<p>2. Not at this time.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33281\#worklog-33281RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33280#comment-33280
Tue, 7 Jan 2014 17:34:22 -0600Jim Crossley
<p>That looks good, Stuart, thanks! I have two followup questions:</p>
<p>1) Are you open to using this in tools.namespace?<br/>
2) Do you think it's worth obviating <a href="https://github.com/tobias/dynapath">dynapath</a> with java.classpath?</p>
<p>This jira gets you most of the way to #2 already. Lacking is the ability to invoke .addURL to expand a classloader's classpath at runtime. If you think it's a good idea, I'll add a jira and take a whack at it.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=jcrossley3">Jim Crossley</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33280\#worklog-33280RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33279#comment-33279
Tue, 7 Jan 2014 17:01:17 -0600Stuart Sierra
<p>Modified to avoid changes to existing public functions. Committed to master at <a href="https://github.com/clojure/java.classpath/commit/0b3401cc97fcd68b7d095312e49ed0952c1a1a04">0b3401cc</a></p>
<p>Will build as version 0.2.2-SNAPSHOT, <a href="http://dev.clojure.org/display/community/Maven+Settings+and+Repositories">available via Sonatype repo</a>.</p>
<p>Please test and confirm that this satisfies your use case.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33279\#worklog-33279RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33277#comment-33277
Tue, 7 Jan 2014 16:35:51 -0600Jim Crossley
<p>Rebased the patch to make it more clear</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=jcrossley3">Jim Crossley</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33277\#worklog-33277RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33276#comment-33276
Tue, 7 Jan 2014 16:26:40 -0600Jim Crossley
<p>Regarding JBoss as JVM, I meant that JBoss, as well as other containers, is a single JVM process, with multiple ClassLoaders active, each responsible for an isolated, deployed app. And none of them are URLClassLoader instances, but they all are capable of returning a list of their classpath segments as URLs.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=jcrossley3">Jim Crossley</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33276\#worklog-33276RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33275#comment-33275
Tue, 7 Jan 2014 16:23:38 -0600Jim Crossley
<p>Sorry, that patch was a mistake. Corrected one attached (same name)</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=jcrossley3">Jim Crossley</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33275\#worklog-33275RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33274#comment-33274
Tue, 7 Jan 2014 16:14:32 -0600Stuart Sierra
<p>The goal is reasonable, but I don't understand this patch: it's extending the <tt>Classpath</tt> protocol to <tt>java.lang.ClassLoader</tt> and then trying to call a method which is not defined in <tt>java.lang.ClassLoader</tt></p>
<p>Also, I don't understand the description: JBoss is not a JVM.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33274\#worklog-33274RE: [CLASSPATH-5] Make extensible to any ClassLoader, not just URLClassLoader derivatives
http://dev.clojure.org/jira/browse/CLASSPATH-5?focusedCommentId=33273#comment-33273
Tue, 7 Jan 2014 15:58:34 -0600Jim Crossley
<p>Attached patch file: classpath-5.diff</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=jcrossley3">Jim Crossley</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-5">CLASSPATH-5</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33273\#worklog-33273RE: [CLASSPATH-4] clojure.java.classpath/classpath gives bogus %20 paths when there are spaces in the pathnames
http://dev.clojure.org/jira/browse/CLASSPATH-4?focusedCommentId=30452#comment-30452
Fri, 18 Jan 2013 08:58:05 -0600Stuart Sierra
<p>applied</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-4">CLASSPATH-4</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=30452\#worklog-30452RE: [CLASSPATH-4] clojure.java.classpath/classpath gives bogus %20 paths when there are spaces in the pathnames
http://dev.clojure.org/jira/browse/CLASSPATH-4?focusedCommentId=30422#comment-30422
Fri, 11 Jan 2013 15:10:20 -0600Tim McCormack
<p>Attached patch uses clojure.java.io/as-file to handle URL -&gt; File conversion.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=timmc">Tim McCormack</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-4">CLASSPATH-4</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=30422\#worklog-30422RE: [CLASSPATH-4] clojure.java.classpath/classpath gives bogus %20 paths when there are spaces in the pathnames
http://dev.clojure.org/jira/browse/CLASSPATH-4?focusedCommentId=30227#comment-30227
Thu, 13 Dec 2012 17:39:08 -0600Tim McCormack
<p>I think using clojure.java.io/as-file would be sufficient to handle this conversion properly.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=timmc">Tim McCormack</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-4">CLASSPATH-4</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=30227\#worklog-30227RE: [CLASSPATH-4] clojure.java.classpath/classpath gives bogus %20 paths when there are spaces in the pathnames
http://dev.clojure.org/jira/browse/CLASSPATH-4?focusedCommentId=30222#comment-30222
Wed, 12 Dec 2012 23:02:07 -0600Tim McCormack
<p>This seems to be the result of how loader-classpath handles URL -&gt; File conversion:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">#(java.io.File. (.getPath ^java.net.URL %))</pre>
</div></div>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=timmc">Tim McCormack</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-4">CLASSPATH-4</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=30222\#worklog-30222RE: [CLASSPATH-3] Eliminate one use of reflection in java.classpath
http://dev.clojure.org/jira/browse/CLASSPATH-3?focusedCommentId=29856#comment-29856
Sun, 28 Oct 2012 20:09:37 -0500Stuart Sierra
<p>Patch applied. Thanks!</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-3">CLASSPATH-3</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=29856\#worklog-29856RE: [CLASSPATH-3] Eliminate one use of reflection in java.classpath
http://dev.clojure.org/jira/browse/CLASSPATH-3?focusedCommentId=29844#comment-29844
Sun, 28 Oct 2012 18:19:54 -0500Andy Fingerhut
<p>classpath-3-eliminate-reflection-v1.txt dated Oct 28 2012 eliminates the one use of reflection that currently exists in java.classpath, by adding a type hint.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=jafingerhut">Andy Fingerhut</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-3">CLASSPATH-3</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=29844\#worklog-29844RE: [CLASSPATH-1] clojure.java.classpath/system-classpath is incorrect when running in a classloader other than the application classloader
http://dev.clojure.org/jira/browse/CLASSPATH-1?focusedCommentId=27628#comment-27628
Fri, 27 Jan 2012 09:44:55 -0600Stuart Sierra
<p>Resolved by <a href="http://dev.clojure.org/jira/browse/CLASSPATH-2" title="Reported classpath should include classpath from parent classloaders, but not from the system classloader"><del>CLASSPATH-2</del></a></p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-1">CLASSPATH-1</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-1?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=27628\#worklog-27628RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26826#comment-26826
Thu, 15 Sep 2011 12:53:56 -0500Stuart Sierra
<p>Patch applied. Will release new version soon.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26826\#worklog-26826RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26825#comment-26825
Thu, 15 Sep 2011 11:18:48 -0500Hugo Duncan
<p>Patch with unit test for classpath, testing for non-empty sequence of java.io.File objects as return value.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=hugoduncan">Hugo Duncan</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26825\#worklog-26825RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26823#comment-26823
Thu, 15 Sep 2011 10:52:00 -0500Stuart Sierra
<p>Agreed: the seq should be non-empty and contain Files.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26823\#worklog-26823RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26822#comment-26822
Thu, 15 Sep 2011 09:39:12 -0500Hugo Duncan
<p>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.</p>
<p>If the tests for the clojure jar are dropped, a test for a non-empty sequence should at least be added.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=hugoduncan">Hugo Duncan</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26822\#worklog-26822RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26821#comment-26821
Thu, 15 Sep 2011 09:08:28 -0500Stuart Sierra
<p>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.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26821\#worklog-26821RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26810#comment-26810
Wed, 14 Sep 2011 11:27:04 -0500Hugo Duncan
<p>Updated patch with unit test</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=hugoduncan">Hugo Duncan</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26810\#worklog-26810RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26809#comment-26809
Wed, 14 Sep 2011 11:26:39 -0500Hugo Duncan
<p>Oops, I ran the tests, but failed to notice there weren't any...</p>
<p>Updated patch, with a unit test.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=hugoduncan">Hugo Duncan</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26809\#worklog-26809RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26808#comment-26808
Wed, 14 Sep 2011 09:48:56 -0500Stuart Sierra
<p>Patch does not compile.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=stuart.sierra">Stuart Sierra</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26808\#worklog-26808RE: [CLASSPATH-1] clojure.java.classpath/system-classpath is incorrect when running in a classloader other than the application classloader
http://dev.clojure.org/jira/browse/CLASSPATH-1?focusedCommentId=26803#comment-26803
Tue, 13 Sep 2011 20:56:37 -0500Justin Balthrop
<p>Hugo provides a more general solution in <a href="http://dev.clojure.org/jira/browse/CLASSPATH-2" title="Reported classpath should include classpath from parent classloaders, but not from the system classloader"><del>CLASSPATH-2</del></a>.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=justin.balthrop">Justin Balthrop</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-1">CLASSPATH-1</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-1?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26803\#worklog-26803RE: [CLASSPATH-2] Reported classpath should include classpath from parent classloaders, but not from the system classloader
http://dev.clojure.org/jira/browse/CLASSPATH-2?focusedCommentId=26802#comment-26802
Tue, 13 Sep 2011 20:55:34 -0500Justin Balthrop
<p>If this patch is accepted, it will fix the issue described in <a href="http://dev.clojure.org/jira/browse/CLASSPATH-1">http://dev.clojure.org/jira/browse/CLASSPATH-1</a>. Hugo and I talked and his fix is more general than mine, so you can close <a href="http://dev.clojure.org/jira/browse/CLASSPATH-1" title="clojure.java.classpath/system-classpath is incorrect when running in a classloader other than the application classloader"><del>CLASSPATH-1</del></a>.</p>
<br/>
<br/>
<table>
<tr>
<td>Author:</td>
<td><a
href="http://dev.clojure.org/jira/secure/ViewProfile.jspa?name=justin.balthrop">Justin Balthrop</a>
(<a href="http://dev.clojure.org/jira/browse/CLASSPATH-2">CLASSPATH-2</a>)</td>
</tr>
</table>
http://dev.clojure.org/jira/browse/CLASSPATH-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=26802\#worklog-26802