我有一个用于生成源文件的javax.annotation.processing.Processor。一切正常,但是我想在构建过程中将一些调试消息写到控制台。我可以使用注释Messeger类,但这不允许我进入Gradle日志记录。我想要通过Gradle日志记录选项控制输出,因此gradle -d ...写入调试消息,gradle -i ...信息消息等。 有什么办法可以从Java bean处理类中获取Gradle记录器? 我已经阅读了Gradle logging doco,并尝试使用SLF4J日志记录,但这只是将我的…

2020年10月23日 0条评论 18点热度 阅读全文

我有两个gradle项目(A,B)而且他们使用相同的注释处理器,问题在于A恰好具有它不需要的处理器的一部分。 有没有一种方法可以配置gradle,以便注释处理器在A与B之间的执行有所不同? 我不想制作两个注释处理器,因为它们只有一个很小的部分相同。 (想像2-3行代码) 解决方案如下: 我无法说出gradle,但是在Maven中,您可以通过以下方式传递编译时参数 <build> <plugins> <plugin> <groupId>org.apache.maven.…

2020年10月19日 0条评论 16点热度 阅读全文

我有一个带有compileJava任务的gradle脚本,我希望它提供两个不同的Jar任务,jar和jarForce。 jarForce任务应使用添加的-Awarns选项编译源,以便将注释处理器错误视为警告,并且jar任务应使用默认参数运行编译,以便在存在任何注释处理器错误时编译失败。我该如何实现? 解决方案如下: 请考虑以下内容,如果compileJava在任务图中,则会修改jarForce的选项: apply plugin: 'java' gradle.taskGraph.whenReady { taskGra…

2020年10月16日 0条评论 11点热度 阅读全文

我有一个Java项目,该项目使用注释处理器生成源代码,然后必须将其添加到编译类路径中并进行编译/打包。 该项目是由Gradle构建的,因此我想知道如何在后台调用这些注释处理器,以便: 首先处理注释,并在src/main/java下生成所需的源代码;然后 当Gradle进入编译阶段时,该源代码已经存在,可以像所有其他源代码一样进行编译 当我运行 gradle clean build时,不会生成代码,其他源代码(取决于那里生成的类)也无法编译。 我正在尝试了解需要做什么,以便Gradle运行必要的注释处理器并生成源代码…

2020年10月12日 0条评论 22点热度 阅读全文

我在一个使用android.os.Bundle的项目(我将其称为JavaLibrary)中创建了一个Java注释处理器。这样,该项目的gradle.build依赖项中包含以下行: compile 'com.google.android:android:4.1.1.4' 在gradle.build中, sourceCompatibility和 targetCompatibility都设置为1.6版,并且该项目可以自行编译。 我还创建了一个依赖JavaLibrary的Android Library项目(我将其称为And…

2020年9月14日 0条评论 19点热度 阅读全文

升级到gradle 4.7之后,以前没有警告的版本现在发出以下警告: The following annotation processors were detected on the compile classpath: 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor' and 'lombok.launch.AnnotationProcessorHider$ClaimingProcessor'. Detecting annotation pro…

2020年9月13日 0条评论 18点热度 阅读全文

我编写了用于注释处理的小型库。使用Gradle将其编译为jar文件,然后添加到android项目中。在build.gradle应用程序lvl中我添加了: dependencies { //... compile files('/Users/I/Documents/Projects/my/test2/build/libs/codelib-0.3.jar') } 和 android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCo…

2020年8月13日 0条评论 15点热度 阅读全文

我有一个带有2个模块的Maven项目。其中一个模块包含注释处理器。当我尝试将项目导入为android项目的依赖项时,它将不会运行注释处理器。找不到生成的类文件。 implementation 'com.github.OmerUygurOzer.jet:jetcore:v1.0.9' annotationProcessor'com.github.OmerUygurOzer.jet:jetprocessor:v1.0.9' 我从jitpack导入如上所示的项目。在jitpack上构建成功,并且我也可以在本地访问代码,这…

2020年7月21日 0条评论 42点热度 阅读全文

我制作的每个注释处理器似乎都存在此问题。例如,@Constant批注: package annotations; @Retention(RetentionPolicy.SOURCE) @Target(ElementType.FIELD) public @interface Constant { } 处理器: package processor; @SupportedAnnotationTypes("annotations.Constant") @SupportedSourceVersion(SourceVersio…

2020年7月19日 0条评论 9点热度 阅读全文

我开始了一个小的概念证明练习,以使用现有的基于Gradle的Java项目来使Toothpick DI framework成为现实。我已经读过很多关于可以在Java中使用Toothpick的主张(意味着JRE,OpenJDK,JDK或JSE-没有Android)...但是,我能够检查/处理的每​​个示例在某个时候都有一个对Android的依赖(形状或configuration)。 到目前为止,最大(部分)成功的尝试是使用一个实验性的,废弃的Android模拟程序包,以使我的Java项目至少可以正确编译。也就是说,在解…

2020年6月6日 0条评论 38点热度 阅读全文