使用独立Gradle脚本中的插件

使用独立Gradle脚本中的插件,gradle,plugins,build,Gradle,Plugins,Build,我一直在使用插件生成一些文档。当我将它的代码放在build.gradle中时,每个包都能完美地工作 但是,我不想将这个插件放在多个build.gradle文件中,而是想将它放在一个单独的gradle脚本中,使所有内容都更加集中 但是,当我这样做时,我会得到一个错误: Plugin with id 'com.benjaminsproule.swagger' not found. 尽管代码与build.gradle文件中的代码完全相同 以下是导入插件并使用它的代码: buildscript { r

我一直在使用插件生成一些文档。当我将它的代码放在build.gradle中时,每个包都能完美地工作

但是,我不想将这个插件放在多个build.gradle文件中,而是想将它放在一个单独的gradle脚本中,使所有内容都更加集中

但是,当我这样做时,我会得到一个错误:

Plugin with id 'com.benjaminsproule.swagger' not found.
尽管代码与build.gradle文件中的代码完全相同

以下是导入插件并使用它的代码:

buildscript {
repositories {
    maven {url "http://jcenter.bintray.com"}
}
dependencies {
    classpath 'com.benjaminsproule:swagger-gradle-plugin:0.0.8'
}
}
apply plugin: 'com.benjaminsproule.swagger'

swagger {

apiSource {
    springmvc = false
    locations = ['package1']
    info {
        title = 'Package 1'
        version = 'v1'
        description = 'Documentation for Package 1'

    }
    swaggerDirectory = "${project.rootDir}/reports/Package1"
}
apiSource {
    springmvc = false
    locations = ['package2']
    info {
        title = 'Package 2'
        version = 'v1'
        description = 'Documentation for Package 2'

    }
    swaggerDirectory = "${project.rootDir}/reports/Package2"
}

}
所以我想把这些都从build.gradle移到一个名为swagger.gradle的文件中,这可能吗

我还使用以下方法运行插件:

gradle swagger

我自己想出了一个解决方案,可能对任何遇到这个问题的人都有用

我创建了一个Swagger.gradle文件,其中包含buildscript和build.gradle,然后调用插件

对于应用插件,我必须直接调用插件的主类。 大摇大摆的格拉德尔

buildscript {
repositories {
    maven {url "http://jcenter.bintray.com"}
}
dependencies {
    classpath 'com.benjaminsproule:swagger-gradle-plugin:0.0.8'
}
}
apply plugin: com.benjaminsproule.swagger.gradleplugin.GradleSwaggerPlugin
格雷德尔先生

 apply from: "/scripts/Swagger.gradle"


swagger {

apiSource {
springmvc = false
locations = ['package1']
info {
    title = 'Package 1'
    version = 'v1'
    description = 'Documentation for Package 1'

}
swaggerDirectory = "${project.rootDir}/reports/Package1"
}
apiSource {
springmvc = false
locations = ['package2']
info {
    title = 'Package 2'
    version = 'v1'
    description = 'Documentation for Package 2'

}
swaggerDirectory = "${project.rootDir}/reports/Package2"
}

}
此博客的荣誉: