@@ -15,6 +15,7 @@ import plugin.localmaven.mavenPublish
1515import plugin.utils.*
1616import plugin.utils.FileUtil.getLocalMavenCacheDir
1717import java.io.File
18+ import java.util.*
1819import kotlin.reflect.jvm.isAccessible
1920
2021
@@ -38,21 +39,26 @@ open class RocketXPlugin : Plugin<Project> {
3839 lateinit var android: AppExtension
3940 var mRocketXBean: RocketXBean ? = null
4041 lateinit var mAppProjectDependencies: AppProjectDependencies
41- val mAllChangedProject by lazy {
42+
43+ private val mAllChangedProject by lazy {
4244 ChangeModuleUtils .getChangeModuleMap(appProject)
4345 }
4446
45- val mFlavorBuildType by lazy {
47+ private val mFlavorBuildType by lazy {
4648 getFlavorBuildType(appProject)
4749 }
4850
4951 override fun apply (project : Project ) {
5052 // 应用在 主 project 上,也就是 app module
5153 mRocketXBean = project.extensions.create(" RocketX" , RocketXBean ::class .java)
52- if (! isEnable(project) || hasAndroidPlugin(project) || ! isCurProjectRun(project)) return
54+ if (! isEnable(project) || hasAndroidPlugin(project) || ! isCurProjectRun(project)){
55+ return
56+ }
5357 this .appProject = project
5458 // 禁止 release 使用加速插件
55- if (mFlavorBuildType.toLowerCase().contains(" release" )) return
59+ if (mFlavorBuildType.toLowerCase(Locale .ROOT ).contains(" release" )) {
60+ return
61+ }
5662 FileUtil .attach(project)
5763 flatDirs()
5864 android = project.extensions.getByType(AppExtension ::class .java)
@@ -82,10 +88,9 @@ open class RocketXPlugin : Plugin<Project> {
8288 }
8389 }
8490
85- mAppProjectDependencies =
86- AppProjectDependencies (project, android, mRocketXBean, mAllChangedProject) {
87- pritlnDependencyGraph()
88- }
91+ mAppProjectDependencies = AppProjectDependencies (project, android, mRocketXBean, mAllChangedProject) {
92+ pritlnDependencyGraph()
93+ }
8994
9095 appProject.gradle.taskGraph.addTaskExecutionListener(object : TaskExecutionListener {
9196 override fun beforeExecute (p0 : Task ) {
@@ -114,7 +119,7 @@ open class RocketXPlugin : Plugin<Project> {
114119 */
115120 fun flatDirs () {
116121 val map = mutableMapOf<String , File >()
117- map.put( " dirs" , File (getLocalMavenCacheDir() ))
122+ map[ " dirs" ] = File (getLocalMavenCacheDir())
118123 appProject.rootProject.allprojects {
119124 it.repositories.flatDir(map)
120125 }
@@ -126,12 +131,16 @@ open class RocketXPlugin : Plugin<Project> {
126131 */
127132 fun doAfterEvaluated () {
128133
129- BeforePreBuildJob (appProject).runCleanAction()
134+ // BeforePreBuildJob(appProject).runCleanAction()
130135
131136 appProject.rootProject.allprojects.forEach {
132137 // 剔除 app 和 rootProject
133- if (hasAppPlugin(it) || it == appProject.rootProject || it.childProjects.size > 0 ) return @forEach
134- if (mAllChangedProject?.contains(it.path)?.not () != false ) return @forEach
138+ if (hasAppPlugin(it) || it == appProject.rootProject || it.childProjects.isNotEmpty()) {
139+ return @forEach
140+ }
141+ if (mAllChangedProject?.contains(it.path)?.not () != false ) {
142+ return @forEach
143+ }
135144 var mLocalMaven: LocalMaven ? = null
136145 val childProject = it.project
137146 var childAndroid: LibraryExtension ? = null
@@ -141,14 +150,10 @@ open class RocketXPlugin : Plugin<Project> {
141150 }
142151 // android 子 module
143152 if (childAndroid != null ) {
144- mLocalMaven = AarFlatLocalMaven (childProject,
145- this @RocketXPlugin,
146- appProject,
147- mAllChangedProject)
153+ mLocalMaven = AarFlatLocalMaven (childProject, this @RocketXPlugin, appProject, mAllChangedProject)
148154 } else if (hasJavaPlugin(childProject)) {
149155 // java 子 module
150- mLocalMaven =
151- JarFlatLocalMaven (childProject, this @RocketXPlugin, mAllChangedProject)
156+ mLocalMaven = JarFlatLocalMaven (childProject, this @RocketXPlugin, mAllChangedProject)
152157 }
153158 // 需要上传到 localMaven
154159 mLocalMaven?.uploadLocalMaven()
@@ -184,29 +189,23 @@ open class RocketXPlugin : Plugin<Project> {
184189 }
185190 }
186191 // 并行运行task
187- appProject.gradle.startParameter.setParallelProjectExecutionEnabled( true )
192+ appProject.gradle.startParameter.isParallelProjectExecutionEnabled = true
188193 appProject.gradle.startParameter.maxWorkerCount + = 4
189194 }
190195
191196
192197 // 打印处理完的整个依赖图
193- fun pritlnDependencyGraph () {
194- mAppProjectDependencies.mAllChildProjectDependenciesList.forEach {
195- LogUtil .d(" ======project name: ${it.project.name} ==========" )
196- it.allConfigList.forEach {
197- if (it.dependencies.size > 0 ) {
198- LogUtil .d(" =====Config name:${it.name} ===== " )
199- it.dependencies.forEach {
200- LogUtil .d(" dependency:" + it.hashCode())
201- LogUtil .d(" dependency:$it " )
202- }
198+ private fun pritlnDependencyGraph () {
199+ mAppProjectDependencies.mAllChildProjectDependenciesList.forEach { it ->
200+ LogUtil .d(" ======project name: ${it.project.name} ========== start" )
201+ it.allConfigList.filter { it.dependencies.isNotEmpty() }.forEach { configuration ->
202+ LogUtil .d(" ======Config name:${configuration.name} " )
203+ configuration.dependencies.forEach {
204+ LogUtil .d(" dependency: $it ${it.hashCode()} " )
203205 }
204206 }
205-
206- LogUtil .d(" ======project name: ========== end" )
207+ LogUtil .d(" ======project name: ${it.project.name} ========== end \n " )
207208 }
208209 }
209210
210- }
211-
212-
211+ }
0 commit comments