Cleanup build scripts (#2903)

* No need to apply kotlin in hidden-api

* Remove rxjava2

* Add replaceFrameworkJar back

* Remove unused minify configs

* kotlinx-serialization-json 1.4.0

* material3 1.0.0-beta01

* Coil 2.2.0

* Cleanup CC

* Revert "material3 1.0.0-beta01"

This reverts commit 67f51ffe00.

* Revert "Add replaceFrameworkJar back"

This reverts commit c9edc3b65f.

* Limit CI running on dev branches & PRs

* Cleanup kotlin plugins

* Configure android extensions ini allprojects

* Cleanup

* Configure projects repos in dependencyResolutionManagement

* Remove root namespace

* Bump AGP to 7.3.0-rc01

* Remove empty manifest files

* Apply plugins in plugins block

* Remove buildscript

* Enable typesafe project accessors

* Update submodule

* Merge https://github.com/LawnchairLauncher/platform_frameworks_libs_systemui/pull/5

* Bump Gradle Enterprise plugin to 3.11.1

* Add CI ignore rules

* Add renovate.json

* Correct ignore rules for CI

* Enable abortOnError

* Simplify FRAMEWORK_PREBUILTS_DIR

* Remove sdk versions
This commit is contained in:
Goooler
2022-09-05 09:23:10 +08:00
committed by GitHub
parent 7a9ec587df
commit 08031573ff
23 changed files with 144 additions and 341 deletions

8
.github/renovate.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"labels": [
"dependencies"
],
"extends": [
"config:base"
]
}

View File

@@ -4,12 +4,26 @@ on:
workflow_dispatch:
push:
branches:
- '*'
- '*/*'
- '**'
- '!12.1-dev-localization'
- '!12.1-alpha'
- '*-dev'
paths-ignore:
- '.idea/**'
- '.gitattributes'
- '.github/**.json'
- '.gitignore'
- '.gitmodules'
- '**.md'
- 'LICENSE'
- 'NOTICE'
pull_request:
paths-ignore:
- '.idea/**'
- '.gitattributes'
- '.github/**.json'
- '.gitignore'
- '.gitmodules'
- '**.md'
- 'LICENSE'
- 'NOTICE'
jobs:
build-debug-apk:

View File

@@ -1,37 +1,8 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk COMPILE_SDK
namespace "app.lawnchair.compatlib"
defaultConfig {
minSdk MIN_SDK
targetSdk TARGET_SDK
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
addFrameworkJar('framework-12.jar')
}
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
}

View File

@@ -1,21 +0,0 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest />

View File

@@ -1,38 +1,12 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk COMPILE_SDK
namespace "app.lawnchair.compatlib.eleven"
defaultConfig {
minSdk MIN_SDK
targetSdk TARGET_SDK
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
addFrameworkJar('framework-11.jar')
}
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation project(':CompatLib')
implementation projects.compatLib
}

View File

@@ -1,21 +0,0 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest />

View File

@@ -1,38 +1,12 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
android {
compileSdk COMPILE_SDK
namespace "app.lawnchair.compatlib.twelve"
defaultConfig {
minSdk MIN_SDK
targetSdk TARGET_SDK
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
addFrameworkJar('framework-12.jar')
}
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation project(':CompatLib')
implementation projects.compatLib
}

View File

@@ -1,21 +0,0 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest />

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.shared">
</manifest>

View File

@@ -1,14 +1,10 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
plugins {
id 'com.android.library'
id 'kotlin-android'
}
android {
compileSdk COMPILE_SDK
defaultConfig {
minSdk MIN_SDK
targetSdk TARGET_SDK
}
namespace "com.android.systemui.shared"
sourceSets {
main {
java.srcDirs = ['src']
@@ -17,24 +13,6 @@ android {
res.srcDirs = ['res']
}
}
lint {
abortOnError false
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
kotlinOptions {
jvmTarget = '1.8'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
addFrameworkJar('framework-12l.jar')
}
@@ -43,8 +21,8 @@ dependencies {
implementation "androidx.concurrent:concurrent-futures:1.1.0"
implementation "androidx.lifecycle:lifecycle-common:2.5.1"
implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
implementation project(':CompatLib')
implementation project(':CompatLibVR')
implementation project(':CompatLibVS')
implementation projects.compatLib
implementation projects.compatLibVR
implementation projects.compatLibVS
implementation "org.json:json:20220320"
}

View File

@@ -1,38 +1,29 @@
buildscript {
ext {
COMPILE_SDK = 33
TARGET_SDK = 32
MIN_SDK = 26
kotlin_version = "1.7.10"
compose_version = "1.2.1"
compose_compiler_version = "1.3.0"
accompanist_version = '0.25.1'
libsu_version = '5.0.2'
protocVersion = '3.21.5'
room_version = '2.4.3'
optoVersion = "1.0.15"
}
repositories {
gradlePluginPortal()
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.19'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5'
classpath 'dev.rikka.tools.refine:gradle-plugin:3.1.1'
classpath "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:1.7.10-1.0.6"
}
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id 'com.android.application' version "7.3.0-rc01"
id 'com.android.library' version "7.3.0-rc01" apply false
id 'org.jetbrains.kotlin.android' version "1.7.10"
id 'org.jetbrains.kotlin.plugin.parcelize' version "1.7.10"
id 'org.jetbrains.kotlin.plugin.serialization' version "1.7.10"
id "com.google.devtools.ksp" version "1.7.10-1.0.6"
id 'com.google.protobuf' version "0.8.19"
id 'com.google.android.gms.oss-licenses-plugin' version "0.10.5"
id 'dev.rikka.tools.refine' version "3.1.1"
}
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
plugins.withId("com.android.library") {
setupAndroid(project)
}
plugins.withId("com.android.application") {
setupAndroid(project)
}
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
}
ext.getFrameworkJar = { String name ->
@@ -49,7 +40,7 @@ allprojects {
tasks.withType(JavaCompile) {
options.bootstrapClasspath = files([frameworkJar] + (options.bootstrapClasspath.files as Iterable<File>))
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
tasks.withType(KotlinCompile) {
it.classpath.from(files([frameworkJar]))
}
}
@@ -58,7 +49,7 @@ allprojects {
ext.replaceFrameworkJar = { String name ->
def frameworkJar = getFrameworkJar(name)
gradle.projectsEvaluated {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
tasks.withType(KotlinCompile) {
def originalFiles = [] + it.classpath.files
def newFiles = []
originalFiles.each { file ->
@@ -81,20 +72,22 @@ allprojects {
}
tasks.matching {
it.name.contains("collect*Dependencies") || it.name.contains("OssLicensesTask")
it.name.contains("OssLicensesTask")
}.configureEach {
notCompatibleWithConfigurationCache("https://github.com/google/play-services-plugins/issues/206")
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.protobuf'
apply plugin: 'com.google.android.gms.oss-licenses-plugin'
apply plugin: 'kotlin-parcelize'
apply plugin: "com.google.devtools.ksp"
apply plugin: 'org.jetbrains.kotlin.plugin.serialization'
apply plugin: 'dev.rikka.tools.refine'
// todo remove ext block after migrating to version catalog
ext {
compose_version = "1.2.1"
compose_compiler_version = "1.3.0"
accompanist_version = '0.25.1'
libsu_version = '5.0.2'
protocVersion = '3.21.5'
room_version = '2.4.3'
optoVersion = "1.0.15"
}
final def commitHash = { ->
final def stdout = new ByteArrayOutputStream()
@@ -126,11 +119,7 @@ def quickstepMinSdk = "32"
def quickstepMaxSdk = "32"
android {
compileSdk COMPILE_SDK
defaultConfig {
minSdk MIN_SDK
targetSdk TARGET_SDK
versionCode 12_01_00_05
versionName "${versionDisplayName}"
buildConfigField "String", "VERSION_DISPLAY_NAME", "\"${versionDisplayName}\""
@@ -144,9 +133,6 @@ android {
buildConfigField "int", "QUICKSTEP_MIN_SDK", quickstepMinSdk
buildConfigField "int", "QUICKSTEP_MAX_SDK", quickstepMaxSdk
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
ksp { arg("room.schemaLocation", "$projectDir/schemas".toString()) }
}
@@ -156,10 +142,6 @@ android {
}
}
lint {
checkReleaseBuilds false
}
buildFeatures {
compose true
}
@@ -194,15 +176,6 @@ android {
}
}
kotlinOptions {
jvmTarget = '1.8'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dependenciesInfo {
includeInApk = false
includeInBundle = false
@@ -323,32 +296,24 @@ android {
}
dependencies {
final def FRAMEWORK_PREBUILTS_DIR = "prebuilts"
final def FRAMEWORK_PREBUILTS_DIR = "prebuilts/libs"
implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.2.1"
implementation "androidx.preference:preference-ktx:1.2.0"
implementation project(':iconloaderlib')
implementation project(':searchuilib')
implementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'SystemUI-statsd.jar')
implementation projects.iconloaderlib
implementation projects.searchuilib
implementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'SystemUI-statsd.jar')
// Recents lib dependency
withQuickstepImplementation project(':SystemUIShared')
withQuickstepCompileOnly project(':hidden-api')
implementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'WindowManager-Shell.jar')
withQuickstepImplementation projects.systemUIShared
withQuickstepCompileOnly projects.hiddenApi
implementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'WindowManager-Shell.jar')
// Required for AOSP to compile. This is already included in the sysui_shared.jar
withoutQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'plugin_core.jar')
withoutQuickstepImplementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'plugin_core.jar')
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'org.mockito:mockito-core:4.6.1'
androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
androidTestImplementation "androidx.annotation:annotation:1.4.0"
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0'
implementation 'com.github.ChickenHook:RestrictionBypass:2.2'
implementation 'dev.rikka.tools.refine:runtime:3.1.1'
@@ -360,7 +325,6 @@ dependencies {
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.material3:material3:1.0.0-alpha14"
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
implementation "androidx.compose.runtime:runtime-rxjava2:$compose_version"
implementation "androidx.compose.compiler:compiler:$compose_compiler_version"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation "androidx.activity:activity-compose:1.5.1"
@@ -378,7 +342,7 @@ dependencies {
implementation "com.google.android.material:material:1.6.1"
implementation "io.github.fornewid:material-motion-compose-core:0.9.0"
implementation 'dev.kdrag0n:colorkt:1.0.5'
implementation 'io.coil-kt:coil-compose:2.1.0'
implementation 'io.coil-kt:coil-compose:2.2.0'
implementation 'me.xdrop:fuzzywuzzy:1.4.0'
implementation "com.patrykmichalik.opto:domain:$optoVersion"
implementation "com.patrykmichalik.opto:core:$optoVersion"
@@ -389,7 +353,6 @@ dependencies {
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
implementation "androidx.room:room-rxjava2:$room_version"
ksp "androidx.room:room-compiler:$room_version"
implementation "com.github.topjohnwu.libsu:core:$libsu_version"
@@ -420,3 +383,35 @@ protobuf {
}
}
}
def setupAndroid(Project project) {
project.android {
compileSdk 33
defaultConfig {
minSdk 26
targetSdk 32
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lint {
abortOnError true
checkReleaseBuilds false
}
}
project.dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'org.mockito:mockito-core:4.6.1'
androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
androidTestImplementation "androidx.annotation:annotation:1.4.0"
}
}

View File

@@ -1,33 +1,9 @@
plugins {
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
android {
namespace 'app.lawnchair.hidden_api'
compileSdk COMPILE_SDK
defaultConfig {
minSdk MIN_SDK
targetSdk TARGET_SDK
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {

View File

@@ -1,21 +0,0 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest />

View File

@@ -1,6 +1,22 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
resolutionStrategy {
eachPlugin {
// https://github.com/google/play-services-plugins/issues/223
if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") {
useModule("com.google.android.gms:oss-licenses-plugin:${requested.version}")
}
}
}
}
// https://docs.gradle.com/enterprise/gradle-plugin/
plugins {
id "com.gradle.enterprise" version "3.10.3"
id "com.gradle.enterprise" version "3.11.1"
}
gradleEnterprise {
@@ -12,6 +28,17 @@ gradleEnterprise {
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
include ':iconloaderlib'
project(':iconloaderlib').projectDir = new File(rootDir, 'platform_frameworks_libs_systemui/iconloaderlib')