我有一个Gradle驱动的项目,我想添加一个简单的Java任务。这个任务非常特定于项目,如果它可以帮助我不想将它作为一个单独的插件开发。所以问题是我可以在我用于我的项目的同一build.gradle中定义这样的自定义任务吗?或者我不可避免地需要将其打包为一个单独的项目(插件)并安装到本地仓库?
同样重要的是要注意原始项目与Java无关(不需要构建其他Java代码)
P.S。根据以下评论:
我想将src/main/java/SomeUsefulStuff.java
添加到现有项目中,并将该文件编译并用作自定义任务。我确实理解每次运行构建时都需要编译它,但是代码会很小。但是它会有一些外部依赖,例如Commons IO
答案 0 :(得分:1)
感谢RaGe指向JavaExec,结果证明这非常简单。这是你做的:
apply plugin: 'java'
添加到 build.gradle task usefulStuff(type: JavaExec) { classpath = sourceSets.main.runtimeClasspath main = 'com.me.gradle.UsefulStuff' // arguments to pass to the application args 'OhmyGod!' }
imporantTask.dependsOn usefulStuff