我有一个带有 Kotlin Gradle 的 Android 项目(主项目)。该项目还包含 Git 子模块,该子模块也使用 Kotlin Gradle(子模块项目)。
主项目有buildSrc
带有 Configuration
的文件夹里面上课。子模块项目也有自己的buildSrc
带有 Configuration
的文件夹里面上课。
主要项目使用module1
和 module2
来自子模块项目。这些模块使用 Configuration
build.gradle.kts
中子模块项目的类文件。
问题来了 : 当我连接 module1
和 module2
在我的主项目中,出现编译错误是因为 buildSrc
子模块项目中的文件夹未编译,但 buildSrc
从主模块将被编译。
问题是下一个 : 如何合并 buildSrc
文件夹,如果我不能,那么我应该如何处理这种情况?
备注 : 我不想只是从子模块的 buildSrc
中复制粘贴类文件夹到主目录 buildSrc
.我想在其他项目中重用这个子模块。
这是简化的项目结构:
+-- app/
+-- android-sub/ (submodule)
| +-- app/
| +-- module1/
| +-- build.gradle.kts
| +-- module2/
| +-- build.gradle.kts
| +-- build/
| +-- buildSrc/
| +-- build/
| +-- build.gradle.kts
| +-- src/main/java
| +-- Configuration
| +-- gradle/
| +-- build.gradle.kts
| +-- gradlew
| +-- gradlew.bat
| +-- gradle.properties
| +-- settings.gradle.kts
+-- build/
+-- buildSrc/
| +-- build/
| +-- build.gradle.kts
| +-- src/main/java/
| +-- Configuration
+-- gradle/
+-- build.gradle.kts
+-- gradle.properties
+-- gradlew
+-- gradlew.bat
+-- local.properties
+-- settings.gradle.kts
主营项目
settings.gradle.kts
:include ':app', ':module1', ':module2'
project(':module1').projectDir = new File(rootDir, 'android-sub/module1')
project(':module2').projectDir = new File(rootDir, 'android-sub/module2')
最佳答案
在给定的 Gradle 构建中,只能有一个 buildSrc
.
然而,在这里你试图通过将它们拼接在一起来组成两个独立的 Gradle 构建。
我建议改为查看 Gradle composite builds ,这将允许您组成两个完整的构建,每个都有自己的buildSrc
.
关于java - 带有 Kotlin Gradle 和 Git 子模块的多个 buildSrc 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61519662/