首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让批注处理器根据gradle标志忽略文件

让批注处理器根据gradle标志忽略文件
EN

Stack Overflow用户
提问于 2019-06-10 00:06:18
回答 1查看 228关注 0票数 0

我有两个gradle项目(A,B),它们使用相同的批注处理器,问题是A恰好有它不需要的处理器的一个部分。

有没有办法配置gradle,让批注处理器在A和B上执行不同的操作?

我不想做两个注释处理器,因为它们除了一个很小的部分之外都是相同的。(想像2-3行代码)

EN

回答 1

Stack Overflow用户

发布于 2019-12-18 22:05:33

我不能说gradle,但在maven中,您可以通过以下方式传递编译时参数

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <generatedSourcesDirectory>${project.build.directory}/generated-sources/</generatedSourcesDirectory>
                <annotationProcessors>
                    <annotationProcessor>org.rapster.xxx.xxx.xxComponentProcessor</annotationProcessor>
                </annotationProcessors>
                <compilerArgs>
                   <arg>-Awidget=something</arg>
                </compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

这个编译时参数可以通过processor的init函数中的以下代码片段在批注处理器中读取

代码语言:javascript
复制
this.widget = processingEnv.getOptions().get("widget");

您可以使用此属性执行某些条件操作。

我相信通过gradle也可以做到这一点

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56516202

复制
相关文章

相似问题

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