New upstream release.
Debian Janitor
3 years ago
0 | epl.html linguist-documentation |
0 | 0 | # java.classpath Change Log |
1 | ||
2 | ## 0.3.x series | |
3 | ||
4 | ### Release [0.3.0] on 2018-May-06 | |
5 | ||
6 | * Fix [CLASSPATH-8]: empty classpath returned on Java 9. | |
7 | ||
8 | Starting with Java 9, the default class loader is no longer an | |
9 | instance of URLClassLoader, so `classpath` returned an empty sequence. | |
10 | The strategy of using URLClassLoader started with release [0.2.0] to | |
11 | accommodate Java application containers (see [CLASSPATH-1] and | |
12 | [CLASSPATH-2]). After this change, application containers based on | |
13 | URLClassLoader should still work as expected. | |
14 | ||
15 | On Java 9 without an application container, it appears that the | |
16 | `java.class.path` system property is the only way to get the | |
17 | classpath. While this is essentially a bugfix for Java 9 | |
18 | compatibility, it is a change in behavior, hence the version change | |
19 | from 0.2 to 0.3. | |
1 | 20 | |
2 | 21 | |
3 | 22 | ## 0.2.x series |
4 | ||
5 | Latest development version is 0.2.4-SNAPSHOT, current Git `master` branch | |
6 | 23 | |
7 | 24 | ### Release [0.2.3] on 2015-Nov-06 |
8 | 25 | |
41 | 58 | |
42 | 59 | |
43 | 60 | |
61 | [CLASSPATH-8]: http://dev.clojure.org/jira/browse/CLASSPATH-8 | |
44 | 62 | [CLASSPATH-7]: http://dev.clojure.org/jira/browse/CLASSPATH-7 |
45 | 63 | [CLASSPATH-6]: http://dev.clojure.org/jira/browse/CLASSPATH-6 |
46 | 64 | [CLASSPATH-5]: http://dev.clojure.org/jira/browse/CLASSPATH-5 |
49 | 67 | [CLASSPATH-2]: http://dev.clojure.org/jira/browse/CLASSPATH-2 |
50 | 68 | [CLASSPATH-1]: http://dev.clojure.org/jira/browse/CLASSPATH-1 |
51 | 69 | |
70 | [0.3.0]: https://github.com/clojure/java.classpath/tree/java.classpath-0.3.0 | |
52 | 71 | [0.2.3]: https://github.com/clojure/java.classpath/tree/java.classpath-0.2.3 |
53 | 72 | [0.2.2]: https://github.com/clojure/java.classpath/tree/java.classpath-0.2.2 |
54 | 73 | [0.2.1]: https://github.com/clojure/java.classpath/tree/java.classpath-0.2.1 |
4 | 4 | |
5 | 5 | ## Releases and Dependency Information |
6 | 6 | |
7 | Latest stable release is 0.2.3 | |
7 | Latest stable release is 0.3.0 | |
8 | 8 | |
9 | 9 | [Leiningen] dependency information: |
10 | 10 | |
11 | [org.clojure/java.classpath "0.2.3"] | |
11 | [org.clojure/java.classpath "0.3.0"] | |
12 | 12 | |
13 | 13 | [Maven] dependency information: |
14 | 14 | |
15 | 15 | <dependency> |
16 | 16 | <groupId>org.clojure</groupId> |
17 | 17 | <artifactId>java.classpath</artifactId> |
18 | <version>0.2.3</version> | |
18 | <version>0.3.0</version> | |
19 | 19 | </dependency> |
20 | 20 | |
21 | 21 | [Gradle] dependency information: |
22 | 22 | |
23 | compile "org.clojure:java.classpath:0.2.3" | |
23 | compile "org.clojure:java.classpath:0.3.0" | |
24 | 24 | |
25 | 25 | [Leiningen]: http://leiningen.org/ |
26 | 26 | [Maven]: http://maven.apache.org/ |
68 | 68 | protocol `URLClasspath` to support it. Refer to the source for |
69 | 69 | details. |
70 | 70 | |
71 | **Starting with version 0.3.0**, the `classpath` function will fall | |
72 | back to the `java.class.path` system property if the parent | |
73 | ClassLoader is not an instance of [URLClassLoader](https://docs.oracle.com/javase/9/docs/api/java/net/URLClassLoader.html), | |
74 | which is true for Java 9 and later. | |
75 | ||
71 | 76 | |
72 | 77 | ## Developer Information |
73 | 78 |
0 | java-classpath-clojure (0.3.0-1) UNRELEASED; urgency=medium | |
1 | ||
2 | * New upstream release. | |
3 | ||
4 | -- Debian Janitor <janitor@jelmer.uk> Mon, 19 Aug 2019 05:12:09 +0000 | |
5 | ||
0 | 6 | java-classpath-clojure (0.2.3-1) unstable; urgency=medium |
1 | 7 | |
2 | 8 | * Initial release. (Closes: #855730) |
0 | 0 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
1 | 1 | <modelVersion>4.0.0</modelVersion> |
2 | 2 | <artifactId>java.classpath</artifactId> |
3 | <version>0.2.3</version> | |
4 | <name>${project.artifactId}</name> | |
3 | <version>0.3.0</version> | |
4 | <name>java.classpath</name> | |
5 | 5 | |
6 | 6 | <parent> |
7 | 7 | <groupId>org.clojure</groupId> |
8 | 8 | <artifactId>pom.contrib</artifactId> |
9 | <version>0.1.2</version> | |
9 | <version>0.2.2</version> | |
10 | 10 | </parent> |
11 | 11 | |
12 | 12 | <developers> |
19 | 19 | <connection>scm:git:git@github.com:clojure/java.classpath.git</connection> |
20 | 20 | <developerConnection>scm:git:git@github.com:clojure/java.classpath.git</developerConnection> |
21 | 21 | <url>git@github.com:clojure/java.classpath.git</url> |
22 | <tag>java.classpath-0.2.3</tag> | |
22 | <tag>java.classpath-0.3.0</tag> | |
23 | 23 | </scm> |
24 | 24 | </project> |
68 | 68 | (map io/as-file (get-urls loader))) |
69 | 69 | |
70 | 70 | (defn classpath |
71 | "Returns a sequence of File objects of the elements on the classpath." | |
71 | "Returns a sequence of File objects of the elements on the | |
72 | classpath. Defaults to searching for instances of | |
73 | java.net.URLClassLoader in the classloader hierarchy above | |
74 | clojure.lang.RT/baseLoader or the given classloader. If no | |
75 | URLClassloader can be found, as on Java 9, falls back to the | |
76 | 'java.class'path' system property." | |
72 | 77 | ([classloader] |
73 | 78 | (distinct |
74 | 79 | (mapcat |
76 | 81 | (take-while |
77 | 82 | identity |
78 | 83 | (iterate #(.getParent ^ClassLoader %) classloader))))) |
79 | ([] (classpath (clojure.lang.RT/baseLoader)))) | |
84 | ([] | |
85 | (or (seq (classpath (clojure.lang.RT/baseLoader))) | |
86 | (system-classpath)))) | |
80 | 87 | |
81 | 88 | (defn classpath-directories |
82 | 89 | "Returns a sequence of File objects for the directories on classpath." |