Как применить плагин nebula.os с идентификатором в скрипте groovy ниже? - PullRequest
0 голосов
/ 07 ноября 2019
class HoconConfigPlugin implements Plugin<Project> {
    void apply(Project project) {
        project.buildDir = new File("${project.rootProject.rootDir}/build/config-packages/${project.name}")
        def confExt = project.extensions.create(HoconConfigExtension.NAME, \
                          HoconConfigExtension, project)
        def prepareConfigTar = project.tasks.create('prepare', HoconCopyTask, \
            project.logger, confExt, project)

        def configTarTask = project.tasks.create('configTar', Tar, {
            extension = 'tar.gz'
            baseName = project.name
            compression = Compression.GZIP
            duplicatesStrategy = DuplicatesStrategy.EXCLUDE
            dependsOn prepareConfigTar

            into (".")
            from (confExt.configsStageDir)
        })
        project.artifacts.add("archives", configTarTask)
    }

}

Попробовал применить плагин, как показано ниже

class HoconConfigPlugin implements Plugin<Project> {

    void apply(Project project) {
        project.buildDir = new File("${project.rootProject.rootDir}/build/config-packages/${project.name}")
        def confExt = project.extensions.create(HoconConfigExtension.NAME, \
                          HoconConfigExtension, project)

        //project.apply(plugin:'nebula.ospackage')      
        project.apply(plugins {id "nebula.ospackage" version "5.2.0"})
        def prepareConfigTar = project.tasks.create('prepare', HoconCopyTask, \
            project.logger, confExt, project)

        def configTarTask = project.tasks.create('configTar', Tar, {
            extension = 'tar.gz'
            baseName = project.name
            compression = Compression.GZIP
            duplicatesStrategy = DuplicatesStrategy.EXCLUDE
            dependsOn prepareConfigTar

            into (".")
            from (confExt.configsStageDir)
        })

        project.artifacts.add("archives", configTarTask)
    }

}

получил проблему, как показано ниже

09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Where:
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Build file '
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] A problem occurred evaluating project ':config-packages:griddable-chs-cfg-dev-lxd'.
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Failed to apply plugin [class 'HoconConfigPlugin']
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]    > No signature of method: HoconConfigPlugin.plugins() is applicable for argument types: (HoconConfigPlugin$_apply_closure1) values: [HoconConfigPlugin$_apply_closure1@151776e0]
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]      Possible solutions: print(java.lang.Object), print(java.io.PrintWriter)
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Run with --stacktrace option to get the stack trace.  Run with --scan to get full insights.
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 
09:43:59.011 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 0s

Я хочу, чтобы код работал, применяя плагин с id и позженеобходимо собрать пакет rpm с пакетом rpm с помощью того же плагина.

Я пробовал эту ссылку

Как правильно расширить плагин Gradle Java?

это работало для обычного плагина, применяемого как шоу, но не работало для плагина закрытия.

...