Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
Booster
提交
61b0e437
B
Booster
项目概览
DiDi
/
Booster
通知
31
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
Booster
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
61b0e437
编写于
9月 21, 2020
作者:
J
johnsonlee
提交者:
zhiguoWang
9月 26, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix issue #192
上级
465ec427
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
387 addition
and
2 deletion
+387
-2
booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/gradle/BaseVariant.kt
.../main/kotlin/com/didiglobal/booster/gradle/BaseVariant.kt
+26
-0
booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/gradle/BaseVariantData.kt
...n/kotlin/com/didiglobal/booster/gradle/BaseVariantData.kt
+41
-0
booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/gradle/TransformInvocation.kt
...tlin/com/didiglobal/booster/gradle/TransformInvocation.kt
+1
-1
booster-android-gradle-v3_0/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV30.java
...ava/com/didiglobal/booster/gradle/BaseVariantDataV30.java
+7
-0
booster-android-gradle-v3_0/src/main/java/com/didiglobal/booster/gradle/VariantScopeV30.java
...n/java/com/didiglobal/booster/gradle/VariantScopeV30.java
+12
-0
booster-android-gradle-v3_2/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV32.java
...ava/com/didiglobal/booster/gradle/BaseVariantDataV32.java
+10
-0
booster-android-gradle-v3_2/src/main/java/com/didiglobal/booster/gradle/VariantScopeV32.java
...n/java/com/didiglobal/booster/gradle/VariantScopeV32.java
+20
-0
booster-android-gradle-v3_3/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV33.java
...ava/com/didiglobal/booster/gradle/BaseVariantDataV33.java
+46
-0
booster-android-gradle-v3_3/src/main/java/com/didiglobal/booster/gradle/VariantScopeV33.java
...n/java/com/didiglobal/booster/gradle/VariantScopeV33.java
+24
-0
booster-android-gradle-v3_5/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV35.java
...ava/com/didiglobal/booster/gradle/BaseVariantDataV35.java
+46
-0
booster-android-gradle-v3_5/src/main/java/com/didiglobal/booster/gradle/VariantScopeV35.java
...n/java/com/didiglobal/booster/gradle/VariantScopeV35.java
+24
-0
booster-android-gradle-v3_6/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV36.java
...ava/com/didiglobal/booster/gradle/BaseVariantDataV36.java
+46
-0
booster-android-gradle-v3_6/src/main/java/com/didiglobal/booster/gradle/VariantScopeV36.java
...n/java/com/didiglobal/booster/gradle/VariantScopeV36.java
+23
-0
booster-android-gradle-v4_0/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV40.java
...ava/com/didiglobal/booster/gradle/BaseVariantDataV40.java
+35
-0
booster-android-gradle-v4_0/src/main/java/com/didiglobal/booster/gradle/VariantScopeV40.java
...n/java/com/didiglobal/booster/gradle/VariantScopeV40.java
+23
-0
booster-task-compression/src/main/kotlin/com/didiglobal/booster/compression/CompressionReport.kt
...n/com/didiglobal/booster/compression/CompressionReport.kt
+1
-1
booster-task-compression/src/main/kotlin/com/didiglobal/booster/compression/SimpleCompressionTaskCreator.kt
...lobal/booster/compression/SimpleCompressionTaskCreator.kt
+2
-0
未找到文件。
booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/gradle/BaseVariant.kt
浏览文件 @
61b0e437
...
...
@@ -115,3 +115,29 @@ val BaseVariant.processResTask: ProcessAndroidResources
GTE_V3_2
->
VariantScopeV32
.
getProcessResourcesTask
(
scope
)
else
->
VariantScopeV30
.
getProcessResourcesTask
(
scope
)
}
/**
* The `bundleResources` tasks associates with this variant
*/
val
BaseVariant
.
bundleResourcesTask
:
Task
?
get
()
=
when
{
GTE_V4_X
->
VariantScopeV40
.
getBundleResourceTask
(
scope
)
GTE_V3_6
->
VariantScopeV36
.
getBundleResourceTask
(
scope
)
GTE_V3_5
->
VariantScopeV35
.
getBundleResourceTask
(
scope
)
GTE_V3_3
->
VariantScopeV33
.
getBundleResourceTask
(
scope
)
GTE_V3_2
->
VariantScopeV32
.
getBundleResourceTask
(
scope
)
else
->
VariantScopeV30
.
getBundleResourceTask
(
scope
)
}
/**
* The `packageBundle` tasks associates with this variant
*/
val
BaseVariant
.
packageBundleTask
:
Task
?
get
()
=
when
{
GTE_V4_X
->
VariantScopeV40
.
getPackageBundleTask
(
scope
)
GTE_V3_6
->
VariantScopeV36
.
getPackageBundleTask
(
scope
)
GTE_V3_5
->
VariantScopeV35
.
getPackageBundleTask
(
scope
)
GTE_V3_3
->
VariantScopeV33
.
getPackageBundleTask
(
scope
)
GTE_V3_2
->
VariantScopeV32
.
getPackageBundleTask
(
scope
)
else
->
VariantScopeV30
.
getPackageBundleTask
(
scope
)
}
booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/gradle/BaseVariantData.kt
浏览文件 @
61b0e437
...
...
@@ -3,42 +3,83 @@ package com.didiglobal.booster.gradle
import
com.android.build.gradle.internal.variant.BaseVariantData
fun
BaseVariantData
.
isAar
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
isAar
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
isAar
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
isAar
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
isAar
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
isAar
(
this
)
else
->
BaseVariantDataV30
.
isAar
(
this
)
}
fun
BaseVariantData
.
isApk
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
isApk
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
isApk
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
isApk
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
isApk
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
isApk
(
this
)
else
->
BaseVariantDataV30
.
isApk
(
this
)
}
fun
BaseVariantData
.
isBaseModule
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
isBaseModule
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
isBaseModule
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
isBaseModule
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
isBaseModule
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
isBaseModule
(
this
)
else
->
BaseVariantDataV30
.
isBaseModule
(
this
)
}
fun
BaseVariantData
.
isDynamicFeature
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
isDynamicFeature
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
isDynamicFeature
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
isDynamicFeature
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
isDynamicFeature
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
isDynamicFeature
(
this
)
else
->
BaseVariantDataV30
.
isDynamicFeature
(
this
)
}
fun
BaseVariantData
.
isForTesting
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
isForTesting
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
isForTesting
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
isForTesting
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
isForTesting
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
isForTesting
(
this
)
else
->
BaseVariantDataV30
.
isForTesting
(
this
)
}
fun
BaseVariantData
.
isHybrid
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
isHybrid
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
isHybrid
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
isHybrid
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
isHybrid
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
isHybrid
(
this
)
else
->
BaseVariantDataV30
.
isHybrid
(
this
)
}
fun
BaseVariantData
.
getAnalyticsVariantType
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
getAnalyticsVariantType
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
getAnalyticsVariantType
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
getAnalyticsVariantType
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
getAnalyticsVariantType
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
getAnalyticsVariantType
(
this
)
else
->
BaseVariantDataV30
.
getAnalyticsVariantType
(
this
)
}
fun
BaseVariantData
.
getApplicationId
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
getApplicationId
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
getApplicationId
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
getApplicationId
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
getApplicationId
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
getApplicationId
(
this
)
else
->
BaseVariantDataV30
.
getApplicationId
(
this
)
}
fun
BaseVariantData
.
getOriginalApplicationId
()
=
when
{
GTE_V4_X
->
BaseVariantDataV40
.
getOriginalApplicationId
(
this
)
GTE_V3_6
->
BaseVariantDataV36
.
getOriginalApplicationId
(
this
)
GTE_V3_5
->
BaseVariantDataV35
.
getOriginalApplicationId
(
this
)
GTE_V3_3
->
BaseVariantDataV33
.
getOriginalApplicationId
(
this
)
GTE_V3_2
->
BaseVariantDataV32
.
getOriginalApplicationId
(
this
)
else
->
BaseVariantDataV30
.
getOriginalApplicationId
(
this
)
}
booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/gradle/TransformInvocation.kt
浏览文件 @
61b0e437
...
...
@@ -66,7 +66,7 @@ val TransformInvocation.runtimeClasspath: Collection<File>
* Returns the application id
*/
val
TransformInvocation
.
applicationId
:
String
get
()
=
variant
.
applicationId
get
()
=
variant
.
variantData
.
getApplicationId
()
/**
* Returns the original application ID before any overrides from flavors
...
...
booster-android-gradle-v3_0/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV30.java
浏览文件 @
61b0e437
...
...
@@ -2,6 +2,7 @@ package com.didiglobal.booster.gradle;
import
com.android.build.gradle.internal.variant.BaseVariantData
;
import
com.google.wireless.android.sdk.stats.GradleBuildVariant
;
import
org.jetbrains.annotations.NotNull
;
class
BaseVariantDataV30
{
...
...
@@ -33,6 +34,12 @@ class BaseVariantDataV30 {
return
variantData
.
getType
().
getAnalyticsVariantType
();
}
@NotNull
public
static
String
getApplicationId
(
@NotNull
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getApplicationId
();
}
@NotNull
static
String
getOriginalApplicationId
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getOriginalApplicationId
();
}
...
...
booster-android-gradle-v3_0/src/main/java/com/didiglobal/booster/gradle/VariantScopeV30.java
浏览文件 @
61b0e437
...
...
@@ -9,8 +9,10 @@ import com.android.build.gradle.tasks.MergeResources;
import
com.android.build.gradle.tasks.ProcessAndroidResources
;
import
com.android.ide.common.res2.ResourceSet
;
import
com.android.sdklib.BuildToolInfo
;
import
org.gradle.api.Task
;
import
org.gradle.api.tasks.TaskContainer
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.File
;
import
java.lang.reflect.Method
;
...
...
@@ -141,4 +143,14 @@ class VariantScopeV30 {
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
return
(
ProcessAndroidResources
)
tasks
.
getByName
(
scope
.
getProcessResourcesTask
().
getName
());
}
@Nullable
public
static
Task
getBundleResourceTask
(
@NotNull
final
VariantScope
scope
)
{
return
null
;
}
@Nullable
static
Task
getPackageBundleTask
(
@NotNull
final
VariantScope
scope
)
{
return
null
;
}
}
booster-android-gradle-v3_2/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV32.java
浏览文件 @
61b0e437
...
...
@@ -2,6 +2,7 @@ package com.didiglobal.booster.gradle;
import
com.android.build.gradle.internal.variant.BaseVariantData
;
import
com.google.wireless.android.sdk.stats.GradleBuildVariant
;
import
org.jetbrains.annotations.NotNull
;
class
BaseVariantDataV32
{
...
...
@@ -33,4 +34,13 @@ class BaseVariantDataV32 {
return
variantData
.
getType
().
getAnalyticsVariantType
();
}
@NotNull
public
static
String
getApplicationId
(
@NotNull
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getApplicationId
();
}
@NotNull
static
String
getOriginalApplicationId
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getOriginalApplicationId
();
}
}
booster-android-gradle-v3_2/src/main/java/com/didiglobal/booster/gradle/VariantScopeV32.java
浏览文件 @
61b0e437
...
...
@@ -4,12 +4,17 @@ import com.android.build.api.artifact.ArtifactType;
import
com.android.build.api.artifact.BuildArtifactType
;
import
com.android.build.gradle.BaseExtension
;
import
com.android.build.gradle.internal.api.artifact.SourceArtifactType
;
import
com.android.build.gradle.internal.res.LinkAndroidResForBundleTask
;
import
com.android.build.gradle.internal.scope.AnchorOutputType
;
import
com.android.build.gradle.internal.scope.InternalArtifactType
;
import
com.android.build.gradle.internal.scope.VariantScope
;
import
com.android.build.gradle.tasks.ProcessAndroidResources
;
import
com.android.sdklib.BuildToolInfo
;
import
org.gradle.api.Task
;
import
org.gradle.api.UnknownTaskException
;
import
org.gradle.api.tasks.TaskContainer
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.File
;
import
java.util.Arrays
;
...
...
@@ -121,4 +126,19 @@ class VariantScopeV32 {
static
ProcessAndroidResources
getProcessResourcesTask
(
@NotNull
final
VariantScope
scope
)
{
return
scope
.
getProcessResourcesTask
();
}
@Nullable
static
LinkAndroidResForBundleTask
getBundleResourceTask
(
@NotNull
final
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
LinkAndroidResForBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"bundle"
,
"Resources"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
@Nullable
static
Task
getPackageBundleTask
(
@NotNull
final
VariantScope
scope
)
{
return
null
;
}
}
booster-android-gradle-v3_3/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV33.java
0 → 100644
浏览文件 @
61b0e437
package
com.didiglobal.booster.gradle
;
import
com.android.build.gradle.internal.variant.BaseVariantData
;
import
com.google.wireless.android.sdk.stats.GradleBuildVariant
;
import
org.jetbrains.annotations.NotNull
;
class
BaseVariantDataV33
{
static
boolean
isForTesting
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isForTesting
();
}
static
boolean
isAar
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isAar
();
}
static
boolean
isApk
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isApk
();
}
static
boolean
isBaseModule
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isBaseModule
();
}
static
boolean
isDynamicFeature
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isDynamicFeature
();
}
static
boolean
isHybrid
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isHybrid
();
}
static
GradleBuildVariant
.
VariantType
getAnalyticsVariantType
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
getAnalyticsVariantType
();
}
@NotNull
static
String
getApplicationId
(
@NotNull
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getApplicationId
();
}
@NotNull
static
String
getOriginalApplicationId
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getOriginalApplicationId
();
}
}
booster-android-gradle-v3_3/src/main/java/com/didiglobal/booster/gradle/VariantScopeV33.java
浏览文件 @
61b0e437
...
...
@@ -4,13 +4,17 @@ import com.android.build.api.artifact.ArtifactType;
import
com.android.build.api.artifact.BuildArtifactType
;
import
com.android.build.gradle.BaseExtension
;
import
com.android.build.gradle.internal.api.artifact.SourceArtifactType
;
import
com.android.build.gradle.internal.res.LinkAndroidResForBundleTask
;
import
com.android.build.gradle.internal.scope.AnchorOutputType
;
import
com.android.build.gradle.internal.scope.InternalArtifactType
;
import
com.android.build.gradle.internal.scope.VariantScope
;
import
com.android.build.gradle.internal.tasks.PackageBundleTask
;
import
com.android.build.gradle.tasks.ProcessAndroidResources
;
import
com.android.sdklib.BuildToolInfo
;
import
org.gradle.api.UnknownTaskException
;
import
org.gradle.api.tasks.TaskContainer
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.File
;
import
java.util.Arrays
;
...
...
@@ -121,4 +125,24 @@ class VariantScopeV33 {
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
return
(
ProcessAndroidResources
)
tasks
.
getByName
(
scope
.
getTaskName
(
"process"
,
"Resources"
));
}
@Nullable
static
LinkAndroidResForBundleTask
getBundleResourceTask
(
@NotNull
final
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
LinkAndroidResForBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"bundle"
,
"Resources"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
@Nullable
static
PackageBundleTask
getPackageBundleTask
(
@NotNull
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
PackageBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"package"
,
"Bundle"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
}
booster-android-gradle-v3_5/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV35.java
0 → 100644
浏览文件 @
61b0e437
package
com.didiglobal.booster.gradle
;
import
com.android.build.gradle.internal.variant.BaseVariantData
;
import
com.google.wireless.android.sdk.stats.GradleBuildVariant
;
import
org.jetbrains.annotations.NotNull
;
class
BaseVariantDataV35
{
static
boolean
isForTesting
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isForTesting
();
}
static
boolean
isAar
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isAar
();
}
static
boolean
isApk
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isApk
();
}
static
boolean
isBaseModule
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isBaseModule
();
}
static
boolean
isDynamicFeature
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isDynamicFeature
();
}
static
boolean
isHybrid
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isHybrid
();
}
static
GradleBuildVariant
.
VariantType
getAnalyticsVariantType
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
getAnalyticsVariantType
();
}
@NotNull
static
String
getApplicationId
(
@NotNull
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getApplicationId
();
}
@NotNull
static
String
getOriginalApplicationId
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getOriginalApplicationId
();
}
}
booster-android-gradle-v3_5/src/main/java/com/didiglobal/booster/gradle/VariantScopeV35.java
浏览文件 @
61b0e437
...
...
@@ -4,14 +4,18 @@ import com.android.build.api.artifact.ArtifactType;
import
com.android.build.api.artifact.BuildArtifactType
;
import
com.android.build.gradle.BaseExtension
;
import
com.android.build.gradle.internal.api.artifact.SourceArtifactType
;
import
com.android.build.gradle.internal.res.LinkAndroidResForBundleTask
;
import
com.android.build.gradle.internal.scope.AnchorOutputType
;
import
com.android.build.gradle.internal.scope.InternalArtifactType
;
import
com.android.build.gradle.internal.scope.VariantScope
;
import
com.android.build.gradle.internal.tasks.PackageBundleTask
;
import
com.android.build.gradle.tasks.ProcessAndroidResources
;
import
com.android.sdklib.BuildToolInfo
;
import
org.gradle.api.UnknownTaskException
;
import
org.gradle.api.file.FileSystemLocation
;
import
org.gradle.api.tasks.TaskContainer
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.File
;
import
java.util.Arrays
;
...
...
@@ -129,4 +133,24 @@ class VariantScopeV35 {
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
toList
());
}
@Nullable
static
LinkAndroidResForBundleTask
getBundleResourceTask
(
@NotNull
final
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
LinkAndroidResForBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"bundle"
,
"Resources"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
@Nullable
static
PackageBundleTask
getPackageBundleTask
(
@NotNull
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
PackageBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"package"
,
"Bundle"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
}
\ No newline at end of file
booster-android-gradle-v3_6/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV36.java
0 → 100644
浏览文件 @
61b0e437
package
com.didiglobal.booster.gradle
;
import
com.android.build.gradle.internal.variant.BaseVariantData
;
import
com.google.wireless.android.sdk.stats.GradleBuildVariant
;
import
org.jetbrains.annotations.NotNull
;
class
BaseVariantDataV36
{
static
boolean
isForTesting
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isForTesting
();
}
static
boolean
isAar
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isAar
();
}
static
boolean
isApk
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isApk
();
}
static
boolean
isBaseModule
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isBaseModule
();
}
static
boolean
isDynamicFeature
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isDynamicFeature
();
}
static
boolean
isHybrid
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isHybrid
();
}
static
GradleBuildVariant
.
VariantType
getAnalyticsVariantType
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
getAnalyticsVariantType
();
}
@NotNull
static
String
getApplicationId
(
@NotNull
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getApplicationId
();
}
@NotNull
static
String
getOriginalApplicationId
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getVariantConfiguration
().
getOriginalApplicationId
();
}
}
booster-android-gradle-v3_6/src/main/java/com/didiglobal/booster/gradle/VariantScopeV36.java
浏览文件 @
61b0e437
...
...
@@ -2,14 +2,18 @@ package com.didiglobal.booster.gradle;
import
com.android.build.api.artifact.ArtifactType
;
import
com.android.build.gradle.BaseExtension
;
import
com.android.build.gradle.internal.res.LinkAndroidResForBundleTask
;
import
com.android.build.gradle.internal.scope.AnchorOutputType
;
import
com.android.build.gradle.internal.scope.InternalArtifactType
;
import
com.android.build.gradle.internal.scope.VariantScope
;
import
com.android.build.gradle.internal.tasks.PackageBundleTask
;
import
com.android.build.gradle.tasks.ProcessAndroidResources
;
import
com.android.sdklib.BuildToolInfo
;
import
org.gradle.api.UnknownTaskException
;
import
org.gradle.api.file.FileSystemLocation
;
import
org.gradle.api.tasks.TaskContainer
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.File
;
import
java.util.AbstractMap
;
...
...
@@ -123,4 +127,23 @@ class VariantScopeV36 {
return
(
ProcessAndroidResources
)
tasks
.
getByName
(
scope
.
getTaskName
(
"process"
,
"Resources"
));
}
@Nullable
static
LinkAndroidResForBundleTask
getBundleResourceTask
(
@NotNull
final
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
LinkAndroidResForBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"bundle"
,
"Resources"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
@Nullable
static
PackageBundleTask
getPackageBundleTask
(
@NotNull
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
PackageBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"package"
,
"Bundle"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
}
booster-android-gradle-v4_0/src/main/java/com/didiglobal/booster/gradle/BaseVariantDataV40.java
浏览文件 @
61b0e437
package
com.didiglobal.booster.gradle
;
import
com.android.build.gradle.internal.variant.BaseVariantData
;
import
com.google.wireless.android.sdk.stats.GradleBuildVariant
;
import
org.jetbrains.annotations.NotNull
;
class
BaseVariantDataV40
{
static
boolean
isForTesting
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isForTesting
();
}
static
boolean
isAar
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isAar
();
}
static
boolean
isApk
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isApk
();
}
static
boolean
isBaseModule
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isBaseModule
();
}
static
boolean
isDynamicFeature
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
isDynamicFeature
();
}
static
boolean
isHybrid
(
final
BaseVariantData
variantData
)
{
return
false
;
}
static
GradleBuildVariant
.
VariantType
getAnalyticsVariantType
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getType
().
getAnalyticsVariantType
();
}
@NotNull
static
String
getApplicationId
(
@NotNull
BaseVariantData
variantData
)
{
return
variantData
.
getVariantDslInfo
().
getApplicationId
();
}
static
String
getOriginalApplicationId
(
final
BaseVariantData
variantData
)
{
return
variantData
.
getVariantDslInfo
().
getOriginalApplicationId
();
}
...
...
booster-android-gradle-v4_0/src/main/java/com/didiglobal/booster/gradle/VariantScopeV40.java
浏览文件 @
61b0e437
package
com.didiglobal.booster.gradle
;
import
com.android.build.gradle.BaseExtension
;
import
com.android.build.gradle.internal.res.LinkAndroidResForBundleTask
;
import
com.android.build.gradle.internal.scope.AnchorOutputType
;
import
com.android.build.gradle.internal.scope.InternalArtifactType
;
import
com.android.build.gradle.internal.scope.SingleArtifactType
;
import
com.android.build.gradle.internal.scope.VariantScope
;
import
com.android.build.gradle.internal.tasks.PackageBundleTask
;
import
com.android.build.gradle.tasks.ProcessAndroidResources
;
import
com.android.sdklib.BuildToolInfo
;
import
org.gradle.api.UnknownTaskException
;
import
org.gradle.api.file.FileSystemLocation
;
import
org.gradle.api.tasks.TaskContainer
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.File
;
import
java.util.AbstractMap
;
...
...
@@ -124,4 +128,23 @@ class VariantScopeV40 {
return
(
ProcessAndroidResources
)
tasks
.
getByName
(
scope
.
getTaskName
(
"process"
,
"Resources"
));
}
@Nullable
static
LinkAndroidResForBundleTask
getBundleResourceTask
(
@NotNull
final
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
LinkAndroidResForBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"bundle"
,
"Resources"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
@Nullable
static
PackageBundleTask
getPackageBundleTask
(
@NotNull
VariantScope
scope
)
{
final
TaskContainer
tasks
=
scope
.
getGlobalScope
().
getProject
().
getTasks
();
try
{
return
(
PackageBundleTask
)
tasks
.
getByName
(
scope
.
getTaskName
(
"package"
,
"Bundle"
));
}
catch
(
final
UnknownTaskException
e
)
{
return
null
;
}
}
}
booster-task-compression/src/main/kotlin/com/didiglobal/booster/compression/CompressionReport.kt
浏览文件 @
61b0e437
...
...
@@ -48,7 +48,7 @@ fun CompressionResults.generateReport(variant: BaseVariant, artifact: String) {
logger
.
println
(
"${it.sixth.padStart(maxWith6)} ${it.first.padEnd(maxWith1)} ${it.fifth.padStart(maxWith5)} ${it.seventh.padStart(maxWith7)} ${it.eighth}"
)
}
logger
.
println
(
"-"
.
repeat
(
maxWith1
+
maxWith5
+
maxWith6
+
2
))
logger
.
println
(
" TOTAL ${decimal(table.sumByDouble { it.fourth.toDouble() }).padStart(
fullWith - 13
)}"
)
logger
.
println
(
" TOTAL ${decimal(table.sumByDouble { it.fourth.toDouble() }).padStart(
(fullWith - 13).coerceAtLeast(0)
)}"
)
}
}
...
...
booster-task-compression/src/main/kotlin/com/didiglobal/booster/compression/SimpleCompressionTaskCreator.kt
浏览文件 @
61b0e437
...
...
@@ -4,6 +4,7 @@ import com.android.build.gradle.api.BaseVariant
import
com.didiglobal.booster.command.CommandInstaller
import
com.didiglobal.booster.compression.task.CompressImages
import
com.didiglobal.booster.gradle.aapt2Enabled
import
com.didiglobal.booster.gradle.bundleResourcesTask
import
com.didiglobal.booster.gradle.mergeResourcesTask
import
com.didiglobal.booster.gradle.processResTask
import
com.didiglobal.booster.gradle.project
...
...
@@ -34,6 +35,7 @@ class SimpleCompressionTaskCreator(private val tool: CompressionTool, private va
}.
apply
{
dependsOn
(
install
,
deps
)
variant
.
processResTask
.
dependsOn
(
this
)
variant
.
bundleResourcesTask
?.
dependsOn
(
this
)
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录