├── .gitignore ├── .idea ├── .gitignore ├── .name ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml ├── misc.xml └── runConfigurations.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── testcomposingbuilds │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── testcomposingbuilds │ │ │ └── MainActivity.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── values-night │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── example │ └── testcomposingbuilds │ └── ExampleUnitTest.kt ├── build.gradle ├── buildSrc ├── build.gradle.kts ├── build │ ├── classes │ │ └── kotlin │ │ │ └── main │ │ │ ├── META-INF │ │ │ └── buildSrc.kotlin_module │ │ │ └── com │ │ │ └── sss │ │ │ └── plugin │ │ │ ├── AndroidX.class │ │ │ ├── AndroidXVersion.class │ │ │ ├── BuildVersion.class │ │ │ ├── Deps.class │ │ │ ├── Kotlin.class │ │ │ └── KotlinVersion.class │ ├── kotlin │ │ ├── buildSrcjar-classes.txt │ │ └── compileKotlin │ │ │ ├── build-history.bin │ │ │ ├── caches-jvm │ │ │ ├── inputs │ │ │ │ ├── source-to-output.tab │ │ │ │ ├── source-to-output.tab.keystream │ │ │ │ ├── source-to-output.tab.keystream.len │ │ │ │ ├── source-to-output.tab.len │ │ │ │ ├── source-to-output.tab.values.at │ │ │ │ ├── source-to-output.tab_i │ │ │ │ └── source-to-output.tab_i.len │ │ │ ├── jvm │ │ │ │ └── kotlin │ │ │ │ │ ├── class-fq-name-to-source.tab │ │ │ │ │ ├── class-fq-name-to-source.tab.keystream │ │ │ │ │ ├── class-fq-name-to-source.tab.keystream.len │ │ │ │ │ ├── class-fq-name-to-source.tab.len │ │ │ │ │ ├── class-fq-name-to-source.tab.values.at │ │ │ │ │ ├── class-fq-name-to-source.tab_i │ │ │ │ │ ├── class-fq-name-to-source.tab_i.len │ │ │ │ │ ├── internal-name-to-source.tab │ │ │ │ │ ├── internal-name-to-source.tab.keystream │ │ │ │ │ ├── internal-name-to-source.tab.keystream.len │ │ │ │ │ ├── internal-name-to-source.tab.len │ │ │ │ │ ├── internal-name-to-source.tab.values.at │ │ │ │ │ ├── internal-name-to-source.tab_i │ │ │ │ │ ├── internal-name-to-source.tab_i.len │ │ │ │ │ ├── proto.tab │ │ │ │ │ ├── proto.tab.keystream │ │ │ │ │ ├── proto.tab.keystream.len │ │ │ │ │ ├── proto.tab.len │ │ │ │ │ ├── proto.tab.values.at │ │ │ │ │ ├── proto.tab_i │ │ │ │ │ ├── proto.tab_i.len │ │ │ │ │ ├── source-to-classes.tab │ │ │ │ │ ├── source-to-classes.tab.keystream │ │ │ │ │ ├── source-to-classes.tab.keystream.len │ │ │ │ │ ├── source-to-classes.tab.len │ │ │ │ │ ├── source-to-classes.tab.values.at │ │ │ │ │ ├── source-to-classes.tab_i │ │ │ │ │ └── source-to-classes.tab_i.len │ │ │ └── lookups │ │ │ │ ├── counters.tab │ │ │ │ ├── file-to-id.tab │ │ │ │ ├── file-to-id.tab.keystream │ │ │ │ ├── file-to-id.tab.keystream.len │ │ │ │ ├── file-to-id.tab.len │ │ │ │ ├── file-to-id.tab.values.at │ │ │ │ ├── file-to-id.tab_i │ │ │ │ ├── file-to-id.tab_i.len │ │ │ │ ├── id-to-file.tab │ │ │ │ ├── id-to-file.tab.keystream │ │ │ │ ├── id-to-file.tab.keystream.len │ │ │ │ ├── id-to-file.tab.len │ │ │ │ ├── id-to-file.tab.values.at │ │ │ │ ├── id-to-file.tab_i │ │ │ │ ├── id-to-file.tab_i.len │ │ │ │ ├── lookups.tab │ │ │ │ ├── lookups.tab.keystream │ │ │ │ ├── lookups.tab.keystream.len │ │ │ │ ├── lookups.tab.len │ │ │ │ ├── lookups.tab.values.at │ │ │ │ ├── lookups.tab_i │ │ │ │ └── lookups.tab_i.len │ │ │ └── last-build.bin │ ├── libs │ │ └── buildSrc.jar │ ├── pluginUnderTestMetadata │ │ └── plugin-under-test-metadata.properties │ ├── reports │ │ └── plugin-development │ │ │ └── validation-report.txt │ ├── source-roots │ │ └── buildSrc │ │ │ └── source-roots.txt │ └── tmp │ │ └── jar │ │ └── MANIFEST.MF └── src │ └── main │ └── java │ └── com.sss.plugin │ ├── AndroidX.kt │ ├── BuildVersion.kt │ ├── Deps.kt │ └── Kotlin.kt ├── config.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mylibrary ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ └── AndroidManifest.xml ├── settings.gradle └── version ├── .gitignore ├── build.gradle └── src └── main └── java └── com └── sss └── plugin ├── AndroidX.kt ├── BuildVersion.kt ├── Deps.kt ├── DepsPlugin.kt └── Kotlin.kt /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | TestComposingBuilds -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 119 | 120 | 122 | 123 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 23 | 24 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 前言 2 | 3 | 长期以来我们在开发项目都有很会遇到一些依赖库的问题,1.在项目中依赖okhttp库,我需先到github上搜okhttp库,然后粘贴依赖到项目中。2.项目中的依赖有各种各有的版本,造成了项目体积的变大和编译速度的变慢。3. 如果我们使用的是google推荐的ext方式管理依赖库,由于as不会智能提示,每次新增依赖都需要在ext文件中找半天自己需要的库。这些问题都让我们在开发过程中非常难受😣😣。 4 | 5 | * 对于2问题的解决:统一版本依赖,现如今流行的方式有3种,ext管理、buildSrc、ComposingBuilds(组合构建)。 6 | 7 | * 对于1问题的解决:将项目开发经常要用到的库的最新版本放到统一版本管理,需要那个直接用哪个,这个问题我已经帮大家解决了,我将最常用的,最新的库都放入版本库中了,只要简单的配置就能轻松的使用。[CommonVersion](https://github.com/AndroidBBQ/CommonVersion) 8 | 9 | * 对应3问题的解决:使用buildSrc或ComposingBuilds 10 | 11 | ### 管理gradle依赖 12 | 13 | 1. 手动管理,这种就不推荐了,容易造成上面所说的第二种问题 14 | 15 | 2. ext管理,这是google推荐的方式[Android官方的ext方式](https://developer.android.com/studio/build/gradle-tips#groovy),这种方式的好处就是稳定,坏处就是上面的问题3,没有提示,这点比较头疼。看最新的库,比如okhttp等,慢慢的都不用这种方式了。 16 | 17 | 3. buildSrc,这种方式现在比较流行,可以有提示,现在一些新的库都在用它。但实际用起来会有点问题,后面说 18 | 19 | 4. ComposingBuilds,⭐️复合构建的方式,这种方式和buildSrc非常类似,但是性能要比builSrc高些。后面说 20 | 21 | 22 | 23 | 后两种方式的目的都是为了能够方便的提示,就像这种效果,用起来非常nice。 24 | 25 | ![](https://user-gold-cdn.xitu.io/2018/5/31/163b57650aacdc7d?imageslim) 26 | 27 | ### 使用(先使用,然后再讲原理和对比) 28 | 29 | #### ComposingBuilds 推荐指数⭐️⭐️⭐️⭐️⭐️ 30 | 31 | 1. 在项目中新建 version(名字随便取) 的Android model,语言选kotlin,修改version模块下的build.gradle如下 32 | 33 | ```groovy 34 | buildscript { 35 | repositories { 36 | jcenter() 37 | } 38 | dependencies { 39 | // 因为使用的 Kotlin 需要需要添加 Kotlin 插件 40 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10" 41 | } 42 | } 43 | 44 | apply plugin: 'kotlin' 45 | apply plugin: 'java-gradle-plugin' 46 | 47 | repositories { 48 | jcenter() 49 | } 50 | 51 | dependencies { 52 | implementation gradleApi() 53 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10" 54 | 55 | } 56 | 57 | compileKotlin { 58 | kotlinOptions { 59 | jvmTarget = "1.8" 60 | } 61 | } 62 | 63 | 64 | gradlePlugin { 65 | plugins { 66 | version { 67 | // 这下面的两个根据自己的模块的包名和类名称变化 68 | //在模块中需要通过这个id来找到这个插件 69 | id = 'com.sss.plugin' 70 | // 插件对应的类 71 | implementationClass = 'com.sss.plugin.DepsPlugin' 72 | } 73 | } 74 | } 75 | ``` 76 | 77 | 2. 新建DepsPlugin.kt(这个文件要和上面配置的对的上)文件,然后让它继承Plugin 78 | 79 | ```kotlin 80 | import org.gradle.api.Plugin 81 | import org.gradle.api.Project 82 | 83 | /** 84 | * 这地方如果报红的话,可以不用管 85 | */ 86 | class DepsPlugin:Plugin { 87 | override fun apply(target: Project) { 88 | 89 | } 90 | } 91 | ``` 92 | 93 | 3. 这样就可以新建自己依赖文件了,比如我想统一 compileSdkVersion ,我就可以新建一个BuildVersion.kt 文件 94 | 95 | ```kotlin 96 | object BuildVersion { 97 | val compileSdkVersion = 30 98 | } 99 | ``` 100 | 101 | 4. 在setting.gradle中配置 102 | 103 | ```groovy 104 | includeBuild 'version' 105 | ``` 106 | 107 | 5. 在项目的 build.gradle 中配置,让所有的模块全部都添加 `com.sss.plugin` 这个插件 108 | 109 | ```groovy 110 | plugins { 111 | id "com.sss.plugin" apply false 112 | } 113 | 114 | allprojects { 115 | repositories { 116 | google() 117 | jcenter() 118 | 119 | } 120 | } 121 | subprojects { subproject -> 122 | // 默认应用所有子模块中 123 | apply plugin: 'com.sss.plugin' 124 | } 125 | ``` 126 | 127 | 6. 在模块中使用,可以看到已经有提示了 128 | 129 | ![](https://i.loli.net/2021/06/17/RcHdh1rINDvE5Wo.png) 130 | 131 | 132 | 133 | 我已经将version模块封装好了,里面还封装了常用的最新的库依赖,项目在[CommonVersion](https://github.com/AndroidBBQ/CommonVersion)中,你可以将里面的version模块拷贝到你的项目目录下,然后再配置4、5、6步,就可以啦。棒棒哒~ 134 | 135 | #### buildSrc 推荐指数⭐️⭐️⭐️⭐️ 136 | 137 | 1. 新建一个kotlin model,起个名字叫`buildSrc` 一定要叫这个名字,创建好后将setting.gradle中的`·include ':buildSrc'` 给删除掉 138 | 2. 然后将buildSrc下的 build.gradle 重命名成 `build.gradle.kts` ,然后将里面的内容全部删除,并新增如下内容 139 | 140 | ```kotlin 141 | plugins { 142 | `kotlin-dsl` 143 | } 144 | repositories{ 145 | jcenter() 146 | } 147 | ``` 148 | 149 | 3. 前两步其实就已经完成了buildSrc了,然后新建自己依赖文件了,比如我想统一 compileSdkVersion ,我就可以新建一个BuildVersion.kt 文件 150 | 151 | ```kotlin 152 | object BuildVersion { 153 | val compileSdkVersion = 30 154 | } 155 | ``` 156 | 157 | 4. 然后点击Sync Project with Gradle Files,完成。 158 | 159 | ![](https://i.loli.net/2021/06/18/6vXaiqzlPhySjJt.png) 160 | 161 | 5. 在模块中使用,可以看到已经有提示了 162 | 163 | ![](https://i.loli.net/2021/06/17/RcHdh1rINDvE5Wo.png) 164 | 165 | 可以看到buildSrc的方式对比ComposingBuilds的方式更加简单哦,但它也有自己的缺点后面说。 166 | 167 | 我已经将buildSrc模块封装好了,里面还封装了常用的最新的库依赖,项目在[CommonVersion](https://github.com/AndroidBBQ/CommonVersion)中,你可以将里面的buildSrc模块拷贝到你的项目目录下,然后再配置4、5步,就可以啦。棒棒哒~ 168 | 169 | #### ext依赖 推荐指数⭐️⭐️ 170 | 171 | 这个google推荐的方式,相对来说比较稳定,更加简单,我们只需要将依赖放到一个依赖文件中,然后项目的build.gradle通过 `apply from:"config.gradle"` 来引用,就可以在项目中使用了,但没有依赖提示,会造成上面说的3问题,但仍然是个非常好的方式。 172 | 173 | 我已经将这个 config.gradle 封装好了,里面还封装了常用的最新的库依赖,项目在[CommonVersion](https://github.com/AndroidBBQ/CommonVersion)中 174 | 175 | ,你可以将其中的 `config.gradle` 文件拷贝到你的项目中,然后在项目的 build.gradle 增加下面一行代码,项目就可以使用了 176 | 177 | ```groovy 178 | apply from: "config.gradle" 179 | 180 | //引用了之后在要使用的模块中,通过这样的方式引用 181 | implementation rootProject.ext.AndroidX.annotation 182 | ``` 183 | 184 | ### 原理和对比 185 | 186 | ##### buildSrc 187 | 188 | 我们来看看gradle官方给出的 [gradle文档](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#declare_properties_in_gradle_properties_file) ,buildSrc会优先于脚本插件的。 189 | 190 | ![](https://i.loli.net/2021/06/18/TI6UGonmXhgMRWe.png) 191 | 192 | buildSrc也会有一些缺点,可以看到,如果buildSrc有些改动,比如我将一个依赖从1.0升级到了2.0会导致整个项目过时,需要重新构建整个项目。 193 | 194 | ![](https://i.loli.net/2021/06/18/mRPelHOhZ2Xkwiz.png) 195 | 196 | ##### ComposingBuilds 197 | 198 | 我们来看看gradle官方文档[gradle文档](https://docs.gradle.org/current/userguide/composite_builds.html) ,它和buildSrc相比较,它并不会重新构建整个项目,所以对比下来性能更高些。 199 | 200 | ![](https://i.loli.net/2021/06/18/LO49kYuVtdHJ1wn.png) 201 | 202 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | import com.sss.plugin.AndroidX 2 | 3 | apply plugin: 'com.android.application' 4 | apply plugin: 'kotlin-android' 5 | 6 | 7 | android { 8 | compileSdkVersion 30 9 | buildToolsVersion "30.0.3" 10 | 11 | defaultConfig { 12 | applicationId "" 13 | minSdkVersion rootProject.ext.BuildVersion.minSdkVersion 14 | targetSdkVersion 30 15 | versionCode 1 16 | versionName "1.0" 17 | 18 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 19 | } 20 | 21 | buildTypes { 22 | release { 23 | minifyEnabled false 24 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 25 | } 26 | } 27 | compileOptions { 28 | sourceCompatibility JavaVersion.VERSION_1_8 29 | targetCompatibility JavaVersion.VERSION_1_8 30 | } 31 | kotlinOptions { 32 | jvmTarget = '1.8' 33 | } 34 | } 35 | 36 | dependencies { 37 | implementation(AndroidX.appcompat) 38 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 39 | testImplementation 'junit:junit:4.+' 40 | androidTestImplementation 'androidx.test.ext:junit:1.1.1' 41 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' 42 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/androidTest/java/com/example/testcomposingbuilds/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.testcomposingbuilds 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.example.testcomposingbuilds", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/example/testcomposingbuilds/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.testcomposingbuilds 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import android.os.Bundle 5 | 6 | class MainActivity : AppCompatActivity() { 7 | override fun onCreate(savedInstanceState: Bundle?) { 8 | super.onCreate(savedInstanceState) 9 | setContentView(R.layout.activity_main) 10 | } 11 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TestComposingBuilds 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/test/java/com/example/testcomposingbuilds/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.example.testcomposingbuilds 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | apply from: "config.gradle" 3 | 4 | 5 | buildscript { 6 | ext.kotlin_version = "1.4.10" 7 | repositories { 8 | google() 9 | jcenter() 10 | } 11 | dependencies { 12 | classpath "com.android.tools.build:gradle:4.1.1" 13 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 14 | 15 | // NOTE: Do not place your application dependencies here; they belong 16 | // in the individual module build.gradle files 17 | } 18 | } 19 | 20 | /** 21 | * 如果需要ComposingBuilds 2. 将下面的 plugins{}放开 22 | * 如果在多项目构建中,可能想把插件应用到子项目中,apply false 来告诉 Gradle 不要应用插件 23 | * 24 | * plugins {} 默认的行为是解析和应用插件 25 | */ 26 | /*plugins { 27 | id "com.sss.plugin" apply false 28 | }*/ 29 | 30 | allprojects { 31 | repositories { 32 | google() 33 | jcenter() 34 | 35 | } 36 | } 37 | //如果需要ComposingBuilds 3. 将下面的 subprojects{}放开 让所有的项目都引用这个插件 38 | 39 | /*subprojects { subproject -> 40 | // 默认应用所有子项目中 41 | apply plugin: 'com.sss.plugin' 42 | }*/ 43 | 44 | 45 | 46 | task clean(type: Delete) { 47 | delete rootProject.buildDir 48 | } -------------------------------------------------------------------------------- /buildSrc/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | repositories{ 5 | jcenter() 6 | } -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/META-INF/buildSrc.kotlin_module: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/com/sss/plugin/AndroidX.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/classes/kotlin/main/com/sss/plugin/AndroidX.class -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/com/sss/plugin/AndroidXVersion.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/classes/kotlin/main/com/sss/plugin/AndroidXVersion.class -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/com/sss/plugin/BuildVersion.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/classes/kotlin/main/com/sss/plugin/BuildVersion.class -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/com/sss/plugin/Deps.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/classes/kotlin/main/com/sss/plugin/Deps.class -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/com/sss/plugin/Kotlin.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/classes/kotlin/main/com/sss/plugin/Kotlin.class -------------------------------------------------------------------------------- /buildSrc/build/classes/kotlin/main/com/sss/plugin/KotlinVersion.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/classes/kotlin/main/com/sss/plugin/KotlinVersion.class -------------------------------------------------------------------------------- /buildSrc/build/kotlin/buildSrcjar-classes.txt: -------------------------------------------------------------------------------- 1 | /Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main/com/sss/plugin/AndroidX.class:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main/com/sss/plugin/AndroidXVersion.class:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main/com/sss/plugin/BuildVersion.class:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main/com/sss/plugin/Deps.class:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main/com/sss/plugin/Kotlin.class:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main/com/sss/plugin/KotlinVersion.class -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/build-history.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/build-history.bin -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream: -------------------------------------------------------------------------------- 1 | c/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Deps.ktk/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/BuildVersion.kte/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.ktg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kt -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream: -------------------------------------------------------------------------------- 1 | com.sss.plugin.AndroidXVersioncom.sss.plugin.AndroidXcom.sss.plugin.BuildVersioncom.sss.plugin.Depscom.sss.plugin.KotlinVersioncom.sss.plugin.Kotlin -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at: -------------------------------------------------------------------------------- 1 | /Header Record For PersistentHashMapValueStoragehg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.ktlk/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/BuildVersion.ktdc/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Deps.ktfe/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.ktfe/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kt -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream: -------------------------------------------------------------------------------- 1 | com/sss/plugin/AndroidXVersioncom/sss/plugin/AndroidXcom/sss/plugin/BuildVersioncom/sss/plugin/Depscom/sss/plugin/KotlinVersioncom/sss/plugin/Kotlin -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at: -------------------------------------------------------------------------------- 1 | /Header Record For PersistentHashMapValueStoragehg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.ktlk/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/BuildVersion.ktdc/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Deps.ktfe/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.ktfe/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kt -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream: -------------------------------------------------------------------------------- 1 | com/sss/plugin/AndroidXVersioncom/sss/plugin/AndroidXcom/sss/plugin/BuildVersioncom/sss/plugin/Depscom/sss/plugin/KotlinVersioncom/sss/plugin/Kotlin.kotlin_module -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream: -------------------------------------------------------------------------------- 1 | g/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.ktk/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/BuildVersion.ktc/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Deps.kte/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.kt -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at: -------------------------------------------------------------------------------- 1 | /Header Record For PersistentHashMapValueStorageFcom/sss/plugin/AndroidXVersioncom/sss/plugin/AndroidX.kotlin_module+com/sss/plugin/BuildVersion.kotlin_module#com/sss/plugin/Deps.kotlin_moduleBcom/sss/plugin/KotlinVersioncom/sss/plugin/Kotlin.kotlin_moduleFcom/sss/plugin/AndroidXVersioncom/sss/plugin/AndroidX.kotlin_module -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab: -------------------------------------------------------------------------------- 1 | 5 2 | 1 -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream: -------------------------------------------------------------------------------- 1 | g/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.ktk/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/BuildVersion.ktc/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Deps.kte/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.kt -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at: -------------------------------------------------------------------------------- 1 | /Header Record For PersistentHashMapValueStorage -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at: -------------------------------------------------------------------------------- 1 | /Header Record For PersistentHashMapValueStoragehg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.ktlk/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/BuildVersion.ktdc/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Deps.ktfe/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/Kotlin.kthg/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/src/main/java/com.sss.plugin/AndroidX.kt -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at: -------------------------------------------------------------------------------- 1 | /Header Record For PersistentHashMapValueStorage -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i.len -------------------------------------------------------------------------------- /buildSrc/build/kotlin/compileKotlin/last-build.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/kotlin/compileKotlin/last-build.bin -------------------------------------------------------------------------------- /buildSrc/build/libs/buildSrc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/libs/buildSrc.jar -------------------------------------------------------------------------------- /buildSrc/build/pluginUnderTestMetadata/plugin-under-test-metadata.properties: -------------------------------------------------------------------------------- 1 | implementation-classpath=/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/java/main\:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/groovy/main\:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/classes/kotlin/main\:/Users/gexuelei/AndroidStudioProjects/ComposingBuilds/buildSrc/build/resources/main 2 | -------------------------------------------------------------------------------- /buildSrc/build/reports/plugin-development/validation-report.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/buildSrc/build/reports/plugin-development/validation-report.txt -------------------------------------------------------------------------------- /buildSrc/build/source-roots/buildSrc/source-roots.txt: -------------------------------------------------------------------------------- 1 | src/main/resources 2 | src/main/java 3 | src/main/groovy 4 | src/main/kotlin 5 | src/test/resources 6 | src/test/java 7 | src/test/groovy 8 | src/test/kotlin 9 | -------------------------------------------------------------------------------- /buildSrc/build/tmp/jar/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | 3 | -------------------------------------------------------------------------------- /buildSrc/src/main/java/com.sss.plugin/AndroidX.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | private object AndroidXVersion { 4 | val annotation = "1.2.0" 5 | val appcompat = "1.2.0" 6 | val cardview = "1.0.0" 7 | val drawerlayout = "1.1.1" 8 | val constraintlayout = "2.0.4" 9 | val recyclerview = "1.2.0" 10 | val core_version = "1.3.2" 11 | val lifecycle_version = "2.3.1" 12 | val nav_version = "2.3.5" 13 | val paging_version = "3.0.0" 14 | val room_version = "2.3.0" 15 | val work_version = "2.5.0" 16 | val fragment = "1.3.4" 17 | val hint = "2.36" 18 | val startup = "1.0.0" 19 | val swiperefreshlayout = "1.1.0" 20 | val viewpager2 = "1.0.0" 21 | val webkit = "1.4.0" 22 | } 23 | 24 | /** 25 | * AndroidX 相关依赖 26 | * 最新版本可参考:https://developer.android.com/jetpack/androidx/versions?hl=zh-cn 27 | */ 28 | object AndroidX { 29 | val annotation = "androidx.annotation:annotation:${AndroidXVersion.annotation}" 30 | val appcompat = "androidx.appcompat:appcompat:${AndroidXVersion.appcompat}" 31 | val cardview = "androidx.cardview:cardview:${AndroidXVersion.cardview}" 32 | val drawerlayout = "androidx.drawerlayout:drawerlayout:${AndroidXVersion.drawerlayout}" 33 | val constraintlayout = 34 | "androidx.constraintlayout:constraintlayout:${AndroidXVersion.constraintlayout}" 35 | val recyclerview = "androidx.recyclerview:recyclerview:${AndroidXVersion.recyclerview}" 36 | 37 | //core 38 | val core = "androidx.core:core:${AndroidXVersion.core_version}" 39 | val core_ktx = "androidx.core:core-ktx:${AndroidXVersion.core_version}" 40 | 41 | //fragment 42 | val fragment = "androidx.fragment:fragment:${AndroidXVersion.fragment}" 43 | val fragment_ktx = "androidx.fragment:fragment-ktx:${AndroidXVersion.fragment}" 44 | 45 | //hilt 46 | val hilt_android = "com.google.dagger:hilt-android:${AndroidXVersion.hint}" 47 | val hilt_compiler = "com.google.dagger:hilt-compiler:${AndroidXVersion.hint}" 48 | 49 | //lifecycle kotlin版本 50 | val lifecycle_viewmodel_ktx = 51 | "androidx.lifecycle:lifecycle-viewmodel-ktx:${AndroidXVersion.lifecycle_version}" 52 | val lifecycle_livedata_ktx = 53 | "androidx.lifecycle:lifecycle-livedata-ktx:${AndroidXVersion.lifecycle_version}" 54 | val lifecycle_runtime_ktx = 55 | "androidx.lifecycle:lifecycle-runtime-ktx:${AndroidXVersion.lifecycle_version}" 56 | val lifecycle_compiler = 57 | "androidx.lifecycle:lifecycle-compiler:${AndroidXVersion.lifecycle_version}" 58 | val lifecycle_common_java8 = 59 | "androidx.lifecycle:lifecycle-common-java8:${AndroidXVersion.lifecycle_version}" 60 | val lifecycle_service = 61 | "androidx.lifecycle:lifecycle-service:${AndroidXVersion.lifecycle_version}" 62 | val lifecycle_process = 63 | "androidx.lifecycle:lifecycle-process:${AndroidXVersion.lifecycle_version}" 64 | val lifecycle_reactivestreams_ktx = 65 | "androidx.lifecycle:lifecycle-reactivestreams-ktx:${AndroidXVersion.lifecycle_version}" 66 | 67 | //lifecycle java版本 68 | val lifecycle_viewmodel = 69 | "androidx.lifecycle:lifecycle-viewmodel:${AndroidXVersion.lifecycle_version}" 70 | val lifecycle_livedata = 71 | "androidx.lifecycle:lifecycle-livedata:${AndroidXVersion.lifecycle_version}" 72 | val lifecycle_runtime = 73 | "androidx.lifecycle:lifecycle-runtime:${AndroidXVersion.lifecycle_version}" 74 | 75 | 76 | // navigation java 77 | val navigation_fragment = 78 | "androidx.navigation:navigation-fragment:${AndroidXVersion.nav_version}" 79 | val navigation_ui = "androidx.navigation:navigation-ui:${AndroidXVersion.nav_version}" 80 | 81 | // navigation Kotlin 82 | val navigation_fragment_ktx = 83 | "androidx.navigation:navigation-fragment-ktx:${AndroidXVersion.nav_version}" 84 | val navigation_ui_ktx = "androidx.navigation:navigation-ui-ktx:${AndroidXVersion.nav_version}" 85 | 86 | //paging 87 | val paging_runtime = "androidx.paging:paging-runtime:${AndroidXVersion.paging_version}" 88 | val paging_rxjava2 = "androidx.paging:paging-rxjava2:${AndroidXVersion.paging_version}" 89 | val paging_rxjava3 = "androidx.paging:paging-rxjava3:${AndroidXVersion.paging_version}" 90 | 91 | //room 92 | val room_runtime = "androidx.room:room-runtime:${AndroidXVersion.room_version}" 93 | val room_compiler = "androidx.room:room-compiler:${AndroidXVersion.room_version}" 94 | val room_rxjava2 = "androidx.room:room-rxjava2:${AndroidXVersion.room_version}" 95 | val room_rxjava3 = "androidx.room:room-rxjava3:${AndroidXVersion.room_version}" 96 | 97 | val startup_runtime = "androidx.startup:startup-runtime:${AndroidXVersion.startup}" 98 | val swiperefreshlayout = 99 | "androidx.swiperefreshlayout:swiperefreshlayout:${AndroidXVersion.swiperefreshlayout}" 100 | val viewpager2 = "androidx.viewpager2:viewpager2:${AndroidXVersion.viewpager2}" 101 | val webkit = "androidx.webkit:webkit:${AndroidXVersion.webkit}" 102 | 103 | //work 104 | val work_runtime = "androidx.work:work-runtime:${AndroidXVersion.work_version}" 105 | val work_runtime_ktx = "androidx.work:work-runtime-ktx:${AndroidXVersion.work_version}" 106 | val work_rxjava2 = "androidx.work:work-rxjava2:${AndroidXVersion.work_version}" 107 | } -------------------------------------------------------------------------------- /buildSrc/src/main/java/com.sss.plugin/BuildVersion.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | 4 | object BuildVersion { 5 | val applicationId = "com.example.testcomposingbuilds" 6 | val compileSdkVersion = 30 7 | val buildToolsVersion = "30.0.3" 8 | val minSdkVersion = 21 9 | val targetSdkVersion = 30 10 | val versionCode = 1 11 | val versionName = "1.0" 12 | } -------------------------------------------------------------------------------- /buildSrc/src/main/java/com.sss.plugin/Deps.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | /** 4 | * 一些常用的第三方依赖 5 | */ 6 | object Deps { 7 | //okhttp 8 | val okhttp = "com.squareup.okhttp3:okhttp:4.9.1" 9 | 10 | //retrofit 11 | val retrofit = "com.squareup.retrofit2:retrofit:2.9.0" 12 | val adapter_rxjava2 = "com.squareup.retrofit2:adapter-rxjava2:latest.version" 13 | val adapter_rxjava3 = "com.squareup.retrofit2:adapter-rxjava3:latest.version" 14 | val converter_gson = "com.squareup.retrofit2:converter-gson:latest.version" 15 | val converter_moshi = "com.squareup.retrofit2:converter-moshi:latest.version" 16 | val converter_simplexml = "com.squareup.retrofit2:converter-simplexml:latest.version" 17 | 18 | //rxjava 19 | val rxjava3 = "io.reactivex.rxjava3:rxjava:3.0.13" 20 | 21 | //rxandroid 22 | val rxandroid = "io.reactivex.rxjava3:rxandroid:3.0.0" 23 | 24 | val BRVAH = "com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4" 25 | 26 | //smart_refresh_layout 27 | val refresh_layout_kernel = "com.scwang.smart:refresh-layout-kernel:2.0.3" //核心必须依赖 28 | val refresh_header_classics = "com.scwang.smart:refresh-header-classics:2.0.3" //经典刷新头 29 | val refresh_footer_classics = "com.scwang.smart:refresh-footer-classics:2.0.3" //经典加载 30 | 31 | //glide 32 | val glide = "com.github.bumptech.glide:glide:4.12.0" 33 | val glideCompiler = "com.github.bumptech.glide:compiler:4.12.0" 34 | 35 | //eventbus 36 | val eventbus = "org.greenrobot:eventbus:3.2.0" 37 | 38 | //gson 39 | val gson = "com.google.code.gson:gson:2.8.7" 40 | 41 | //autosize 42 | val autosize = "me.jessyan:autosize:1.2.1" 43 | 44 | val xxpermissions = "com.github.getActivity:XXPermissions:10.8" 45 | 46 | val mmkv = "com.tencent:mmkv-static:1.2.7" 47 | 48 | val toastutils = "com.github.getActivity:ToastUtils:9.0" 49 | val aroute = "com.alibaba:arouter-api:1.5.1" 50 | val aroute_processor = "com.alibaba:arouter-compiler:1.5.1" 51 | val agentweb = "com.just.agentweb:agentweb-androidx:4.1.3" 52 | val leakcanary = "com.squareup.leakcanary:leakcanary-android:2.6" 53 | } -------------------------------------------------------------------------------- /buildSrc/src/main/java/com.sss.plugin/Kotlin.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | private object KotlinVersion { 4 | val kotlin_version = "1.4.10" 5 | val koin_version = "3.0.2" 6 | } 7 | 8 | /** 9 | * kotlin 相关依赖 10 | */ 11 | object Kotlin { 12 | val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib:${KotlinVersion.kotlin_version}" 13 | val kotlin_stdlib_jdk7 = 14 | "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${KotlinVersion.kotlin_version}" 15 | val kotlin_stdlib_jdk8 = 16 | "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${KotlinVersion.kotlin_version}" 17 | 18 | //协程 19 | val kotlinx_coroutines_android = 20 | "org.jetbrains.kotlinx:kotlinx-coroutines-android:${KotlinVersion.kotlin_version}" 21 | 22 | //koin 23 | val koin_core = "io.insert-koin:koin-core:${KotlinVersion.koin_version}" 24 | val koin_core_ext = "io.insert-koin:koin-core-ext:${KotlinVersion.koin_version}" 25 | val koin_android = "io.insert-koin:koin-android:${KotlinVersion.koin_version}" 26 | val koin_android_ext = "io.insert-koin:koin-android-ext:${KotlinVersion.koin_version}" 27 | val koin_androidx_workmanager = 28 | "io.insert-koin:koin-androidx-workmanager:${KotlinVersion.koin_version}" 29 | val koin_androidx_compose = "io.insert-koin:koin-androidx-compose:${KotlinVersion.koin_version}" 30 | val koin_android_viewmodel = "org.koin:koin-android-viewmodel:${KotlinVersion.koin_version}" 31 | } -------------------------------------------------------------------------------- /config.gradle: -------------------------------------------------------------------------------- 1 | ext { 2 | BuildVersion = [ 3 | applicationId : "com.example.testcomposingbuilds", 4 | compileSdkVersion: 30, 5 | buildToolsVersion: "30.0.3", 6 | minSdkVersion : 21, 7 | targetSdkVersion : 30, 8 | versionCode : 1, 9 | versionName : "1.0" 10 | ] 11 | 12 | AndroidXVersion = [ 13 | annotation : "1.2.0", 14 | appcompat : "1.2.0", 15 | cardview : "1.0.0", 16 | drawerlayout : "1.1.1", 17 | constraintlayout : "2.0.4", 18 | recyclerview : "1.2.0", 19 | core_version : "1.3.2", 20 | lifecycle_version : "2.3.1", 21 | nav_version : "2.3.5", 22 | paging_version : "3.0.0", 23 | room_version : "2.3.0", 24 | work_version : "2.5.0", 25 | fragment : "1.3.4", 26 | hint : "2.36", 27 | startup : "1.0.0", 28 | swiperefreshlayout: "1.1.0", 29 | viewpager2 : "1.0.0", 30 | webkit : "1.4.0" 31 | ] 32 | 33 | /** 34 | * AndroidX 相关依赖 35 | * 最新版本可参考:https://developer.android.com/jetpack/androidx/versions?hl=zh-cn 36 | */ 37 | AndroidX = [ 38 | annotation : "androidx.annotation:annotation:${AndroidXVersion.annotation}", 39 | appcompat : "androidx.appcompat:appcompat:${AndroidXVersion.appcompat}", 40 | cardview : "androidx.cardview:cardview:${AndroidXVersion.cardview}", 41 | drawerlayout : "androidx.drawerlayout:drawerlayout:${AndroidXVersion.drawerlayout}", 42 | constraintlayout : 43 | "androidx.constraintlayout:constraintlayout:${AndroidXVersion.constraintlayout}", 44 | recyclerview : "androidx.recyclerview:recyclerview:${AndroidXVersion.recyclerview}", 45 | 46 | //core 47 | core : "androidx.core:core:${AndroidXVersion.core_version}", 48 | core_ktx : "androidx.core:core-ktx:${AndroidXVersion.core_version}", 49 | 50 | //fragment 51 | fragment : "androidx.fragment:fragment:${AndroidXVersion.fragment}", 52 | fragment_ktx : "androidx.fragment:fragment-ktx:${AndroidXVersion.fragment}", 53 | 54 | //hilt 55 | hilt_android : "com.google.dagger:hilt-android:${AndroidXVersion.hint}", 56 | hilt_compiler : "com.google.dagger:hilt-compiler:${AndroidXVersion.hint}", 57 | 58 | //lifecycle kotlin版本 59 | lifecycle_viewmodel_ktx : 60 | "androidx.lifecycle:lifecycle-viewmodel-ktx:${AndroidXVersion.lifecycle_version} ", 61 | lifecycle_livedata_ktx : 62 | "androidx.lifecycle:lifecycle-livedata-ktx:${AndroidXVersion.lifecycle_version} ", 63 | lifecycle_runtime_ktx : 64 | "androidx.lifecycle:lifecycle-runtime-ktx:${AndroidXVersion.lifecycle_version} ", 65 | lifecycle_compiler : 66 | "androidx.lifecycle:lifecycle-compiler:${AndroidXVersion.lifecycle_version} ", 67 | lifecycle_common_java8 : 68 | "androidx.lifecycle:lifecycle-common-java8:${AndroidXVersion.lifecycle_version} ", 69 | lifecycle_service : 70 | "androidx.lifecycle:lifecycle-service:${AndroidXVersion.lifecycle_version} ", 71 | lifecycle_process : 72 | "androidx.lifecycle:lifecycle-process:${AndroidXVersion.lifecycle_version} ", 73 | lifecycle_reactivestreams_ktx: 74 | "androidx.lifecycle:lifecycle-reactivestreams-ktx:${AndroidXVersion.lifecycle_version} ", 75 | 76 | //lifecycle java版本 77 | lifecycle_viewmodel : 78 | "androidx.lifecycle:lifecycle-viewmodel:${AndroidXVersion.lifecycle_version} ", 79 | lifecycle_livedata : 80 | "androidx.lifecycle:lifecycle-livedata:${AndroidXVersion.lifecycle_version} ", 81 | lifecycle_runtime : 82 | "androidx.lifecycle:lifecycle-runtime:${AndroidXVersion.lifecycle_version} ", 83 | 84 | 85 | // navigation java 86 | navigation_fragment : 87 | "androidx.navigation:navigation-fragment:${AndroidXVersion.nav_version} ", 88 | navigation_ui : "androidx.navigation:navigation-ui:${AndroidXVersion.nav_version}", 89 | 90 | // navigation Kotlin 91 | navigation_fragment_ktx : 92 | "androidx.navigation:navigation-fragment-ktx:${AndroidXVersion.nav_version} ", 93 | navigation_ui_ktx : "androidx.navigation:navigation-ui-ktx:${AndroidXVersion.nav_version}", 94 | 95 | //paging 96 | paging_runtime : "androidx.paging:paging-runtime:${AndroidXVersion.paging_version}", 97 | paging_rxjava2 : "androidx.paging:paging-rxjava2:${AndroidXVersion.paging_version}", 98 | paging_rxjava3 : "androidx.paging:paging-rxjava3:${AndroidXVersion.paging_version}", 99 | 100 | //room 101 | room_runtime : "androidx.room:room-runtime:${AndroidXVersion.room_version}", 102 | room_compiler : "androidx.room:room-compiler:${AndroidXVersion.room_version}", 103 | room_rxjava2 : "androidx.room:room-rxjava2:${AndroidXVersion.room_version} ", 104 | room_rxjava3 : "androidx.room:room-rxjava3:${AndroidXVersion.room_version} ", 105 | 106 | startup_runtime : "androidx.startup:startup-runtime:${AndroidXVersion.startup}", 107 | swiperefreshlayout : 108 | "androidx.swiperefreshlayout:swiperefreshlayout:${AndroidXVersion.swiperefreshlayout}", 109 | viewpager2 : "androidx.viewpager2:viewpager2:${AndroidXVersion.viewpager2}", 110 | webkit : "androidx.webkit:webkit:${AndroidXVersion.webkit}", 111 | 112 | //work 113 | work_runtime : "androidx.work:work-runtime:${AndroidXVersion.work_version}", 114 | work_runtime_ktx : "androidx.work:work-runtime-ktx:${AndroidXVersion.work_version}", 115 | work_rxjava2 : "androidx.work:work-rxjava2:${AndroidXVersion.work_version}" 116 | ] 117 | 118 | KotlinVersion = [ 119 | kotlin_version: "1.4.10", 120 | koin_version : "3.0.2" 121 | ] 122 | 123 | /** 124 | * kotlin 相关依赖 125 | */ 126 | Kotlin = [ 127 | kotlin_stdlib : "org.jetbrains.kotlin:kotlin-stdlib:${KotlinVersion.kotlin_version}", 128 | kotlin_stdlib_jdk7 : 129 | "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${KotlinVersion.kotlin_version}", 130 | kotlin_stdlib_jdk8 : 131 | "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${KotlinVersion.kotlin_version}", 132 | 133 | //协程 134 | kotlinx_coroutines_android: 135 | "org.jetbrains.kotlinx:kotlinx-coroutines-android:${KotlinVersion.kotlin_version}", 136 | 137 | //koin 138 | koin_core : "io.insert-koin:koin-core:${KotlinVersion.koin_version}", 139 | koin_core_ext : "io.insert-koin:koin-core-ext:${KotlinVersion.koin_version}", 140 | koin_android : "io.insert-koin:koin-android:${KotlinVersion.koin_version}", 141 | koin_android_ext : "io.insert-koin:koin-android-ext:${KotlinVersion.koin_version}", 142 | koin_androidx_workmanager : 143 | "io.insert-koin:koin-androidx-workmanager:${KotlinVersion.koin_version}", 144 | koin_androidx_compose : "io.insert-koin:koin-androidx-compose:${KotlinVersion.koin_version}", 145 | koin_android_viewmodel : "org.koin:koin-android-viewmodel:${KotlinVersion.koin_version}" 146 | ] 147 | 148 | Deps = [ 149 | //okhttp 150 | okhttp : "com.squareup.okhttp3:okhttp:4.9.1", 151 | 152 | //retrofit 153 | retrofit : "com.squareup.retrofit2:retrofit:2.9.0", 154 | adapter_rxjava2 : "com.squareup.retrofit2:adapter-rxjava2:latest.version", 155 | adapter_rxjava3 : "com.squareup.retrofit2:adapter-rxjava3:latest.version", 156 | converter_gson : "com.squareup.retrofit2:converter-gson:latest.version", 157 | converter_moshi : "com.squareup.retrofit2:converter-moshi:latest.version", 158 | converter_simplexml : "com.squareup.retrofit2:converter-simplexml:latest.version", 159 | 160 | //rxjava 161 | rxjava3 : "io.reactivex.rxjava3:rxjava:3.0.13", 162 | 163 | //rxandroid 164 | rxandroid : "io.reactivex.rxjava3:rxandroid:3.0.0", 165 | 166 | BRVAH : "com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4", 167 | 168 | //smart_refresh_layout 169 | refresh_layout_kernel : "com.scwang.smart:refresh-layout-kernel:2.0.3", //核心必须依赖 170 | refresh_header_classics : "com.scwang.smart:refresh-header-classics:2.0.3", //经典刷新头 171 | refresh_footer_classics : "com.scwang.smart:refresh-footer-classics:2.0.3", //经典加载 172 | 173 | //glide 174 | glide : "com.github.bumptech.glide:glide:4.12.0", 175 | glideCompiler : "com.github.bumptech.glide:compiler:4.12.0", 176 | 177 | //eventbus 178 | eventbus : "org.greenrobot:eventbus:3.2.0", 179 | 180 | //gson 181 | gson : "com.google.code.gson:gson:2.8.7", 182 | 183 | //autosize 184 | autosize : "me.jessyan:autosize:1.2.1", 185 | 186 | xxpermissions : "com.github.getActivity:XXPermissions:10.8", 187 | 188 | mmkv : "com.tencent:mmkv-static:1.2.7", 189 | 190 | toastutils : "com.github.getActivity:ToastUtils:9.0", 191 | aroute : "com.alibaba:arouter-api:1.5.1", 192 | aroute_processor : "com.alibaba:arouter-compiler:1.5.1", 193 | agentweb : "com.just.agentweb:agentweb-androidx:4.1.3", 194 | leakcanary : "com.squareup.leakcanary:leakcanary-android:2.6" 195 | ] 196 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Automatically convert third-party libraries to use AndroidX 19 | android.enableJetifier=true 20 | # Kotlin code style for this project: "official" or "obsolete": 21 | kotlin.code.style=official -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Apr 13 18:25:17 CST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /mylibrary/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /mylibrary/build.gradle: -------------------------------------------------------------------------------- 1 | import com.sss.plugin.AndroidX 2 | 3 | plugins { 4 | id 'com.android.library' 5 | id 'kotlin-android' 6 | } 7 | 8 | android { 9 | compileSdkVersion 30 10 | buildToolsVersion "30.0.3" 11 | 12 | defaultConfig { 13 | minSdkVersion 21 14 | targetSdkVersion 30 15 | versionCode 1 16 | versionName "1.0" 17 | 18 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 19 | consumerProguardFiles "consumer-rules.pro" 20 | } 21 | 22 | buildTypes { 23 | release { 24 | minifyEnabled false 25 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 26 | } 27 | } 28 | compileOptions { 29 | sourceCompatibility JavaVersion.VERSION_1_8 30 | targetCompatibility JavaVersion.VERSION_1_8 31 | } 32 | kotlinOptions { 33 | jvmTarget = '1.8' 34 | } 35 | } 36 | 37 | dependencies { 38 | implementation(AndroidX.appcompat) 39 | 40 | api rootProject.ext.Deps.mmkv 41 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 42 | } -------------------------------------------------------------------------------- /mylibrary/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidBBQ/CommonVersion/d3cccc1ddb61ddcc5d4126e1d771be9fb9ffb018/mylibrary/consumer-rules.pro -------------------------------------------------------------------------------- /mylibrary/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /mylibrary/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | // 如果需要ComposingBuilds 1. 将下面的 includeBuild 放开 2 | //includeBuild 'version' 3 | rootProject.name = "TestComposingBuilds" 4 | include ':app' 5 | include ':mylibrary' 6 | -------------------------------------------------------------------------------- /version/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /version/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | jcenter() 4 | } 5 | dependencies { 6 | // 因为使用的 Kotlin 需要需要添加 Kotlin 插件 7 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10" 8 | } 9 | } 10 | 11 | apply plugin: 'kotlin' 12 | apply plugin: 'java-gradle-plugin' 13 | 14 | repositories { 15 | jcenter() 16 | } 17 | 18 | dependencies { 19 | implementation gradleApi() 20 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10" 21 | 22 | } 23 | 24 | compileKotlin { 25 | kotlinOptions { 26 | jvmTarget = "1.8" 27 | } 28 | } 29 | 30 | 31 | gradlePlugin { 32 | plugins { 33 | version { 34 | //在模块中需要通过这个id来找到这个插件 35 | id = 'com.sss.plugin' 36 | // 插件对应的类 37 | implementationClass = 'com.sss.plugin.DepsPlugin' 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /version/src/main/java/com/sss/plugin/AndroidX.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | private object AndroidXVersion { 4 | val annotation = "1.2.0" 5 | val appcompat = "1.2.0" 6 | val cardview = "1.0.0" 7 | val drawerlayout = "1.1.1" 8 | val constraintlayout = "2.0.4" 9 | val recyclerview = "1.2.0" 10 | val core_version = "1.3.2" 11 | val lifecycle_version = "2.3.1" 12 | val nav_version = "2.3.5" 13 | val paging_version = "3.0.0" 14 | val room_version = "2.3.0" 15 | val work_version = "2.5.0" 16 | val fragment = "1.3.4" 17 | val hint = "2.36" 18 | val startup = "1.0.0" 19 | val swiperefreshlayout = "1.1.0" 20 | val viewpager2 = "1.0.0" 21 | val webkit = "1.4.0" 22 | } 23 | 24 | /** 25 | * AndroidX 相关依赖 26 | * 最新版本可参考:https://developer.android.com/jetpack/androidx/versions?hl=zh-cn 27 | */ 28 | object AndroidX { 29 | val annotation = "androidx.annotation:annotation:${AndroidXVersion.annotation}" 30 | val appcompat = "androidx.appcompat:appcompat:${AndroidXVersion.appcompat}" 31 | val cardview = "androidx.cardview:cardview:${AndroidXVersion.cardview}" 32 | val drawerlayout = "androidx.drawerlayout:drawerlayout:${AndroidXVersion.drawerlayout}" 33 | val constraintlayout = 34 | "androidx.constraintlayout:constraintlayout:${AndroidXVersion.constraintlayout}" 35 | val recyclerview = "androidx.recyclerview:recyclerview:${AndroidXVersion.recyclerview}" 36 | 37 | //core 38 | val core = "androidx.core:core:${AndroidXVersion.core_version}" 39 | val core_ktx = "androidx.core:core-ktx:${AndroidXVersion.core_version}" 40 | 41 | //fragment 42 | val fragment = "androidx.fragment:fragment:${AndroidXVersion.fragment}" 43 | val fragment_ktx = "androidx.fragment:fragment-ktx:${AndroidXVersion.fragment}" 44 | 45 | //hilt 46 | val hilt_android = "com.google.dagger:hilt-android:${AndroidXVersion.hint}" 47 | val hilt_compiler = "com.google.dagger:hilt-compiler:${AndroidXVersion.hint}" 48 | 49 | //lifecycle kotlin版本 50 | val lifecycle_viewmodel_ktx = 51 | "androidx.lifecycle:lifecycle-viewmodel-ktx:${AndroidXVersion.lifecycle_version}" 52 | val lifecycle_livedata_ktx = 53 | "androidx.lifecycle:lifecycle-livedata-ktx:${AndroidXVersion.lifecycle_version}" 54 | val lifecycle_runtime_ktx = 55 | "androidx.lifecycle:lifecycle-runtime-ktx:${AndroidXVersion.lifecycle_version}" 56 | val lifecycle_compiler = 57 | "androidx.lifecycle:lifecycle-compiler:${AndroidXVersion.lifecycle_version}" 58 | val lifecycle_common_java8 = 59 | "androidx.lifecycle:lifecycle-common-java8:${AndroidXVersion.lifecycle_version}" 60 | val lifecycle_service = 61 | "androidx.lifecycle:lifecycle-service:${AndroidXVersion.lifecycle_version}" 62 | val lifecycle_process = 63 | "androidx.lifecycle:lifecycle-process:${AndroidXVersion.lifecycle_version}" 64 | val lifecycle_reactivestreams_ktx = 65 | "androidx.lifecycle:lifecycle-reactivestreams-ktx:${AndroidXVersion.lifecycle_version}" 66 | 67 | //lifecycle java版本 68 | val lifecycle_viewmodel = 69 | "androidx.lifecycle:lifecycle-viewmodel:${AndroidXVersion.lifecycle_version}" 70 | val lifecycle_livedata = 71 | "androidx.lifecycle:lifecycle-livedata:${AndroidXVersion.lifecycle_version}" 72 | val lifecycle_runtime = 73 | "androidx.lifecycle:lifecycle-runtime:${AndroidXVersion.lifecycle_version}" 74 | 75 | 76 | // navigation java 77 | val navigation_fragment = 78 | "androidx.navigation:navigation-fragment:${AndroidXVersion.nav_version}" 79 | val navigation_ui = "androidx.navigation:navigation-ui:${AndroidXVersion.nav_version}" 80 | 81 | // navigation Kotlin 82 | val navigation_fragment_ktx = 83 | "androidx.navigation:navigation-fragment-ktx:${AndroidXVersion.nav_version}" 84 | val navigation_ui_ktx = "androidx.navigation:navigation-ui-ktx:${AndroidXVersion.nav_version}" 85 | 86 | //paging 87 | val paging_runtime = "androidx.paging:paging-runtime:${AndroidXVersion.paging_version}" 88 | val paging_rxjava2 = "androidx.paging:paging-rxjava2:${AndroidXVersion.paging_version}" 89 | val paging_rxjava3 = "androidx.paging:paging-rxjava3:${AndroidXVersion.paging_version}" 90 | 91 | //room 92 | val room_runtime = "androidx.room:room-runtime:${AndroidXVersion.room_version}" 93 | val room_compiler = "androidx.room:room-compiler:${AndroidXVersion.room_version}" 94 | val room_rxjava2 = "androidx.room:room-rxjava2:${AndroidXVersion.room_version}" 95 | val room_rxjava3 = "androidx.room:room-rxjava3:${AndroidXVersion.room_version}" 96 | 97 | val startup_runtime = "androidx.startup:startup-runtime:${AndroidXVersion.startup}" 98 | val swiperefreshlayout = 99 | "androidx.swiperefreshlayout:swiperefreshlayout:${AndroidXVersion.swiperefreshlayout}" 100 | val viewpager2 = "androidx.viewpager2:viewpager2:${AndroidXVersion.viewpager2}" 101 | val webkit = "androidx.webkit:webkit:${AndroidXVersion.webkit}" 102 | 103 | //work 104 | val work_runtime = "androidx.work:work-runtime:${AndroidXVersion.work_version}" 105 | val work_runtime_ktx = "androidx.work:work-runtime-ktx:${AndroidXVersion.work_version}" 106 | val work_rxjava2 = "androidx.work:work-rxjava2:${AndroidXVersion.work_version}" 107 | } -------------------------------------------------------------------------------- /version/src/main/java/com/sss/plugin/BuildVersion.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | 4 | object BuildVersion { 5 | val applicationId = "com.example.testcomposingbuilds" 6 | val compileSdkVersion = 30 7 | val buildToolsVersion = "30.0.3" 8 | val minSdkVersion = 21 9 | val targetSdkVersion = 30 10 | val versionCode = 1 11 | val versionName = "1.0" 12 | } -------------------------------------------------------------------------------- /version/src/main/java/com/sss/plugin/Deps.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | /** 4 | * 一些常用的第三方依赖 5 | */ 6 | object Deps { 7 | //okhttp 8 | val okhttp = "com.squareup.okhttp3:okhttp:4.9.1" 9 | 10 | //retrofit 11 | val retrofit = "com.squareup.retrofit2:retrofit:2.9.0" 12 | val adapter_rxjava2 = "com.squareup.retrofit2:adapter-rxjava2:latest.version" 13 | val adapter_rxjava3 = "com.squareup.retrofit2:adapter-rxjava3:latest.version" 14 | val converter_gson = "com.squareup.retrofit2:converter-gson:latest.version" 15 | val converter_moshi = "com.squareup.retrofit2:converter-moshi:latest.version" 16 | val converter_simplexml = "com.squareup.retrofit2:converter-simplexml:latest.version" 17 | 18 | //rxjava 19 | val rxjava3 = "io.reactivex.rxjava3:rxjava:3.0.13" 20 | 21 | //rxandroid 22 | val rxandroid = "io.reactivex.rxjava3:rxandroid:3.0.0" 23 | 24 | val BRVAH = "com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4" 25 | 26 | //smart_refresh_layout 27 | val refresh_layout_kernel = "com.scwang.smart:refresh-layout-kernel:2.0.3" //核心必须依赖 28 | val refresh_header_classics = "com.scwang.smart:refresh-header-classics:2.0.3" //经典刷新头 29 | val refresh_footer_classics = "com.scwang.smart:refresh-footer-classics:2.0.3" //经典加载 30 | 31 | //glide 32 | val glide = "com.github.bumptech.glide:glide:4.12.0" 33 | val glideCompiler = "com.github.bumptech.glide:compiler:4.12.0" 34 | 35 | //eventbus 36 | val eventbus = "org.greenrobot:eventbus:3.2.0" 37 | 38 | //gson 39 | val gson = "com.google.code.gson:gson:2.8.7" 40 | 41 | //autosize 42 | val autosize = "me.jessyan:autosize:1.2.1" 43 | 44 | val xxpermissions = "com.github.getActivity:XXPermissions:10.8" 45 | 46 | val mmkv = "com.tencent:mmkv-static:1.2.7" 47 | 48 | val toastutils = "com.github.getActivity:ToastUtils:9.0" 49 | val aroute = "com.alibaba:arouter-api:1.5.1" 50 | val aroute_processor = "com.alibaba:arouter-compiler:1.5.1" 51 | val agentweb = "com.just.agentweb:agentweb-androidx:4.1.3" 52 | val leakcanary = "com.squareup.leakcanary:leakcanary-android:2.6" 53 | } -------------------------------------------------------------------------------- /version/src/main/java/com/sss/plugin/DepsPlugin.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | import org.gradle.api.Plugin 4 | import org.gradle.api.Project 5 | 6 | /** 7 | * 这地方如果报红的话,可以不用管 8 | */ 9 | class DepsPlugin:Plugin { 10 | override fun apply(target: Project) { 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /version/src/main/java/com/sss/plugin/Kotlin.kt: -------------------------------------------------------------------------------- 1 | package com.sss.plugin 2 | 3 | private object KotlinVersion { 4 | val kotlin_version = "1.4.10" 5 | val koin_version = "3.0.2" 6 | } 7 | 8 | /** 9 | * kotlin 相关依赖 10 | */ 11 | object Kotlin { 12 | val kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib:${KotlinVersion.kotlin_version}" 13 | val kotlin_stdlib_jdk7 = 14 | "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${KotlinVersion.kotlin_version}" 15 | val kotlin_stdlib_jdk8 = 16 | "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${KotlinVersion.kotlin_version}" 17 | 18 | //协程 19 | val kotlinx_coroutines_android = 20 | "org.jetbrains.kotlinx:kotlinx-coroutines-android:${KotlinVersion.kotlin_version}" 21 | 22 | //koin 23 | val koin_core = "io.insert-koin:koin-core:${KotlinVersion.koin_version}" 24 | val koin_core_ext = "io.insert-koin:koin-core-ext:${KotlinVersion.koin_version}" 25 | val koin_android = "io.insert-koin:koin-android:${KotlinVersion.koin_version}" 26 | val koin_android_ext = "io.insert-koin:koin-android-ext:${KotlinVersion.koin_version}" 27 | val koin_androidx_workmanager = 28 | "io.insert-koin:koin-androidx-workmanager:${KotlinVersion.koin_version}" 29 | val koin_androidx_compose = "io.insert-koin:koin-androidx-compose:${KotlinVersion.koin_version}" 30 | val koin_android_viewmodel = "org.koin:koin-android-viewmodel:${KotlinVersion.koin_version}" 31 | } --------------------------------------------------------------------------------