Run of fresh-releases for java-classpath-clojure

Try this locally (using silver-platter):

debian-svp new-upstream java-classpath-clojure 

Merge these changes:

Summary

Merged new upstream version: 0.3.0 (was: 0.2.3).

Diff

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..375901d
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+epl.html linguist-documentation
diff --git a/.gitignore b/.gitignore
index eb5a316..5818281 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 target
+.cpcache/
diff --git a/CHANGES.md b/CHANGES.md
index 437a93c..8959ea7 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,9 +1,26 @@
 # java.classpath Change Log
 
+## 0.3.x series
 
-## 0.2.x series
+### Release [0.3.0] on 2018-May-06
+
+* Fix [CLASSPATH-8]: empty classpath returned on Java 9.
+
+Starting with Java 9, the default class loader is no longer an
+instance of URLClassLoader, so `classpath` returned an empty sequence.
+The strategy of using URLClassLoader started with release [0.2.0] to
+accommodate Java application containers (see [CLASSPATH-1] and
+[CLASSPATH-2]). After this change, application containers based on
+URLClassLoader should still work as expected.
 
-Latest development version is 0.2.4-SNAPSHOT, current Git `master` branch
+On Java 9 without an application container, it appears that the
+`java.class.path` system property is the only way to get the
+classpath. While this is essentially a bugfix for Java 9
+compatibility, it is a change in behavior, hence the version change
+from 0.2 to 0.3.
+
+
+## 0.2.x series
 
 ### Release [0.2.3] on 2015-Nov-06
 
@@ -42,6 +59,7 @@ Latest development version is 0.2.4-SNAPSHOT, current Git `master` branch
 
 
 
+[CLASSPATH-8]: http://dev.clojure.org/jira/browse/CLASSPATH-8
 [CLASSPATH-7]: http://dev.clojure.org/jira/browse/CLASSPATH-7
 [CLASSPATH-6]: http://dev.clojure.org/jira/browse/CLASSPATH-6
 [CLASSPATH-5]: http://dev.clojure.org/jira/browse/CLASSPATH-5
@@ -50,6 +68,7 @@ Latest development version is 0.2.4-SNAPSHOT, current Git `master` branch
 [CLASSPATH-2]: http://dev.clojure.org/jira/browse/CLASSPATH-2
 [CLASSPATH-1]: http://dev.clojure.org/jira/browse/CLASSPATH-1
 
+[0.3.0]: https://github.com/clojure/java.classpath/tree/java.classpath-0.3.0
 [0.2.3]: https://github.com/clojure/java.classpath/tree/java.classpath-0.2.3
 [0.2.2]: https://github.com/clojure/java.classpath/tree/java.classpath-0.2.2
 [0.2.1]: https://github.com/clojure/java.classpath/tree/java.classpath-0.2.1
diff --git a/README.md b/README.md
index 3a303f7..0951b90 100644
--- a/README.md
+++ b/README.md
@@ -5,23 +5,23 @@ Examine the Java classpath from Clojure programs.
 
 ## Releases and Dependency Information
 
-Latest stable release is 0.2.3
+Latest stable release is 0.3.0
 
 [Leiningen] dependency information:
 
-    [org.clojure/java.classpath "0.2.3"]
+    [org.clojure/java.classpath "0.3.0"]
 
 [Maven] dependency information:
 
     <dependency>
       <groupId>org.clojure</groupId>
       <artifactId>java.classpath</artifactId>
-      <version>0.2.3</version>
+      <version>0.3.0</version>
     </dependency>
 
 [Gradle] dependency information:
 
-    compile "org.clojure:java.classpath:0.2.3"
+    compile "org.clojure:java.classpath:0.3.0"
 
 [Leiningen]: http://leiningen.org/
 [Maven]: http://maven.apache.org/
@@ -69,6 +69,11 @@ implementation, such as a Java application server, you can extend the
 protocol `URLClasspath` to support it. Refer to the source for
 details.
 
+**Starting with version 0.3.0**, the `classpath` function will fall
+back to the `java.class.path` system property if the parent
+ClassLoader is not an instance of [URLClassLoader](https://docs.oracle.com/javase/9/docs/api/java/net/URLClassLoader.html),
+which is true for Java 9 and later.
+
 
 ## Developer Information
 
diff --git a/debian/changelog b/debian/changelog
index 36d683f..02ce299 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+java-classpath-clojure (0.3.0-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Mon, 19 Aug 2019 05:12:09 +0000
+
 java-classpath-clojure (0.2.3-1) unstable; urgency=medium
 
   * Initial release. (Closes: #855730)
diff --git a/deps.edn b/deps.edn
new file mode 100644
index 0000000..3ffcee7
--- /dev/null
+++ b/deps.edn
@@ -0,0 +1 @@
+{:paths ["src/main/clojure"]}
diff --git a/pom.xml b/pom.xml
index 32ac3df..52fd1e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,13 @@
 <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">
   <modelVersion>4.0.0</modelVersion>
   <artifactId>java.classpath</artifactId>
-  <version>0.2.3</version>
-  <name>${project.artifactId}</name>
+  <version>0.3.0</version>
+  <name>java.classpath</name>
 
   <parent>
     <groupId>org.clojure</groupId>
     <artifactId>pom.contrib</artifactId>
-    <version>0.1.2</version>
+    <version>0.2.2</version>
   </parent>
 
   <developers>
@@ -20,6 +20,6 @@
     <connection>scm:git:git@github.com:clojure/java.classpath.git</connection>
     <developerConnection>scm:git:git@github.com:clojure/java.classpath.git</developerConnection>
     <url>git@github.com:clojure/java.classpath.git</url>
-    <tag>java.classpath-0.2.3</tag>
+    <tag>java.classpath-0.3.0</tag>
   </scm>
 </project>
diff --git a/src/main/clojure/clojure/java/classpath.clj b/src/main/clojure/clojure/java/classpath.clj
index adcf2de..67a9bd5 100644
--- a/src/main/clojure/clojure/java/classpath.clj
+++ b/src/main/clojure/clojure/java/classpath.clj
@@ -69,7 +69,12 @@
   (map io/as-file (get-urls loader)))
 
 (defn classpath
-  "Returns a sequence of File objects of the elements on the classpath."
+  "Returns a sequence of File objects of the elements on the
+  classpath. Defaults to searching for instances of
+  java.net.URLClassLoader in the classloader hierarchy above
+  clojure.lang.RT/baseLoader or the given classloader. If no
+  URLClassloader can be found, as on Java 9, falls back to the
+  'java.class'path' system property."
   ([classloader]
      (distinct
       (mapcat
@@ -77,7 +82,9 @@
        (take-while
         identity
         (iterate #(.getParent ^ClassLoader %) classloader)))))
-  ([] (classpath (clojure.lang.RT/baseLoader))))
+  ([]
+   (or (seq (classpath (clojure.lang.RT/baseLoader)))
+       (system-classpath))))
 
 (defn classpath-directories
   "Returns a sequence of File objects for the directories on classpath."

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/share/java/java.classpath-0.3.0.jar
-rw-r--r--  root/root   /usr/share/maven-repo/org/clojure/java.classpath/0.3.0/java.classpath-0.3.0.pom
lrwxrwxrwx  root/root   /usr/share/java/java.classpath.jar -> java.classpath-0.3.0.jar

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/share/java/java.classpath-0.2.3.jar
-rw-r--r--  root/root   /usr/share/maven-repo/org/clojure/java.classpath/0.2.3/java.classpath-0.2.3.pom
lrwxrwxrwx  root/root   /usr/share/java/java.classpath.jar -> java.classpath-0.2.3.jar

No differences were encountered in the control files

Full worker log Full build log