Skip to content

Commit 2e4ec9b

Browse files
author
jackjintai
committed
modify
[Android]:修复dokit_plugin和booster共存的问题
1 parent 751a12f commit 2e4ec9b

File tree

46 files changed

+135
-3007
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+135
-3007
lines changed

Android/java/app/doraemonkit.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
if (rootProject.ext.config["runType"] == 0) {
22
// 引用插件
33
apply plugin: 'com.didi.dokit.debug'
4-
// apply plugin: 'com.didiglobal.booster'
4+
apply plugin: 'com.didiglobal.booster'
55
//apply plugin: 'com.didi.dokit'
66
// 这里引用正常库
77
dependencies {

Android/java/build.gradle

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ buildscript {
44
repositories {
55
google()
66
jcenter()
7-
// maven { url 'http://artifactory.intra.xiaojukeji.com/artifactory/public' }
7+
maven { url 'http://artifactory.intra.xiaojukeji.com/artifactory/public' }
88
// maven {
99
// //本地插件地址
1010
// url uri(rootProject.ext.config["localRepoURL"])
@@ -13,8 +13,11 @@ buildscript {
1313
dependencies {
1414
classpath "com.android.tools.build:gradle:${rootProject.ext.android["gradle_plugin_version"]}"
1515
classpath "com.novoda:bintray-release:0.9.2"
16-
// classpath "com.didichuxing.doraemonkit:doraemonkit-plugin:${rootProject.ext.android["pluginVersionName"]}"
17-
//classpath "com.didichuxing.doraemonkit:dokitx-plugin:3.3.2"
16+
//classpath "com.didichuxing.doraemonkit:dokitx-plugin:3.3.4"
17+
classpath "com.didiglobal.booster:booster-gradle-plugin:${rootProject.ext.android["booster_version"]}"
18+
classpath "com.didiglobal.booster:booster-transform-toast:${rootProject.ext.android["booster_version"]}"
19+
classpath "com.didiglobal.booster:booster-transform-activity-thread:${rootProject.ext.android["booster_version"]}"
20+
classpath "com.didiglobal.booster:booster-transform-shared-preferences:${rootProject.ext.android["booster_version"]}"
1821
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${rootProject.ext.android["kotlin_version"]}"
1922
}
2023
}
@@ -23,7 +26,7 @@ allprojects {
2326
repositories {
2427
google()
2528
jcenter()
26-
// maven { url 'http://artifactory.intra.xiaojukeji.com/artifactory/public' }
29+
maven { url 'http://artifactory.intra.xiaojukeji.com/artifactory/public' }
2730
// maven {
2831
// //本地插件地址
2932
// url uri(rootProject.ext.config["localRepoURL"])

Android/java/buildSrc/src/main/kotlin/com/didichuxing/doraemonkit/plugin/DoKitPlugin.kt

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ import com.didichuxing.doraemonkit.plugin.extension.SlowMethodExt
77
import com.didichuxing.doraemonkit.plugin.stack_method.MethodStackNodeUtil
88
import com.didichuxing.doraemonkit.plugin.transform.DoKitCommTransform
99
import com.didichuxing.doraemonkit.plugin.transform.DoKitDependTransform
10+
import com.didiglobal.booster.gradle.dependencies
1011
import com.didiglobal.booster.gradle.getAndroid
1112
import com.didiglobal.booster.gradle.getProperty
1213
import org.gradle.api.Plugin
1314
import org.gradle.api.Project
15+
import org.gradle.api.artifacts.result.ResolvedArtifactResult
16+
import org.gradle.api.invocation.Gradle
1417

1518
/**
1619
* ================================================
@@ -114,14 +117,56 @@ class DoKitPlugin : Plugin<Project> {
114117

115118
//项目评估完毕回调
116119
project.afterEvaluate {
120+
"===afterEvaluate===".println()
117121
loadVariantProcessors(project).let { processors ->
118122
androidExt.applicationVariants.forEach { variant ->
119123
processors.forEach { processor ->
124+
//执行DoKitPluginConfigProcessor.process()
120125
processor.process(variant)
121126
}
122127
}
123128
}
124129
}
130+
131+
/**
132+
* 所有项目的build.gradle执行完毕
133+
* wiki:https://juejin.im/post/6844903607679057934
134+
*
135+
* **/
136+
project.gradle.projectsEvaluated {
137+
"===projectsEvaluated===".println()
138+
if (DoKitExtUtil.THIRD_LIBINFO_SWITCH) {
139+
androidExt.applicationVariants.forEach { variant ->
140+
//遍历三方库
141+
val dependencies = variant.dependencies
142+
DoKitExtUtil.THIRD_LIB_INFOS.clear()
143+
for (artifactResult: ResolvedArtifactResult in dependencies) {
144+
//println("三方库信息===>${artifactResult.variant.displayName}____${artifactResult.file.toString()}")
145+
val paths = artifactResult.file.toString().split("/")
146+
var fileName = ""
147+
if (paths.size >= 4) {
148+
fileName =
149+
"${paths[paths.size - 4]}/${paths[paths.size - 1]}"
150+
} else {
151+
fileName = paths[paths.size - 1]
152+
}
153+
val thirdLibInfo =
154+
ThirdLibInfo(
155+
fileName,
156+
DoKitPluginUtil.fileSize(artifactResult.file, 2)
157+
)
158+
DoKitExtUtil.THIRD_LIB_INFOS.add(thirdLibInfo)
159+
}
160+
}
161+
}
162+
}
163+
164+
165+
//task依赖关系图建立完毕
166+
project.gradle.taskGraph.whenReady {
167+
"===taskGraph.whenReady===".println()
168+
}
169+
125170
}
126171
}
127172

@@ -150,10 +195,9 @@ class DoKitPlugin : Plugin<Project> {
150195
}
151196

152197
private fun isReleaseTask(project: Project): Boolean {
153-
val release = project.gradle.startParameter.taskNames.any {
198+
return project.gradle.startParameter.taskNames.any {
154199
it.contains("release") || it.contains("Release")
155200
}
156-
return release
157201
}
158202

159203
}

Android/java/buildSrc/src/main/kotlin/com/didichuxing/doraemonkit/plugin/processor/DoKitPluginConfigProcessor.kt

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,37 +61,13 @@ class DoKitPluginConfigProcessor : VariantProcessor {
6161
"applications path====>${handler.applications}".println()
6262
}
6363

64-
6564
//读取插件配置
6665
variant.project.getAndroid<AppExtension>().let { appExt ->
6766
//查找Application路径
6867
val doKitExt = variant.project.extensions.getByType(DoKitExt::class.java)
6968
DoKitExtUtil.init(doKitExt, appExt.defaultConfig.applicationId!!)
7069
}
7170

72-
if (DoKitExtUtil.THIRD_LIBINFO_SWITCH) {
73-
//遍历三方库
74-
val dependencies = variant.dependencies
75-
DoKitExtUtil.THIRD_LIB_INFOS.clear()
76-
for (artifactResult: ResolvedArtifactResult in dependencies) {
77-
//println("三方库信息===>${artifactResult.variant.displayName}____${artifactResult.file.toString()}")
78-
val paths = artifactResult.file.toString().split("/")
79-
var fileName = ""
80-
if (paths.size >= 4) {
81-
fileName = "${paths[paths.size - 4]}/${paths[paths.size - 1]}"
82-
} else {
83-
fileName = paths[paths.size - 1]
84-
}
85-
val thirdLibInfo =
86-
ThirdLibInfo(
87-
fileName,
88-
DoKitPluginUtil.fileSize(artifactResult.file, 2)
89-
)
90-
DoKitExtUtil.THIRD_LIB_INFOS.add(thirdLibInfo)
91-
}
92-
}
93-
94-
9571
} else {
9672
"${variant.project.name}-不建议在Library Module下引入dokit插件".println()
9773
}

Android/java/config.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ ext {
1919
minSdkVersion : 16,
2020
targetSdkVersion : 29,
2121
//app版本号
22-
versionCode : 333,
22+
versionCode : 334,
2323
//dokit 插件版本号
24-
pluginVersionName : "3.3.3",
24+
pluginVersionName : "3.3.4.2",
2525
//jcenter dokit版本号 打包上传时 dokit的版本名字
26-
jcenterArchivesVersionName: "3.3.3",
26+
jcenterArchivesVersionName: "3.3.4.2",
2727
//didi内部仓库版本号
28-
versionName : "3.3.3",
28+
versionName : "3.3.4.2",
2929
glide_version : "4.9.0",
3030
kotlin_version : "1.3.72",
3131
booster_version : "3.0.0",

Android/java/doraemonkit-leakcanary/upload-dev.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ if (publishArchivesType == 1) {
2626
}
2727

2828

29-
29+
repository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/") {
30+
authentication(userName: "deployment", password: "deployment123")
31+
}
32+
snapshotRepository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/") {
33+
authentication(userName: "deployment", password: "deployment123")
34+
}
3035
}
3136
}
3237
}

Android/java/doraemonkit-no-op/upload-dev.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ if (publishArchivesType == 1) {
2626
}
2727

2828

29-
29+
repository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/") {
30+
authentication(userName: "deployment", password: "deployment123")
31+
}
32+
snapshotRepository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/") {
33+
authentication(userName: "deployment", password: "deployment123")
34+
}
3035
}
3136
}
3237
}

Android/java/doraemonkit-okhttp-api/upload-dev.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ if (publishArchivesType == 1) {
2626
}
2727

2828

29-
29+
repository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/") {
30+
authentication(userName: "deployment", password: "deployment123")
31+
}
32+
snapshotRepository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/") {
33+
authentication(userName: "deployment", password: "deployment123")
34+
}
3035
}
3136
}
3237
}

Android/java/doraemonkit-okhttp-v3/upload-dev.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ if (publishArchivesType == 1) {
2626
}
2727

2828

29-
29+
repository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/") {
30+
authentication(userName: "deployment", password: "deployment123")
31+
}
32+
snapshotRepository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/") {
33+
authentication(userName: "deployment", password: "deployment123")
34+
}
3035
}
3136
}
3237
}

Android/java/doraemonkit-okhttp-v4/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ android {
3939

4040
dependencies {
4141
implementation fileTree(include: ['*.jar'], dir: 'libs')
42+
implementation 'androidx.annotation:annotation:1.1.0'
4243
//implementation rootProject.ext.dependencies["appcompat"]
4344
compileOnly rootProject.ext.dependencies["okhttp_v4"]
4445
}

Android/java/doraemonkit-okhttp-v4/src/main/java/com/didichuxing/doraemonkit/okhttp_api/ByteCountBufferedSinkV4.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.didichuxing.doraemonkit.okhttp_api;
22

33

4-
import org.jetbrains.annotations.NotNull;
4+
5+
import androidx.annotation.NonNull;
56

67
import java.io.IOException;
78
import java.io.OutputStream;
@@ -197,15 +198,15 @@ public void close() throws IOException {
197198
mDelegate.close();
198199
}
199200

200-
@NotNull
201+
@NonNull
201202
@Override
202203
public Buffer getBuffer() {
203204
return mDelegate.getBuffer();
204205
}
205206

206-
@NotNull
207+
@NonNull
207208
@Override
208-
public BufferedSink write(@NotNull ByteString byteString, int i, int i1) throws IOException {
209+
public BufferedSink write(@NonNull ByteString byteString, int i, int i1) throws IOException {
209210
return mDelegate.write(byteString, i, i1);
210211
}
211212
}

Android/java/doraemonkit-okhttp-v4/upload-dev.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ if (publishArchivesType == 1) {
2626
}
2727

2828

29-
29+
repository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/") {
30+
authentication(userName: "deployment", password: "deployment123")
31+
}
32+
snapshotRepository(url: "http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/") {
33+
authentication(userName: "deployment", password: "deployment123")
34+
}
3035
}
3136
}
3237
}

0 commit comments

Comments
 (0)