aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuutaW <17158086+trumeet@users.noreply.github.com>2019-03-24 14:49:09 -0700
committerYuutaW <17158086+Trumeet@users.noreply.github.com>2019-03-24 14:49:09 -0700
commitc22aadeaab110730fe6e3902d42aa51d1e16c766 (patch)
tree7c6b6cedd0910e75119b0340dc35dbc05e37559f
parentcaa98a88541ccd6ddc79f36b92e12fe313111a75 (diff)
downloadSysUIController-c22aadeaab110730fe6e3902d42aa51d1e16c766.tar
SysUIController-c22aadeaab110730fe6e3902d42aa51d1e16c766.tar.gz
SysUIController-c22aadeaab110730fe6e3902d42aa51d1e16c766.tar.bz2
SysUIController-c22aadeaab110730fe6e3902d42aa51d1e16c766.zip
feat(app): implement Travis CI
Signed-off-by: YuutaW <17158086+Trumeet@users.noreply.github.com>
-rw-r--r--.gitignore3
-rw-r--r--.travis.yml43
-rw-r--r--app/build.gradle25
-rw-r--r--build.gradle8
4 files changed, 77 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index de0dc58..1b9fa9b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,4 +14,5 @@
/.idea
/app/google-services.json
/sign.jks
-/app/release \ No newline at end of file
+/app/release
+/app/private.properties \ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..5d974b3
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,43 @@
+jdk: oraclejdk8
+language: android
+android:
+ components:
+ - build-tools-28.0.3
+ - android-28
+before_cache:
+- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
+- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
+cache:
+ directories:
+ - "$HOME/.gradle/caches/"
+ - "$HOME/.gradle/wrapper/"
+script:
+- "./gradlew exportVersion --daemon"
+- "./gradlew :app:assembleRelease --daemon --parallel"
+before_install:
+- yes | sdkmanager "platforms;android-28"
+- wget https://github.com/anggrayudi/android-hidden-api/files/2709802/android.zip
+- rm ~/Android/Sdk/platforms/android-28/android.jar
+- mv ./android.zip ~/Android/Sdk/platforms/android-28/android.jar
+- chmod a+x gradlew
+- openssl aes-256-cbc -K $encrypted_87dd0b6bf67f_key -iv $encrypted_87dd0b6bf67f_iv -in secrets.tar.enc -out ./secrets.tar -d
+- tar xvf secrets.tar
+before_deploy:
+- export VERSION=$(cat version.txt)
+- export VERSION_CODE=$(cat version_code.txt)
+- git tag $VERSION_CODE
+- mv "app/build/outputs/apk/release/app-release.apk" "app/build/outputs/apk/release/app-${VERSION}.apk"
+- mv "app/build/outputs/mapping/release/mapping.txt" "app/build/outputs/mapping/release/mapping-${VERSION}.txt"
+deploy:
+ name: ${VERSION}
+ body: Snapshot version automatically generated by Travis CI. Please be cautious to experience due to potential bugs.
+ prerelease: true
+ provider: releases
+ skip_cleanup: true
+ api_key:
+ secure: qPkG/FD5FdpnVBje4/RVCe0xK+nVVvItlhzeGYTX9IKzDQN8cKpDuYSx2Y0eyFlH1umTz2vwGkLhX2dFkoXik20woOe4oAyAetb4y9farsLldnZ+xE2fcyePXXkwHgSOv3ktzRAZ56kk124IKHQpv/JUzW1M7XI6P0YgvJ7QZgRDR8lHk1OdozZtjdFDS9PF0p4AJhEeLjAalGI8KDxhPn0DVu2OUP4vo+eldoOeK7R2YJuB+U4FaUAMe6bLtW+D7yolr5OItsatnrE+cM9IzR4MvqQJ7VoD3zocSAmMzIjiP2AoA/9tcTvWAwTXPvzpwA325gL6sgQSlVJ876tHbjwNe/+90Az28s3yS1iBDdYVvq36gyLgpAGSajYDVwfsHUT1aZ7HBngg7vaOwxC6eod/KONziUeKUyL7MrLT1eEz2i8F89/KuZF2boHS/NNn2TRUsLeNzhLSs8zlNtZvWeGLyA/DyCZZ8bOhOPftd6ulBIqq8ptmKGoUc44eDrm8/ctj7dChljCgXrv70DwWGWmj07jos0FmSc7OsSp83FQ2gvtd+KiotpTx3/j9FWbZbap3vhRxO4FshSDHSf9xcu9MONQ/1asQzwfwMpdNvBrSI8UQ6JJ8/3WNp4NGPBgvqkoJvGfymDJkUk7GP7v1eTf/ACr4o/6lcviEI0Ekz3A=
+ file:
+ - app/build/outputs/apk/release/app-${VERSION}.apk
+ - app/build/outputs/mapping/release/mapping-${VERSION}.txt
+ on:
+ repo: Trumeet/SysUIController \ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 84cae29..529328d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,6 +5,10 @@ apply plugin: 'io.fabric'
apply plugin: 'com.google.android.gms.oss-licenses-plugin'
apply plugin: 'com.google.firebase.firebase-perf'
+def privateProperties = new Properties()
+def conf = project.file("private.properties")
+if (conf.exists()) privateProperties.load(conf.newDataInputStream())
+
android {
compileSdkVersion 28
defaultConfig {
@@ -15,8 +19,28 @@ android {
versionName rootProject.ext.versionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
+ signingConfigs {
+ general {
+ def locate = privateProperties['key.locate']
+ def keystorePwd = privateProperties['key.store.pwd']
+ def alias = privateProperties['key.alias']
+ def pwd = privateProperties['key.pwd']
+ storeFile file(locate != null ? locate : project.rootProject.file(".yuuta.jks"))
+ storePassword keystorePwd != null ?
+ keystorePwd : System.getenv("KEYSTORE_PASS")
+ keyAlias alias != null ?
+ alias : System.getenv("ALIAS_NAME")
+ keyPassword pwd != null ?
+ pwd : System.getenv("ALIAS_PASS")
+ v2SigningEnabled true
+ }
+ }
buildTypes {
+ debug {
+ signingConfig signingConfigs.general
+ }
release {
+ signingConfig signingConfigs.general
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
@@ -48,5 +72,4 @@ dependencies {
implementation "android.arch.work:work-runtime:1.0.0"
implementation 'com.google.android.gms:play-services-oss-licenses:16.0.2'
implementation 'com.google.firebase:firebase-perf:16.2.4'
- // compileOnly project(':hiddenapi')
}
diff --git a/build.gradle b/build.gradle
index cbc4901..c9fdac7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -37,4 +37,12 @@ def gitCommitCount = 'git rev-list --count HEAD'.execute([], project.rootDir).te
ext {
versionName = "0.${gitCommitCount} α"
versionCode = Integer.parseInt("${gitCommitCount}")
+}
+
+task exportVersion(type: Exec) {
+ commandLine 'sh'
+ doLast {
+ file("$projectDir/version.txt").text = """$version"""
+ file("$projectDir/version_code.txt").text = """${gitCommitCount}"""
+ }
} \ No newline at end of file