1

在我的 android 库项目中,我com.github.dcendents:android-maven-gradle-plugin:1.5用来将我的库安装到我的本地 maven 存储库中,这一直运行良好。现在,由于各种与 NDK 相关的原因,我不得不切换到gradle-experimental-0.8.2 插件。这个版本的 gradle 插件使用了新的语法,例如model块围绕着android块。

问题是,当使用这种新语法时,我无法让我的 Maven 工件任务工作,例如sourcesJar直接从示例中获取的任务:

task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

这不再有效,因为没有 block android。我以为我只需要更改为新语法,例如model.android.sources.main.java.source.srcDirs,但没有运气。事实上,它说could not get unknown property 'android' for task 'lib:model' of type org.gradle.api.reporting.model.ModelReport

我也有更简单的陈述,例如

version = android.defaultConfig.versionName

这也不适用于android.defaultConfignor model.android.defaultConfig

我在这里做错了什么?当我无法像以前使用稳定的 gradle 版本那样引用块中定义的变量时,感觉就像我误解了 gradle/groovy 的基本工作原理。我认为该android块只是在model块内向下移动了一级间接,那么为什么我不能引用类似的东西model.android.defaultConfig.versionName

4

0 回答 0