proguard 作为 ant 任务

发布于 2024-12-15 17:29:58 字数 222 浏览 0 评论 0原文

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

  1. 预定义常量可以在任务声明中扩展为 吗?
  2. 如何在 proguard 中重用类路径定义?我想要实现的目标不是指定整套所需的库。它们相当多,并且已经包含在具有特定 id 的 ant 类路径中。

多谢。

马丁

I actually have two related questions:

  1. Can predefined constants be expanded in the task declarations as <injar file="${build}/myjar.jar" />?
  2. How can I reuse the classpath definition in proguard? What I am trying to achieve is not to specify the whole set of required libraries. They are quite a lot and they are already included in ant's classpath with specific id.

Thanks a lot.

Martin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

往日情怀 2024-12-22 17:29:58

当然你可以使用 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>

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

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

Of course you can use Ant variables. However from my point of view it is easier to write all command-line options into the body of the proguard task:

<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>

For converting a defined Class path to a string that can be included into the proguard definition you can use the Ant task PathConvert. The first example on the linked page should be what you need.

Update: How to get the quotes around the path entries has been answered here: How to properly quote a path in an ant task?

原野 2024-12-22 17:29:58

回答你的第一个问题,是的。像构建文件中那样扩展变量是 Ant 的一个功能。它将适用于您使用的任何任务。

To answer your first question, yes. Expansion of variables like that in a build file is a feature of Ant. It will work with any tasks you use.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文