首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android-maven-plugin:绑定到后期阶段

android-maven-plugin:绑定到后期阶段
EN

Stack Overflow用户
提问于 2015-03-03 22:10:27
回答 1查看 265关注 0票数 1

在我的maven构建中,我希望执行proguard目标在测试之后,以便更快地获得测试结果。因此,我试图将其绑定到prepare-package阶段。然而,我的配置波纹管没有任何影响。保护目标仍然在process-classes阶段(默认保护)中执行。我遗漏了什么?

代码语言:javascript
复制
<plugin>
    <groupId>com.simpligility.maven.plugins</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>4.1.0</version>
    <executions>
        <execution>
            <id>progurad-after-test</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>proguard</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <!-- ... -->
        <proguard>
            <skip>false</skip>
        </proguard>
    </configuration>
</plugin>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-06 18:46:06

旧的答案:

您不能更改阶段进程保护运行。但通常情况下,您可以隔离到配置文件中,只在需要时运行,而不是在每次构建时运行。典型的用例是只为发行版运行的发布配置文件。您还可以将其作为QA配置文件的一部分,并将其用于开发构建,这些构建需要在开发过程中超出正常使用范围进行验证。

经过一些思考后更新:

通过配置两次执行,您可以将proguard执行更改为不同的阶段。其中一个用于process-sources阶段,这是在Android插件中配置的,将被跳过。然后,将第二次执行配置为期望的阶段,跳过设置为false。

代码语言:javascript
复制
<plugin>
    <groupId>com.simpligility.maven.plugins</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>4.1.0</version>
    <executions>
        <execution>
            <!-- Skip proguard in the default phase (process-classes)... -->
            <id>override-default</id>
            <configuration>
                <proguard>
                    <skip>true</skip>
                </proguard>
            </configuration>
        </execution>
        <execution>
            <!-- But execute proguard after running the tests
                 Bind to test phase so proguard runs before dexing (prepare package phase)-->
            <id>progurad-after-test</id>
            <phase>test</phase>
            <goals>
                <goal>proguard</goal>
            </goals>
            <configuration>
                <proguard>
                    <skip>false</skip>
                </proguard>
            </configuration>
        </execution>
    </executions>
    <configuration>
        <!-- Other configuration goes here. -->
    </configuration>
</plugin>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28842942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档