diff --git a/src/it/simple/pom.xml b/src/it/simple/pom.xml
index 9af386b9..1f780280 100644
--- a/src/it/simple/pom.xml
+++ b/src/it/simple/pom.xml
@@ -14,14 +14,10 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.1
-
- 1.6
- 1.6
-
- -Xlint
-
-
+ 3.8.0
+
+ 11
+
com.github.wvengen
@@ -39,6 +35,14 @@
true
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.14.1
+ runtime
+
+
diff --git a/src/it/simple/proguard.conf b/src/it/simple/proguard.conf
index 274650f0..bdd94f3b 100644
--- a/src/it/simple/proguard.conf
+++ b/src/it/simple/proguard.conf
@@ -1,5 +1,3 @@
--libraryjars /lib/rt.jar
-
-dontnote
-dontwarn
diff --git a/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java b/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java
index 02e74dac..3ebfcae1 100644
--- a/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java
+++ b/src/main/java/com/github/wvengen/maven/proguard/ProGuardMojo.java
@@ -866,6 +866,27 @@ private void attachTextFile(File theFile, String mainClassifier, String suffix)
}
}
+
+ private Set getAllPluginArtifactDependencies(ProGuardMojo mojo) throws MojoExecutionException {
+ Set files = new HashSet<>(getProguardJars(mojo));
+ for (Artifact artifact : mojo.pluginArtifacts) {
+ files.add(artifact.getFile().getAbsoluteFile());
+ files.addAll(getChildArtifacts(artifact));
+ }
+
+ return files;
+ }
+
+ private Set getChildArtifacts(Artifact artifact) {
+ Set files = new HashSet<>();
+ for (Object child : artifact.getDependencyTrail()) {
+ if (child instanceof Artifact) {
+ files.add(((Artifact) child).getFile().getAbsoluteFile());
+ files.addAll(getChildArtifacts((Artifact) child));
+ }
+ }
+ return files;
+ }
private List getProguardJars(ProGuardMojo mojo) throws MojoExecutionException {
@@ -984,8 +1005,10 @@ private void proguardMain(Collection proguardJars, List argsList,
java.setTaskName("proguard");
mojo.getLog().info("proguard jar: " + proguardJars);
+
+ Set allDependencyFiles = getAllPluginArtifactDependencies(mojo);
- for (File p : proguardJars)
+ for (File p : allDependencyFiles)
java.createClasspath().createPathElement().setLocation(p);
// java.createClasspath().setPath(System.getProperty("java.class.path"));
java.setClassname(mojo.proguardMainClass);