第谷:生成 proguard/obfuscated 特征
Tycho: generate proguard/obfuscated feature
我有一个可以工作的第谷版本:
- 为每个包构建一组包:
- 构建常规 bundle.jar
- build/attach 源 jar(使用 tycho-source-plugin)
- 构建混淆后的 jar(使用 proguard-maven-plugin (com.github.wvengen))
- 为每个功能构建许多功能:
- 构建常规 feature.jar
- 建立源码-feature.jar(使用tycho-extras:tycho-source-feature)
- 构建 p2 存储库(category.xml 引用功能和源功能)
- build/materialize 一个产品(产品文件引用了功能)
我还没有找到一种方法来创建使用混淆的 bundle-jars 的功能。
使用 tycho-source-feature-plugin 可以很容易地从 source-bundle.jars 创建相应的 source-features.jars。是否可以轻松创建使用混淆的 bundle.jars 的功能?
视觉解释:
我的工作区看起来像这样:
com.company.moduleA/
+ /target/com.company.moduleA-1.20.2.jar
+ /target/com.company.moduleA-1.20.2-obfuscated.jar
+ /target/com.company.moduleA-1.20.2-sources.jar
com.company.moduleB/
+ /target/com.company.moduleB-1.20.2.jar
+ /target/com.company.moduleB-1.20.2-obfuscated.jar
+ /target/com.company.moduleB-1.20.2-sources.jar
com.company.featureX/
+ target/com.company.featureX-1.20.2.jar
+ target/com.company.featureX-1.20.2-sources-feature.jar
我缺少的是生成此 jar 的方法:
+ target/com.company.featureX-1.20.2-obfuscated-feature.jar
编辑:
在分析我的问题时,我发现 *obfuscated.jars (插件)实际上已部署,但模块元数据 (p2artifacts.xml) 中列出的 未 与 *sources.jars 列在 p2artifacts.xml.
我认为这是 proguard-maven-plugin 或 order/phases 的问题,我配置了相应的 tycho-plugins。
欢迎任何提示。
经过多次不同的配置尝试后,我放弃了一次性构建混淆和非混淆插件、功能和产品的想法。
我没有找到任何人或任何项目这样做。
相反,我更改了我的 tycho/maven 配置,使用相同的工件 ID 和名称,但使用不同的部署存储库(即有一个 "obfuscated" 存储库和一个 "non-obfuscated" 存储库)。
切换是通过 Maven 配置文件和命令行标志完成的。
我有一个可以工作的第谷版本:
- 为每个包构建一组包:
- 构建常规 bundle.jar
- build/attach 源 jar(使用 tycho-source-plugin)
- 构建混淆后的 jar(使用 proguard-maven-plugin (com.github.wvengen))
- 为每个功能构建许多功能:
- 构建常规 feature.jar
- 建立源码-feature.jar(使用tycho-extras:tycho-source-feature)
- 构建 p2 存储库(category.xml 引用功能和源功能)
- build/materialize 一个产品(产品文件引用了功能)
我还没有找到一种方法来创建使用混淆的 bundle-jars 的功能。 使用 tycho-source-feature-plugin 可以很容易地从 source-bundle.jars 创建相应的 source-features.jars。是否可以轻松创建使用混淆的 bundle.jars 的功能?
视觉解释:
我的工作区看起来像这样:
com.company.moduleA/ + /target/com.company.moduleA-1.20.2.jar + /target/com.company.moduleA-1.20.2-obfuscated.jar + /target/com.company.moduleA-1.20.2-sources.jar com.company.moduleB/ + /target/com.company.moduleB-1.20.2.jar + /target/com.company.moduleB-1.20.2-obfuscated.jar + /target/com.company.moduleB-1.20.2-sources.jar com.company.featureX/ + target/com.company.featureX-1.20.2.jar + target/com.company.featureX-1.20.2-sources-feature.jar
我缺少的是生成此 jar 的方法:
+ target/com.company.featureX-1.20.2-obfuscated-feature.jar
编辑:
在分析我的问题时,我发现 *obfuscated.jars (插件)实际上已部署,但模块元数据 (p2artifacts.xml) 中列出的 未 与 *sources.jars 列在 p2artifacts.xml.
我认为这是 proguard-maven-plugin 或 order/phases 的问题,我配置了相应的 tycho-plugins。
欢迎任何提示。
经过多次不同的配置尝试后,我放弃了一次性构建混淆和非混淆插件、功能和产品的想法。 我没有找到任何人或任何项目这样做。
相反,我更改了我的 tycho/maven 配置,使用相同的工件 ID 和名称,但使用不同的部署存储库(即有一个 "obfuscated" 存储库和一个 "non-obfuscated" 存储库)。 切换是通过 Maven 配置文件和命令行标志完成的。