Skip to content

Commit

Permalink
ci(gradle): cleanup up gradle and added premium flavor ci
Browse files Browse the repository at this point in the history
  • Loading branch information
yuriykulikov committed Aug 19, 2021
1 parent 6057eb9 commit d340530
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 36 deletions.
37 changes: 36 additions & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,39 @@ jobs:
track: internal
inAppUpdatePriority: 2
# whatsNewDirectory: distribution/whatsnew
# mappingFile: app/build/outputs/mapping/release/mapping.txt
# mappingFile: app/build/outputs/mapping/release/mapping.txt
publish-premium:
needs: build-develop
runs-on: ubuntu-latest
env:
ACRA_EMAIL: ${{ secrets.ACRA_EMAIL }}
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Assemble
run: ./gradlew assemblePremiumRelease
- name: Sign premium APK
uses: r0adkll/sign-android-release@v1
# ID used to access action output
id: sign_premium_app
with:
releaseDirectory: app/build/outputs/apk/premium/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Publish to google play
uses: r0adkll/upload-google-play@v1
continue-on-error: true
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON_PLAIN_TEXT }}
packageName: com.premium.alarm
releaseFiles: ${{steps.sign_premium_app.outputs.signedReleaseFile}}
track: internal
inAppUpdatePriority: 2
58 changes: 28 additions & 30 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
plugins {
id("com.android.application")
kotlin("android")
id("org.jetbrains.kotlin.android")
jacoco
}

jacoco {
toolVersion = "0.8.3"
toolVersion = "0.8.7"
}

// ./gradlew test connectedDevelopDebugAndroidTest jacocoTestReport
Expand Down Expand Up @@ -85,13 +85,13 @@ val acraEmail = project.rootProject.file("local.properties")
?: ""

android {
compileSdkVersion(29)
compileSdk = 30
defaultConfig {
versionCode = 30902
versionName = "3.09.02"
versionCode = 30904
versionName = "3.09.04"
applicationId = "com.better.alarm"
minSdkVersion(16)
targetSdkVersion(29)
minSdk = 16
targetSdk = 30
testApplicationId = "com.better.alarm.test"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
Expand All @@ -108,7 +108,9 @@ android {
buildConfigField("String", "ACRA_EMAIL", "\"$acraEmail\"")
}
}
flavorDimensions("default")

flavorDimensions.add("default")

productFlavors {
create("develop") {
applicationId = "com.better.alarm"
Expand All @@ -118,20 +120,11 @@ android {
}
}

lintOptions {
isAbortOnError = false
isCheckReleaseBuilds = false
}

adbOptions {
installation {
timeOutInMs = 20 * 60 * 1000 // 20 minutes
installOptions("-d", "-t")
}

dexOptions {
preDexLibraries = System.getenv("TRAVIS") != "true"
}

useLibrary("android.test.runner")
useLibrary("android.test.base")
useLibrary("android.test.mock")
Expand All @@ -140,10 +133,14 @@ android {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}

tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
kotlinOptions {
freeCompilerArgs =
freeCompilerArgs + "-Xopt-in=kotlin.RequiresOptIn" + "-Xopt-in=kotlin.Experimental"

jvmTarget = "1.8"
useIR = true
}
}

Expand All @@ -154,28 +151,29 @@ dependencies {
implementation("com.melnykov:floatingactionbutton:1.2.0")
implementation("io.reactivex.rxjava2:rxjava:2.2.19")
implementation("io.reactivex.rxjava2:rxandroid:2.1.1")
implementation("org.koin:koin-core:2.1.5")
implementation("org.koin:koin-core:2.2.2")
// Updating this to 1.3.6 breaks transition animations and layout setting
implementation("androidx.fragment:fragment:1.2.5")
implementation("androidx.preference:preference:1.1.1")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3")
implementation("com.google.android.material:material:1.1.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0")
implementation("com.google.android.material:material:1.4.0")
}

dependencies {
testImplementation("net.wuerl.kotlin:assertj-core-kotlin:0.1.1")
testImplementation("junit:junit:4.13")
testImplementation("junit:junit:4.13.2")
testImplementation("org.mockito:mockito-core:2.23.4")
testImplementation("io.mockk:mockk:1.10.0")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.4.3")
testImplementation("io.mockk:mockk:1.11.0")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0")
}

dependencies {
androidTestImplementation("com.squareup.assertj:assertj-android:1.1.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.3.0")
androidTestImplementation("androidx.test:runner:1.3.0")
androidTestImplementation("androidx.test:rules:1.3.0")
androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
androidTestImplementation("androidx.test:runner:1.4.0")
androidTestImplementation("androidx.test:rules:1.4.0")
// androidx.test.ext.junit.rules.ActivityScenarioRule
// androidx.test.ext.junit.runners.AndroidJUnit4
androidTestImplementation("androidx.test.ext:junit:1.1.2")
androidTestImplementation("androidx.test.ext:junit:1.1.3")
}
8 changes: 4 additions & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
buildscript {
val kotlin = "1.4.0"
val kotlin = "1.5.21"

allprojects {
extra.apply {
Expand All @@ -9,20 +9,20 @@ buildscript {

repositories {
google()
jcenter()
mavenCentral()
maven { url = uri("https://plugins.gradle.org/m2/") }
}

dependencies {
classpath("com.android.tools.build:gradle:4.1.3")
classpath("com.android.tools.build:gradle:7.0.0")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin")
}
}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url = uri("https://plugins.gradle.org/m2/") }
}
}
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip

0 comments on commit d340530

Please sign in to comment.