什么是 "decoupled project" (Gradle)?
What is considered a "decoupled project" (Gradle)?
大家好,我正在制作一个 Cocos2d-x 游戏,其中包含 gradle 文件 我一直在寻找缩短构建时间的方法,我尝试使用谷歌搜索甚至查看 Gradle 文档,但是我似乎无法理解 "decoupled" 项目到底是什么?在我的 gradle.properties
中,它说明了这一点
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
#org.gradle.parallel=true
对于不熟悉 Cocos2d-x 的人,在 Android Studio Cocos2d-x 项目的 Gradle Scripts 文件夹中有 3 个 build.gradle 文件:
- (项目:proj.android)
- (模块:MyGame)
- (模块:libcocos2dx)
之后是 gradle-wrapper.properties
、proguard-rules.pro(MyGame)
、proguard-rules.pro(libcocos2dx)
、gradle.properties
、settings.gradle
& local.properties
综上所述,我的项目是否被视为解耦项目?并且取消注释 org.gradle.parallel=true
会缩短构建时间,或者我会注意到什么完全不同?
通过运行以下命令检查应用的项目列表。
gradlew -q projects
它的输出是这样的
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'MyApplication'
+--- Project ':app'
\--- Project ':mylibrary'
根据 gradle link
Two projects are said to be decoupled if they do not directly access each other’s project model. Decoupled projects may only interact in terms of declared dependencies: project dependencies and/or task dependencies. Any other form of project interaction (i.e. by modifying another project object or by reading a value from another project object) causes the projects to be coupled.
如果应用正在使用类似
的依赖项
dependencies {
implementation project(":mylibrary")
}
然后解耦
大家好,我正在制作一个 Cocos2d-x 游戏,其中包含 gradle 文件 我一直在寻找缩短构建时间的方法,我尝试使用谷歌搜索甚至查看 Gradle 文档,但是我似乎无法理解 "decoupled" 项目到底是什么?在我的 gradle.properties
中,它说明了这一点
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
#org.gradle.parallel=true
对于不熟悉 Cocos2d-x 的人,在 Android Studio Cocos2d-x 项目的 Gradle Scripts 文件夹中有 3 个 build.gradle 文件:
- (项目:proj.android)
- (模块:MyGame)
- (模块:libcocos2dx)
之后是 gradle-wrapper.properties
、proguard-rules.pro(MyGame)
、proguard-rules.pro(libcocos2dx)
、gradle.properties
、settings.gradle
& local.properties
综上所述,我的项目是否被视为解耦项目?并且取消注释 org.gradle.parallel=true
会缩短构建时间,或者我会注意到什么完全不同?
通过运行以下命令检查应用的项目列表。
gradlew -q projects
它的输出是这样的
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'MyApplication'
+--- Project ':app'
\--- Project ':mylibrary'
根据 gradle link
Two projects are said to be decoupled if they do not directly access each other’s project model. Decoupled projects may only interact in terms of declared dependencies: project dependencies and/or task dependencies. Any other form of project interaction (i.e. by modifying another project object or by reading a value from another project object) causes the projects to be coupled.
如果应用正在使用类似
的依赖项dependencies {
implementation project(":mylibrary")
}
然后解耦