背景: -
我创建了一个gradle插件,说XXX,其中有
1)在 实现org.gradle.api的插件接口 的软件包中 一个groovy类 。插件,并且在重写的apply方法中,我编写了与git相关的功能,
2)在插件XXX的build.gradle中,我有另一个 任务 作为 confluence ,这是实施的使用插件" com.github.qwazer.markdown-confluence"
XXX Plugin
|_______ com.gradle.plugin.gitFunctionality
| |________________ gitFunctionality(groovy class)
|_______ build.gradle
XXX插件的build.gradle
gradlePlugin {
plugins {
"gradle-plugin-XXX" {
id = "com.gradle.plugin.gitFunctionality"
implementationClass = "com.gradle.plugin.gitFunctionality.ReportPlugin"
}
}
}
.
.
.
.
confluence {
//upload page to confluence
.
.
}
现在我可以在maven.publish插件的publishToMavenLocal的帮助下在本地测试插件实现,我已经在项目中的一个项目中输入了插件' ABCD'来自当地的maven
问题
1)当我尝试运行命令./gradlew build publishToMavenLocal
时,它只运行第一个git功能而不是汇合为什么?我希望运行在reportPlugin和confluence任务中编写的gitFunctionality,但我可以看到为git打印的输出
2)在项目ABCD中导入插件后如果我想执行这两个任务/插件作为项目ABCD的最后一个任务我该怎么做。
答案 0 :(得分:0)
您可以使用dependsOn,finalizedBy和其他一些功能更改任务执行顺序。
例如,您可以在运行gradle build之后执行必要的任务:
@Service
public class StorageServiceImpl implements StorageService {
void init(){// You code goes here/}
void store(MultipartFile file){///}
Stream<Path> loadAll(){///}
Path load(String filename){//}
Resource loadAsResource(String filename){///}
}