diff -Nru shimdandy-1.2.0/api/pom.xml shimdandy-1.2.1/api/pom.xml
--- shimdandy-1.2.0/api/pom.xml 2015-10-23 17:48:27.000000000 +0000
+++ shimdandy-1.2.1/api/pom.xml 2018-05-07 00:27:49.000000000 +0000
@@ -4,11 +4,11 @@
org.projectodd.shimdandy
shimdandy-parent
- 1.2.0
+ 1.2.1
org.projectodd.shimdandy
shimdandy-api
- 1.2.0
+ 1.2.1
shimdandy-api
shimdandy API
diff -Nru shimdandy-1.2.0/CHANGELOG.md shimdandy-1.2.1/CHANGELOG.md
--- shimdandy-1.2.0/CHANGELOG.md 1970-01-01 00:00:00.000000000 +0000
+++ shimdandy-1.2.1/CHANGELOG.md 2018-05-07 00:27:49.000000000 +0000
@@ -0,0 +1,13 @@
+## 1.2.1
+
+* Don't throw an NPE when Clojure isn't on the classloader's effective
+ classpath
+
+## 1.2.0 (2015-10-23)
+
+* Add `close()` that shuts down the agent pool
+* Clear `Var.dvals` at the top of the call stack
+
+## 1.1.0 (2015-01-09)
+
+* Pre-history
diff -Nru shimdandy-1.2.0/debian/changelog shimdandy-1.2.1/debian/changelog
--- shimdandy-1.2.0/debian/changelog 2019-03-19 13:42:47.000000000 +0000
+++ shimdandy-1.2.1/debian/changelog 2019-07-17 18:32:03.000000000 +0000
@@ -1,3 +1,9 @@
+shimdandy (1.2.1-1) unstable; urgency=medium
+
+ * New upstream version
+
+ -- Tom Marble Wed, 17 Jul 2019 13:32:03 -0500
+
shimdandy (1.2.0-3) unstable; urgency=medium
* Build with Clojure 1.10 (Closes: #924495)
diff -Nru shimdandy-1.2.0/debian/control shimdandy-1.2.1/debian/control
--- shimdandy-1.2.0/debian/control 2018-02-19 20:38:09.000000000 +0000
+++ shimdandy-1.2.1/debian/control 2019-07-17 18:32:03.000000000 +0000
@@ -5,8 +5,8 @@
Uploaders: Tom Marble
Build-Depends: debhelper (>= 11), default-jdk, maven-debian-helper (>= 2.1), libclojure-java (>= 1.9~)
Standards-Version: 4.1.3
-Vcs-Git: https://anonscm.debian.org/git/pkg-java/shimdandy.git
-Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/shimdandy.git
+Vcs-Git: https://salsa.debian.org/java-team/shimdandy
+Vcs-Browser: https://salsa.debian.org/java-team/shimdandy
Homepage: https://github.com/projectodd/shimdandy
Package: libshimdandy-java
diff -Nru shimdandy-1.2.0/debian/patches/exclude-parent-pom.patch shimdandy-1.2.1/debian/patches/exclude-parent-pom.patch
--- shimdandy-1.2.0/debian/patches/exclude-parent-pom.patch 2017-08-14 14:33:51.000000000 +0000
+++ shimdandy-1.2.1/debian/patches/exclude-parent-pom.patch 2019-07-17 18:32:03.000000000 +0000
@@ -1,7 +1,7 @@
Index: shimdandy/api/pom.xml
===================================================================
---- shimdandy.orig/api/pom.xml 2017-08-11 13:15:02.222056043 -0500
-+++ shimdandy/api/pom.xml 2017-08-11 13:35:43.564909406 -0500
+--- shimdandy.orig/api/pom.xml 2019-07-17 14:59:39.054787058 -0500
++++ shimdandy/api/pom.xml 2019-07-17 15:05:00.545645602 -0500
@@ -1,11 +1,6 @@
@@ -9,15 +9,15 @@
-
- org.projectodd.shimdandy
- shimdandy-parent
-- 1.2.0
+- 1.2.1
-
org.projectodd.shimdandy
shimdandy-api
- 1.2.0
+ 1.2.1
Index: shimdandy/impl/pom.xml
===================================================================
---- shimdandy.orig/impl/pom.xml 2017-08-11 13:15:02.222056043 -0500
-+++ shimdandy/impl/pom.xml 2017-08-11 13:35:59.044943526 -0500
+--- shimdandy.orig/impl/pom.xml 2019-07-17 14:59:39.054787058 -0500
++++ shimdandy/impl/pom.xml 2019-07-17 15:05:01.021649335 -0500
@@ -1,11 +1,6 @@
@@ -25,8 +25,8 @@
-
- org.projectodd.shimdandy
- shimdandy-parent
-- 1.2.0
+- 1.2.1
-
org.projectodd.shimdandy
shimdandy-impl
- 1.2.0
+ 1.2.1
diff -Nru shimdandy-1.2.0/debian/patches/parent-pom.patch shimdandy-1.2.1/debian/patches/parent-pom.patch
--- shimdandy-1.2.0/debian/patches/parent-pom.patch 1970-01-01 00:00:00.000000000 +0000
+++ shimdandy-1.2.1/debian/patches/parent-pom.patch 2019-07-17 18:32:03.000000000 +0000
@@ -0,0 +1,48 @@
+updates clojure version to 1.10.x, removes unused staging deps
+Index: shimdandy/pom.xml
+===================================================================
+--- shimdandy.orig/pom.xml 2019-07-17 14:44:22.026133989 -0500
++++ shimdandy/pom.xml 2019-07-21 09:30:59.060638254 -0500
+@@ -41,7 +41,7 @@
+
+
+ UTF-8
+- 1.7.0-alpha4
++ 1.10.x
+
+
+
+@@ -59,33 +59,4 @@
+ impl
+
+
+-
+-
+-
+- org.sonatype.plugins
+- nexus-staging-maven-plugin
+- 1.6.3
+- true
+-
+- sonatype-nexus-staging
+- https://oss.sonatype.org/
+- true
+-
+-
+-
+-
+-
+-
+-
+- sonatype-nexus-staging
+- Nexus Staging Repo
+- https://oss.sonatype.org/service/local/staging/deploy/maven2/
+-
+-
+- sonatype-nexus-snapshots
+- Nexus Snapshot Repo
+- https://oss.sonatype.org/content/repositories/snapshots/
+-
+-
+-
+
diff -Nru shimdandy-1.2.0/debian/patches/series shimdandy-1.2.1/debian/patches/series
--- shimdandy-1.2.0/debian/patches/series 2017-08-14 14:33:51.000000000 +0000
+++ shimdandy-1.2.1/debian/patches/series 2019-07-17 18:32:03.000000000 +0000
@@ -1 +1,2 @@
exclude-parent-pom.patch
+parent-pom.patch
diff -Nru shimdandy-1.2.0/impl/pom.xml shimdandy-1.2.1/impl/pom.xml
--- shimdandy-1.2.0/impl/pom.xml 2015-10-23 17:48:27.000000000 +0000
+++ shimdandy-1.2.1/impl/pom.xml 2018-05-07 00:27:49.000000000 +0000
@@ -4,11 +4,11 @@
org.projectodd.shimdandy
shimdandy-parent
- 1.2.0
+ 1.2.1
org.projectodd.shimdandy
shimdandy-impl
- 1.2.0
+ 1.2.1
shimdandy-impl
shimdandy Implementation
diff -Nru shimdandy-1.2.0/impl/src/main/java/org/projectodd/shimdandy/impl/ClojureRuntimeShimImpl.java shimdandy-1.2.1/impl/src/main/java/org/projectodd/shimdandy/impl/ClojureRuntimeShimImpl.java
--- shimdandy-1.2.0/impl/src/main/java/org/projectodd/shimdandy/impl/ClojureRuntimeShimImpl.java 2015-10-23 17:48:27.000000000 +0000
+++ shimdandy-1.2.1/impl/src/main/java/org/projectodd/shimdandy/impl/ClojureRuntimeShimImpl.java 2018-05-07 00:27:49.000000000 +0000
@@ -14,7 +14,6 @@
public class ClojureRuntimeShimImpl extends ClojureRuntimeShim {
public void init() {
ClassLoader origLoader = preInvoke();
- Exception ex = null;
try {
Field dvalField = Var.class.getDeclaredField("dvals");
dvalField.setAccessible(true);
@@ -23,17 +22,11 @@
this.require = RT.var("clojure.core", "require");
this.resolve = RT.var("clojure.core", "resolve");
clojure.lang.Compiler.LOADER.bindRoot(this.classLoader);
- } catch (IllegalAccessException e) {
- ex = e;
- } catch (NoSuchFieldException e) {
- ex = e;
+ } catch (Exception e) {
+ throw new RuntimeException("Failed to initialize ClojureRuntimeShimImpl", e);
} finally {
postInvoke(origLoader);
}
-
- if (ex != null) {
- throw new RuntimeException("Failed to access Var.dvals", ex);
- }
}
protected ClassLoader preInvoke() {
@@ -46,7 +39,9 @@
protected void postInvoke(ClassLoader loader) {
if (this.callDepth.get().decrementAndGet() == 0) {
- this.dvals.remove();
+ if (this.dvals != null) {
+ this.dvals.remove();
+ }
this.callDepth.remove();
}
Thread.currentThread().setContextClassLoader(loader);
diff -Nru shimdandy-1.2.0/pom.xml shimdandy-1.2.1/pom.xml
--- shimdandy-1.2.0/pom.xml 2015-10-23 17:48:27.000000000 +0000
+++ shimdandy-1.2.1/pom.xml 2018-05-07 00:27:49.000000000 +0000
@@ -4,7 +4,7 @@
org.projectodd.shimdandy
shimdandy-parent
- 1.2.0
+ 1.2.1
pom
Shimdandy parent POM
@@ -59,17 +59,33 @@
impl
-
-
- sonatype-nexus-staging
- Nexus Staging Repo
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
-
- sonatype-nexus-snapshots
- Nexus Snapshot Repo
- https://oss.sonatype.org/content/repositories/snapshots/
-
-
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.3
+ true
+
+ sonatype-nexus-staging
+ https://oss.sonatype.org/
+ true
+
+
+
+
+
+
+
+ sonatype-nexus-staging
+ Nexus Staging Repo
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+ sonatype-nexus-snapshots
+ Nexus Snapshot Repo
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+
diff -Nru shimdandy-1.2.0/README.md shimdandy-1.2.1/README.md
--- shimdandy-1.2.0/README.md 2015-10-23 17:48:27.000000000 +0000
+++ shimdandy-1.2.1/README.md 2018-05-07 00:27:49.000000000 +0000
@@ -12,8 +12,8 @@
## Usage
The project provides two artifacts: `shimdandy-api.jar` and
-`shimdandy-impl.jar`. `shimdandy-api` can be on the boot classpath of
-your app, but `shimdandy-impl` should not be on the boot classpath or
+`shimdandy-impl.jar`. `shimdandy-api` can be on the classpath of
+your app, but `shimdandy-impl` should not be on the classpath or
exposed to any ClassLoader initially. Nor should any Clojure jars -
having a Clojure jar on the classpath will cause the RT from that jar
(and only that RT) to be loaded, preventing isolation.