本文介绍了如何触发摇篮最小任务运行apt插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

我创建一个编译时的注解处理器生成Android上的一些code。

要触发我用从hvisser的

目前,对每一个变化我对我的处理器做继承AbstractProcessor ​​我要运行一个完整的 /。gradlew干净构建看到的结果,这是一个缓慢的过程还挺,即使是一个微小的样本项目。

所以我的问题,没有任何的 gradlew任务我可以用它来触发标注处理?

从我目前的输出./ gradlew任务是:

  -------------------------------------- ----------------------
所有任务从根项目可运行
-------------------------------------------------- ----------Android的任务
-------------
androidDependencies - 显示该项目的Andr​​oid的依赖。
signingReport - 显示每个变量的签约信息。建设任务
-----------
组装 - 汇编这个项目的产出。
assembleAndroidTest - 汇编所有的测试应用。
assembleDebug - 汇编所有调试版本。
assembleDebugAndroidTest - 组装机器人(器件),测试调试版本。
assembleRelease - 汇编所有发布版本。
建设 - 组装和试验项目。
buildDependents - 组装和试验这个项目,并依赖于它的所有项目。
buildNeeded - 组装和试验项目,它依赖于所有项目。
班 - 班汇编主要。
清洁 - 删除构建目录。
compileDebugAndroidTestSources
compileDebugSources
compileDebugUnitTestSources
compileReleaseSources
compileReleaseUnitTestSources
罐子 - 汇编包含主类的jar包存档。
mockableAndroidJar - 创建一个版本的android.jar的那是适合的单元测试。
testClasses - 汇编类测试。建设安装任务
-----------------
INIT - 初始化新的摇篮版本。 [培育]
包装 - 生成摇篮包装文件。 [培育]文档任务
-------------------
的javadoc - 生成的主要来源$ C ​​$ C的Javadoc API文档。帮助任务
----------
部件 - 显示由根项目'装饰'制作的组件。 [培育]
依赖 - 显示在根项目'装饰'声明的所有依赖关系。
dependencyInsight - 显示洞察根工程装饰一个特定的依赖。
帮助 - 显示帮助信息。
项目 - 显示根项目装饰的子项目。
性能 - 显示根项目'装饰'的属性。
任务 - 显示根项目'装饰'可运行的任务(一些显示的任务可能属于子项目)。安装任务
-------------
installDebug - 安装调试版本。
installDebugAndroidTest - 安装了Android(器件),测试调试版本。
uninstallAll - 卸载所有应用程序。
uninstallDebug - 卸载调试版本。
uninstallDebugAndroidTest - 卸载了Android(器件),测试调试版本。
uninstallRelease - 卸载发布版本。验证任务
------------------
检查 - 在所有检查。
connectedAndroidTest - 安装和运行上连接的设备的所有口味的仪器测试。
connectedAndroidTestDebug - 安装并运行调试测试的基础上连接的设备。
connectedCheck - 运行于当前连接的设备的所有设备检查。
deviceAndroidTest - 安装和运行使用全部设备提供商仪器测试。
deviceCheck - 运行使用设备提供商和测试服务器的所有设备检查。
皮棉 - 运行在所有的变种皮棉。
lintDebug - 运行在调试生成绒毛。
lintRelease - 运行在发布版本皮棉。
测试 - 运行单元测试。
testDebug - 运行单元测试调试版本。
testRelease - 运行单元测试发布版本。其他任务
-----------
jarDebugClasses
jarReleaseClasses


解决方案

在编译源代码的生成情况。因此运行 gradlew cleanCompileDebugSources compileDebugSources 是你所需要的。这是Android的工作室正在运行什么,当你做出同样项目从建立菜单。

如果您正在开发注释处理器作为项目的一部分,你可以使用处理器选项Android的易无需打包处理器项目。这是假设你有你的处理器模块为容易项目(':myprocessor')依赖(编译也将工作)。

{易
    处理器my.class.name
}

I'm creating a compile-time annotation processor to generate some code on Android.

To trigger the annotation processor I'm using the android-apt plugin from hvisser https://bitbucket.org/hvisser/android-apt/overview

At the moment, on every change I do on my Processor extends AbstractProcessor I have to run a full /.gradlew clean build to see the results, and that is kinda of a slow process, even for a tiny sample project.

So my question, is there any of the gradlew tasks I could use to trigger the annotation processor?

The output from my current ./gradlew tasks is:

------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------

Android tasks
-------------
androidDependencies - Displays the Android dependencies of the project.
signingReport - Displays the signing info for each variant.

Build tasks
-----------
assemble - Assembles the outputs of this project.
assembleAndroidTest - Assembles all the Test applications.
assembleDebug - Assembles all Debug builds.
assembleDebugAndroidTest - Assembles the android (on device) tests for the Debug build.
assembleRelease - Assembles all Release builds.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
classes - Assembles classes 'main'.
clean - Deletes the build directory.
compileDebugAndroidTestSources
compileDebugSources
compileDebugUnitTestSources
compileReleaseSources
compileReleaseUnitTestSources
jar - Assembles a jar archive containing the main classes.
mockableAndroidJar - Creates a version of android.jar that's suitable for unit tests.
testClasses - Assembles classes 'test'.

Build Setup tasks
-----------------
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

Help tasks
----------
components - Displays the components produced by root project 'Decorator'. [incubating]
dependencies - Displays all dependencies declared in root project 'Decorator'.
dependencyInsight - Displays the insight into a specific dependency in root project 'Decorator'.
help - Displays a help message.
projects - Displays the sub-projects of root project 'Decorator'.
properties - Displays the properties of root project 'Decorator'.
tasks - Displays the tasks runnable from root project 'Decorator' (some of the displayed tasks may belong to subprojects).

Install tasks
-------------
installDebug - Installs the Debug build.
installDebugAndroidTest - Installs the android (on device) tests for the Debug build.
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build.
uninstallDebugAndroidTest - Uninstalls the android (on device) tests for the Debug build.
uninstallRelease - Uninstalls the Release build.

Verification tasks
------------------
check - Runs all checks.
connectedAndroidTest - Installs and runs instrumentation tests for all flavors on connected devices.
connectedAndroidTestDebug - Installs and runs the tests for Debug build on connected devices.
connectedCheck - Runs all device checks on currently connected devices.
deviceAndroidTest - Installs and runs instrumentation tests using all Device Providers.
deviceCheck - Runs all device checks using Device Providers and Test Servers.
lint - Runs lint on all variants.
lintDebug - Runs lint on the Debug build.
lintRelease - Runs lint on the Release build.
test - Runs the unit tests.
testDebug - Run unit tests for the debug build.
testRelease - Run unit tests for the release build.

Other tasks
-----------
jarDebugClasses
jarReleaseClasses
解决方案

Source generation happens when you compile. So running gradlew cleanCompileDebugSources compileDebugSources is what you need. This is the same was what Android Studio is running when you make your project from the build menu.

If you are developing your annotation processor as part of your project, you can use the processor option in android-apt without needing to package your processor project. This is assuming you have your processor module as a apt project(':myprocessor') dependency (compile will also work).

apt { processor "my.class.name"}

这篇关于如何触发摇篮最小任务运行apt插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-07 14:36