Skip to content

Commit 60d1340

Browse files
committed
Provide a parent classloader for testing and containers.
1 parent 9835d8a commit 60d1340

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

codegen/src/main/java/com/github/mustachejava/codegen/GuardCompiler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,13 @@ private static Guard compile(String source, Iterable<CompilableGuard> guards) th
8585
return (Guard) aClass.getConstructor(Object[].class).newInstance((Object) cargs.toArray(new Object[cargs.size()]));
8686
}
8787

88-
private static final DefiningClassLoader cl = new DefiningClassLoader();
88+
private static final DefiningClassLoader cl = new DefiningClassLoader(Thread.currentThread().getContextClassLoader());
8989

9090
private static class DefiningClassLoader extends ClassLoader {
91+
public DefiningClassLoader(ClassLoader parent) {
92+
super(parent);
93+
}
94+
9195
public Class<?> defineClass(final String name, final byte[] b) {
9296
return defineClass(name, b, 0, b.length);
9397
}

compiler/src/test/java/com/github/mustachejava/util/HtmlWriterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public void pragma() throws IOException {
149149

150150
@Test
151151
public void twitter() throws IOException {
152-
BufferedReader reader = new BufferedReader(new InputStreamReader(ClassLoader.getSystemClassLoader().getResourceAsStream("twitter.html"), "UTF-8"));
152+
BufferedReader reader = new BufferedReader(new InputStreamReader(HtmlWriterTest.class.getResourceAsStream("/twitter.html"), "UTF-8"));
153153
char[] chars = new char[32768];
154154
int read;
155155
while ((read = reader.read(chars, 0, chars.length)) != -1) {

indy/src/main/java/com/github/mustachejava/indy/IndyWrapper.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,13 @@ public static String encodeClassName(String pkgName, String name) {
124124
String uuid = UUID.randomUUID().toString().replace("-", "_");
125125
return pkgName + "." + name + "_" + uuid;
126126
}
127-
private static final IndyClassLoader indyCL = new IndyClassLoader();
127+
private static final IndyClassLoader indyCL = new IndyClassLoader(Thread.currentThread().getContextClassLoader());
128128
private static class IndyClassLoader extends ClassLoader {
129+
130+
public IndyClassLoader(ClassLoader parent) {
131+
super(parent);
132+
}
133+
129134
public Class<?> defineClass(final String name, final byte[] b) {
130135
return defineClass(name, b, 0, b.length);
131136
}

0 commit comments

Comments
 (0)