项目A:
apply from : 'common.gradle'
common.gradle
plugins {
id 'com.eriwen.gradle.js' version '2.14.1'
}
apply plugin: 'js'
import com.eriwen.gradle.js.tasks.MinifyJsTask;
task minify(type: MinifyJsTask) {
...
}
错误
Only Project build scripts can contain plugins {} blocks
如果插件块移动到项目A,
错误
unable to resolve class com.eriwen.gradle.js.tasks.MinifyJsTask
如何在包含的构建脚本(称为脚本插件)中使用插件(来自公共责任)?
答案 0 :(得分:3)
这是一种方法。 (我使用this page作为资源,但不确定它是否仍然准确。)使用Gradle 4.0:
鉴于build.gradle
:
apply from: 'common.gradle'
这里是common.gradle
:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.eriwen:gradle-js-plugin:2.14.1"
}
}
apply plugin: com.eriwen.gradle.js.JsPlugin
task minify(type: com.eriwen.gradle.js.tasks.MinifyJsTask) {
// ...
}
答案 1 :(得分:0)
使用Gradle的Kotlin DSL时,Michael解释的方法不允许使用插件提供的类型安全模型访问器。相反,您可以将常见的构建脚本放入buildSrc
目录结构中。这允许使用plugins{}
块,并为您提供类型安全的Kotlin DSL的所有优点。 https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#sec:build_sources