Skip to content

Commit

Permalink
build: 所有SDK模块改用java-library构建
Browse files Browse the repository at this point in the history
原本采用com.android.library构建,主要目的也是为了让代码能依赖android.jar。
但是由此引入了很多不必要的复杂性,比如有debug/release两个包,
比如没有什么意义的AndroidManifest.xml,比如所有模块都有aapt相关的处理任务等。

这次重构也将core.loader自行设置的Proguard过程去掉了,
因为一个库如果不是为了闭源保密,其实不应该自行做Proguard过程。

修改get-android-jar导出android.jar的方式是因为原本新建configuration的
方式不能兼容Kotlin工程,使得loader中的kotlin代码无法索引到android.jar。
  • Loading branch information
shifujun committed Dec 3, 2021
1 parent 0cf8396 commit 7b02667
Show file tree
Hide file tree
Showing 97 changed files with 249 additions and 776 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ jobs:
run: echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip' > gradle/wrapper/gradle-wrapper.properties
- name: buildSdk
run: ./gradlew buildSdk -S
- name: lintSdk
run: ./gradlew lintSdk
- name: build sample/source
run: ./gradlew build
- name: unit test
Expand Down Expand Up @@ -74,8 +72,6 @@ jobs:
run: echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip' > gradle/wrapper/gradle-wrapper.properties
- name: buildSdk
run: ./gradlew buildSdk -S
- name: lintSdk
run: ./gradlew lintSdk
- name: build sample/source
run: ./gradlew build
- name: stop gradle deamon for actions/cache
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ jobs:
run: echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip' > gradle/wrapper/gradle-wrapper.properties
- name: buildSdk
run: ./gradlew buildSdk
- name: lintSdk
run: ./gradlew lintSdk
- name: build sample/source
run: ./gradlew build
- name: unit test
Expand Down
20 changes: 0 additions & 20 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,3 @@ buildscript {
apply from: 'buildScripts/gradle/common.gradle'

apply from: "buildScripts/gradle/maven.gradle"

task clean(type: Delete) {
delete rootProject.buildDir
dependsOn gradle.includedBuild('coding').task(':checks:clean')
dependsOn gradle.includedBuild('coding').task(':lint:clean')
dependsOn gradle.includedBuild('coding').task(':code-generator:clean')
dependsOn gradle.includedBuild('core').task(':gradle-plugin:clean')
dependsOn gradle.includedBuild('core').task(':common:clean')
dependsOn gradle.includedBuild('core').task(':loader:clean')
dependsOn gradle.includedBuild('core').task(':manager:clean')
dependsOn gradle.includedBuild('core').task(':runtime:clean')
dependsOn gradle.includedBuild('core').task(':activity-container:clean')
dependsOn gradle.includedBuild('core').task(':transform:clean')
dependsOn gradle.includedBuild('core').task(':transform-kit:clean')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-apk:clean')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-host:clean')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader:clean')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader-impl:clean')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager:clean')
}
79 changes: 30 additions & 49 deletions buildScripts/gradle/maven.gradle
Original file line number Diff line number Diff line change
@@ -1,51 +1,33 @@
task buildSdk() {
dependsOn gradle.includedBuild('core').task(':gradle-plugin:assemble')
dependsOn gradle.includedBuild('core').task(':common:jarReleasePackage')
dependsOn gradle.includedBuild('core').task(':loader:assembleRelease')
dependsOn gradle.includedBuild('core').task(':manager:assembleRelease')
dependsOn gradle.includedBuild('core').task(':runtime:jarReleasePackage')
dependsOn gradle.includedBuild('core').task(':activity-container:jarReleasePackage')
dependsOn gradle.includedBuild('core').task(':common:assemble')
dependsOn gradle.includedBuild('core').task(':loader:assemble')
dependsOn gradle.includedBuild('core').task(':manager:assemble')
dependsOn gradle.includedBuild('core').task(':runtime:assemble')
dependsOn gradle.includedBuild('core').task(':activity-container:assemble')
dependsOn gradle.includedBuild('core').task(':transform-kit:assemble')
dependsOn gradle.includedBuild('core').task(':transform-kit:testJar')
dependsOn gradle.includedBuild('core').task(':transform:assemble')
dependsOn gradle.includedBuild('core').task(':load-parameters:assembleRelease')
dependsOn gradle.includedBuild('core').task(':load-parameters:assemble')
dependsOn gradle.includedBuild('core').task(':utils:assemble')

dependsOn gradle.includedBuild('dynamic').task(':dynamic-apk:jarReleasePackage')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-host:jarReleasePackage')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader:jarReleasePackage')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader-impl:assembleRelease')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager:assembleRelease')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-host-multi-loader-ext:jarReleasePackage')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager-multi-loader-ext:assembleRelease')
}

task lintSdk() {
dependsOn gradle.includedBuild('core').task(':common:lint')
dependsOn gradle.includedBuild('core').task(':loader:lint')
dependsOn gradle.includedBuild('core').task(':manager:lint')
dependsOn gradle.includedBuild('core').task(':runtime:lint')
dependsOn gradle.includedBuild('core').task(':activity-container:lint')
dependsOn gradle.includedBuild('core').task(':load-parameters:lint')

dependsOn gradle.includedBuild('dynamic').task(':dynamic-host:lint')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader-impl:lint')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager:lint')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-host-multi-loader-ext:lint')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager-multi-loader-ext:lint')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-apk:assemble')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-host:assemble')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader:assemble')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-loader-impl:assemble')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager:assemble')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-host-multi-loader-ext:assemble')
dependsOn gradle.includedBuild('dynamic').task(':dynamic-manager-multi-loader-ext:assemble')
}

task jvmTestSdk() {
dependsOn gradle.includedBuild('core').task(':transform-kit:test')
dependsOn gradle.includedBuild('core').task(':transform:test')
dependsOn gradle.includedBuild('core').task(':gradle-plugin:test')
dependsOn gradle.includedBuild('core').task(':utils:test')
dependsOn gradle.includedBuild('core').task(':loader:test')
dependsOn gradle.includedBuild('coding').task(':code-generator:test')
dependsOn gradle.includedBuild('coding').task(':test')
dependsOn gradle.includedBuild('core').task(':test')
dependsOn gradle.includedBuild('dynamic').task(':test')
}

task androidTestSdk() {
dependsOn gradle.includedBuild('core').task(':manager:connectedDebugAndroidTest')
dependsOn gradle.includedBuild('core').task(':manager-db-test:connectedDebugAndroidTest')
dependsOn ':test-dynamic-host:connectedDebugAndroidTest'
}

Expand Down Expand Up @@ -91,7 +73,6 @@ def setGeneratePomFileAndDepends(publicationName) {
tasks."generatePomFileFor${publicationName.capitalize()}Publication" {
destination = file("$buildDir/pom/$publicationName-pom.xml")
dependsOn(buildSdk)
dependsOn(lintSdk)
}
}
}
Expand Down Expand Up @@ -140,7 +121,7 @@ publishing {
groupId coreGroupId
artifactId 'common'
version publicationVersion
artifact("$corePath/common/build/outputs/jar/common-release.jar")
artifact("$corePath/common/build/libs/common.jar")
artifact sourceJar("common", "$corePath/common")

pom.withXml {
Expand All @@ -154,7 +135,7 @@ publishing {
groupId coreGroupId
artifactId 'load-parameters'
version publicationVersion
artifact("$corePath/load-parameters/build/outputs/aar/load-parameters-release.aar")
artifact("$corePath/load-parameters/build/libs/load-parameters.jar")
artifact sourceJar("loadParameters", "$corePath/load-parameters")

pom.withXml {
Expand All @@ -168,7 +149,7 @@ publishing {
groupId coreGroupId
artifactId 'loader'
version publicationVersion
artifact("$corePath/loader/build/outputs/aar/loader-release.aar")
artifact("$corePath/loader/build/libs/loader.jar")
artifact sourceJar("loader", "$corePath/loader")

pom.withXml {
Expand All @@ -188,7 +169,7 @@ publishing {
groupId coreGroupId
artifactId 'manager'
version publicationVersion
artifact("$corePath/manager/build/outputs/aar/manager-release.aar")
artifact("$corePath/manager/build/libs/manager.jar")
artifact sourceJar("manager", "$corePath/manager")

pom.withXml {
Expand All @@ -206,7 +187,7 @@ publishing {
groupId coreGroupId
artifactId 'runtime'
version publicationVersion
artifact("$corePath/runtime/build/outputs/jar/runtime-release.jar")
artifact("$corePath/runtime/build/libs/runtime.jar")
artifact sourceJar("runtime", "$corePath/runtime")

pom.withXml {
Expand All @@ -220,7 +201,7 @@ publishing {
groupId coreGroupId
artifactId 'activity-container'
version publicationVersion
artifact("$corePath/activity-container/build/outputs/jar/activity-container-release.jar")
artifact("$corePath/activity-container/build/libs/activity-container.jar")
artifact sourceJar("activity-container", "$corePath/activity-container")

pom.withXml {
Expand Down Expand Up @@ -286,7 +267,7 @@ publishing {
groupId dynamicGroupId
artifactId 'apk'
version publicationVersion
artifact("$dynamicPath/dynamic-apk/build/outputs/jar/dynamic-apk-release.jar")
artifact("$dynamicPath/dynamic-apk/build/libs/dynamic-apk.jar")
artifact sourceJar("dynamicApk", "$dynamicPath/dynamic-apk")

pom.withXml {
Expand All @@ -302,7 +283,7 @@ publishing {
groupId dynamicGroupId
artifactId 'host'
version publicationVersion
artifact("$dynamicPath/dynamic-host/build/outputs/jar/dynamic-host-release.jar")
artifact("$dynamicPath/dynamic-host/build/libs/dynamic-host.jar")
artifact sourceJar("dynamicHost", "$dynamicPath/dynamic-host")

pom.withXml {
Expand All @@ -320,7 +301,7 @@ publishing {
groupId dynamicGroupId
artifactId 'host-multi-loader-ext'
version publicationVersion
artifact("$dynamicPath/dynamic-host-multi-loader-ext/build/outputs/jar/dynamic-host-multi-loader-ext-release.jar")
artifact("$dynamicPath/dynamic-host-multi-loader-ext/build/libs/dynamic-host-multi-loader-ext.jar")
artifact sourceJar("dynamicHostMultiLoaderExt", "$dynamicPath/dynamic-host-multi-loader-ext")

pom.withXml {
Expand All @@ -338,7 +319,7 @@ publishing {
groupId dynamicGroupId
artifactId 'loader'
version publicationVersion
artifact("$dynamicPath/dynamic-loader/build/outputs/jar/dynamic-loader-release.jar")
artifact("$dynamicPath/dynamic-loader/build/libs/dynamic-loader.jar")
artifact sourceJar("dynamicLoader", "$dynamicPath/dynamic-loader")

pom.withXml {
Expand All @@ -351,7 +332,7 @@ publishing {
groupId dynamicGroupId
artifactId 'loader-impl'
version publicationVersion
artifact("$dynamicPath/dynamic-loader-impl/build/outputs/aar/dynamic-loader-impl-release.aar")
artifact("$dynamicPath/dynamic-loader-impl/build/libs/dynamic-loader-impl.jar")
artifact sourceJar("dynamicLoaderImpl", "$dynamicPath/dynamic-loader-impl")

pom.withXml {
Expand All @@ -372,7 +353,7 @@ publishing {
groupId dynamicGroupId
artifactId 'manager'
version publicationVersion
artifact("$dynamicPath/dynamic-manager/build/outputs/aar/dynamic-manager-release.aar")
artifact("$dynamicPath/dynamic-manager/build/libs/dynamic-manager.jar")
artifact sourceJar("dynamicManager", "$dynamicPath/dynamic-manager")

pom.withXml {
Expand All @@ -392,7 +373,7 @@ publishing {
groupId dynamicGroupId
artifactId 'manager-multi-loader-ext'
version publicationVersion
artifact("$dynamicPath/dynamic-manager-multi-loader-ext/build/outputs/aar/dynamic-manager-multi-loader-ext-release.aar")
artifact("$dynamicPath/dynamic-manager-multi-loader-ext/build/libs/dynamic-manager-multi-loader-ext.jar")
artifact sourceJar("dynamicManagerMultiLoaderExt", "$dynamicPath/dynamic-manager-multi-loader-ext")

pom.withXml {
Expand Down
4 changes: 2 additions & 2 deletions projects/sample/source/sample-plugin/sample-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ buildscript {
}

dependencies {
classpath group: 'com.tencent.shadow.core', name: 'runtime', configuration: 'jar-debug'
classpath group: 'com.tencent.shadow.core', name: 'activity-container', configuration: 'jar-debug'
classpath 'com.tencent.shadow.core:runtime'
classpath 'com.tencent.shadow.core:activity-container'
classpath 'com.tencent.shadow.core:gradle-plugin'
classpath 'org.javassist:javassist:3.28.0-GA'
}
Expand Down
4 changes: 2 additions & 2 deletions projects/sample/source/sample-plugin/sample-base/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ buildscript {
}

dependencies {
classpath group: 'com.tencent.shadow.core', name: 'runtime', configuration: 'jar-debug'
classpath group: 'com.tencent.shadow.core', name: 'activity-container', configuration: 'jar-debug'
classpath 'com.tencent.shadow.core:runtime'
classpath 'com.tencent.shadow.core:activity-container'
classpath 'com.tencent.shadow.core:gradle-plugin'
classpath 'org.javassist:javassist:3.28.0-GA'
}
Expand Down
2 changes: 0 additions & 2 deletions projects/sdk/coding/aar-to-jar-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ apply plugin: 'java-gradle-plugin'

apply plugin: 'kotlin'

group 'com.tencent.shadow.coding'

gradlePlugin {
plugins {
shadow {
Expand Down
File renamed without changes.
12 changes: 12 additions & 0 deletions projects/sdk/coding/android-jar/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apply plugin: 'java-library'

java {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}

evaluationDependsOn(':get-android-jar')
dependencies {
def androidJarPath = project(':get-android-jar').androidJarPath
api files(androidJarPath)
}
6 changes: 6 additions & 0 deletions projects/sdk/coding/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,9 @@ buildscript {
}
apply from: '../../../buildScripts/gradle/common.gradle'

allprojects {
group 'com.tencent.shadow.coding'
}

tasks.create('test').dependsOn subprojects.collect { it.getTasksByName('test', false) }

41 changes: 0 additions & 41 deletions projects/sdk/coding/checks/build.gradle

This file was deleted.

This file was deleted.

Loading

0 comments on commit 7b02667

Please sign in to comment.