diff options
Diffstat (limited to 'plugins/proguard/Proguard.scala')
-rw-r--r-- | plugins/proguard/Proguard.scala | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/proguard/Proguard.scala b/plugins/proguard/Proguard.scala new file mode 100644 index 0000000..486d969 --- /dev/null +++ b/plugins/proguard/Proguard.scala @@ -0,0 +1,32 @@ +package cbt + +trait ProGuard extends BaseBuild { + def proguard: () => ClassPath + def ProGuard(keep: (Seq[cbt.proguard.KeepOptionModifier], String)) = { + cbt.ProGuard(context).proguard( + outjars = Some( Seq(scalaTarget / "proguarded.jar") ), + injars = Some( classpath.files ), + libraryjars = Some( ClassPath( cbt.proguard.ProGuard.`rt.jar` ).files ), + keep = Some( keep ) + ) + } +} + +object ProGuard { + def apply( implicit context: Context ) = { + import context._ + val lib = new Lib(context.logger) + import cbt.proguard.ProGuard._ + cbt.proguard.ProGuard( + (args: Seq[String]) => MavenResolver( + cbtLastModified, context.paths.mavenCache, mavenCentral + )( + context.logger, transientCache, context.classLoaderCache + ).bindOne( + MavenDependency(groupId, artifactId, version) + ).runMain(cbt.proguard.ProGuard.mainClass, args: _*).integer, + ClassPath(_), + context.logger.log("proguard",_) + ) + } +} |