diff --git a/src/main/scala/coursier/ShadingPlugin.scala b/src/main/scala/coursier/ShadingPlugin.scala index 6000e3a..7e64a3f 100644 --- a/src/main/scala/coursier/ShadingPlugin.scala +++ b/src/main/scala/coursier/ShadingPlugin.scala @@ -4,8 +4,8 @@ import java.io.File import java.nio.charset.StandardCharsets import java.nio.file.Files import java.util.zip.ZipFile - import com.eed3si9n.jarjar.Rule +import com.eed3si9n.jarjar.misplaced.MisplacedClassProcessorFactory import com.eed3si9n.jarjar.util.CoursierJarProcessor import sbt._ import sbt.Keys._ @@ -215,9 +215,8 @@ object ShadingPlugin extends AutoPlugin { val dest = orig.getParentFile / s"${orig.getName.stripSuffix(".jar")}-shading.jar" if (!dest.exists() || dest.lastModified() < orig.lastModified()) { import com.eed3si9n.jarjar.JJProcessor - import com.eed3si9n.jarjar.util.StandaloneJarProcessor - val processor = JJProcessor(rules, verbose, false) - CoursierJarProcessor.run((orig +: shadedJars0).toArray, dest, processor.proc, true) + val processor = new JJProcessor(rules, verbose, false, MisplacedClassProcessorFactory.Strategy.FATAL.toString) + CoursierJarProcessor.run((orig +: shadedJars0).toArray, dest, processor, true) } def isValid(entry: String): Boolean = validEntries.contains(entry) || diff --git a/src/main/scala/org/pantsbuild/jarjar/JJProcessor.scala b/src/main/scala/org/pantsbuild/jarjar/JJProcessor.scala deleted file mode 100644 index b856e19..0000000 --- a/src/main/scala/org/pantsbuild/jarjar/JJProcessor.scala +++ /dev/null @@ -1,33 +0,0 @@ -package com.eed3si9n.jarjar - -// from https://github.com/sbt/sbt-assembly/blob/17786404117889e5a8225c97b9b7639160fb91e8/src/main/scala/org/pantsbuild/jarjar/JJProcessor.scala - -import com.eed3si9n.jarjar.util.{EntryStruct, JarProcessor} - -import scala.collection.JavaConverters._ - -class JJProcessor(val proc: JarProcessor) { - - def process(entry: EntryStruct): Boolean = proc.process(entry) - - def getExcludes(): Set[String] = { - val field = proc.getClass().getDeclaredField("kp") - field.setAccessible(true) - val keepProcessor = field.get(proc) - - if (keepProcessor == null) Set() - else { - val method = proc.getClass().getDeclaredMethod("getExcludes") - method.setAccessible(true) - method.invoke(proc).asInstanceOf[java.util.Set[String]].asScala.toSet - } - } - -} - -object JJProcessor { - - def apply(patterns: Seq[PatternElement], verbose: Boolean, skipManifest: Boolean): JJProcessor = - new JJProcessor(new MainProcessor(patterns.asJava, verbose, skipManifest)) - -}