如何将build.gradle中的gradle jar配置转换为插件代码

时间:2015-03-21 18:11:41

标签: gradle

我之前曾问过this question有关以特定方式配置jar任务的问题。我现在需要将其转换为自定义插件中的代码。

build.gradle中的工作配置是:

jar {
    exclude "yang"
    from ("src/main/resources/yang") {
        into ("META-INF/yang")
    } 
}

这正确地将类放在根目录下,但是放置来自" src / main / resources / yang"的文件。进入" META-INF / yang"。

在我的自定义插件"申请"方法,我尝试在我的" project.afterEvaluate()"封闭:

Jar jarTask = project.getTasks().getByName("jar")
jarTask.exclude("yang")
jarTask.from(task.yangFilesRootDir)
jarTask.into("META-INF/yang")

从" Jar"的API文档中,我无法看到任何其他方式来执行此操作"看起来像"我在构建脚本中有什么。

这不起作用。它确实放置了来自" src / main / resources / yang"的文件。进入" META-INF / yang",但它也将所有类文件放在那里。

1 个答案:

答案 0 :(得分:0)

假设您的插件是在Groovy中实现的,那么您将要将into()的调用移动到传递给from()方法的配置闭包。

jarTask.from(task.yangFilesRootDir) {
    into 'META-INF/yang'
}