我正在尝试重新组织这个Android(基于 Java)库,以使用buildSrc文件夹来定义本文中描述的所有版本和依赖项。
我已经为 Kotlin 基础项目成功设置了几次。这次项目是纯Java。
在buildSrc
文件夹中,我创建了以下buildSrc/src/main/java/org/ligi/snackengage/Dependencies.java
文件:
package org.ligi.snackengage;
public class Dependencies {
public static class Android { /* ... */ }
public static class GradlePlugins {
public static final String ANDROID = "com.android.tools.build:gradle:3.6.3";
// ...
}
public static class Libs { /* ... */ }
}
然后我参考项目根目录build.gradle
中的定义等:
import org.ligi.snackengage.Dependencies.GradlePlugins
apply plugin: "com.github.ben-manes.versions"
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath GradlePlugins.ANDROID
classpath GradlePlugins.MAVEN
classpath GradlePlugins.VERSIONS
}
}
allprojects {
repositories {
google()
jcenter()
}
}
这是进行中的工作分支。当我构建项目时,会发生以下错误:
* Where:
Build file 'SnackEngage/build.gradle' line: 12
* What went wrong:
A problem occurred evaluating root project 'SnackEngage'.
> Could not get unknown property 'GradlePlugins' for object of type
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Here is the build log.