作为蚂蚁任务的进步

Mar*_*rov 3 java ant proguard

我实际上有两个相关的问题:

  1. 可以在任务声明中扩展预定义的常量<injar file="${build}/myjar.jar" />吗?
  2. 如何在proguard中重用类路径定义?我想要实现的是不指定整套必需的库.它们非常多,并且已经包含在具有特定id的ant的类路径中.

非常感谢.

马丁

Rob*_*ert 5

当然你可以使用Ant变量.但是从我的角度来看,将所有命令行选项编写到proguard任务的主体中更容易:

<taskdef resource="proguard/ant/task.properties" classpath="lib/proguard.jar" />
<proguard>
    -libraryjars "${java.home}/lib/rt.jar"
    -injars     "${jar.name}"
    -outjars    build/temp.jar
    -keep class test.Main { public static void main(java.lang.String[]); }
    -dontwarn
    -dontoptimize 
    -dontobfuscate
</proguard>
Run Code Online (Sandbox Code Playgroud)

要将已定义的类路径转换为可包含在proguard定义中的字符串,可以使用Ant任务PathConvert.链接页面上的第一个示例应该是您需要的.

更新:如何获取路径条目周围的引号已在这里得到解答:如何正确引用ant任务中的路径?