Revamp build configuration (#1156)
* release: move scripts to scripts directory Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Move CI secrets to secrets directory Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * gradle: uprev to 6.7 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * gradle: suppress warnings about unsupported options Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: update dependencies Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: move Gradle plugins to ext Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * build: move configuration tasks to buildSrc Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: add entry for #1137 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fix lint warnings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
92f1aab25d
commit
6c1e41ba10
24 changed files with 222 additions and 97 deletions
6
.github/workflows/deploy_snapshot.yml
vendored
6
.github/workflows/deploy_snapshot.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
|||
uses: actions/checkout@v2
|
||||
|
||||
- name: Decrypt secrets
|
||||
run: release/signing-setup.sh "$ENCRYPT_KEY"
|
||||
run: scripts/signing-setup.sh "$ENCRYPT_KEY"
|
||||
env:
|
||||
ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }}
|
||||
|
||||
|
@ -28,10 +28,10 @@ jobs:
|
|||
arguments: :app:assembleFreeRelease :app:assembleNonFreeRelease
|
||||
|
||||
- name: Clean secrets
|
||||
run: release/signing-cleanup.sh
|
||||
run: scripts/signing-cleanup.sh
|
||||
|
||||
- name: Deploy snapshot
|
||||
run: release/deploy-snapshot.sh
|
||||
run: scripts/deploy-snapshot.sh
|
||||
env:
|
||||
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
|
||||
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
|
||||
|
|
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
|||
uses: actions/checkout@v2
|
||||
|
||||
- name: Decrypt secrets
|
||||
run: release/signing-setup.sh "$ENCRYPT_KEY"
|
||||
run: scripts/signing-setup.sh "$ENCRYPT_KEY"
|
||||
env:
|
||||
ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }}
|
||||
|
||||
|
@ -45,7 +45,7 @@ jobs:
|
|||
|
||||
- name: Clean secrets
|
||||
if: always()
|
||||
run: release/signing-cleanup.sh
|
||||
run: scripts/signing-cleanup.sh
|
||||
|
||||
create_github_release:
|
||||
name: Create GitHub Release
|
||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
|||
|
||||
# Created by https://www.gitignore.io/api/androidstudio,gradle
|
||||
# Edit at https://www.gitignore.io/?templates=androidstudio,gradle
|
||||
|
||||
|
@ -44,7 +43,7 @@ out/
|
|||
|
||||
# Signing files
|
||||
.signing/
|
||||
keystore.*
|
||||
/keystore.*
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
|
|
@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
- Add GPG key selection step to onboarding flow
|
||||
- Allow configuring an app-wide HTTP(S) proxy
|
||||
- Add option to automatically sync repository on app launch
|
||||
|
||||
## [1.12.1] - 2020-10-13
|
||||
|
||||
|
|
|
@ -6,7 +6,9 @@ import com.android.build.gradle.internal.api.BaseVariantOutputImpl
|
|||
import java.util.Properties
|
||||
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
kotlin("android")
|
||||
`aps-plugin`
|
||||
}
|
||||
|
||||
val keystorePropertiesFile = rootProject.file("keystore.properties")
|
||||
|
@ -26,13 +28,16 @@ android {
|
|||
|
||||
adbOptions.installOptions("--user 0")
|
||||
|
||||
buildFeatures.viewBinding = true
|
||||
buildFeatures.buildConfig = true
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "dev.msfjarvis.aps"
|
||||
versionCode = 11211
|
||||
versionName = "1.13.0-SNAPSHOT"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
|
@ -41,13 +46,6 @@ android {
|
|||
disable("MissingTranslation", "PluralsCandidate", "ImpliedQuantity")
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
exclude("**/*.version")
|
||||
exclude("**/*.txt")
|
||||
exclude("**/*.kotlin_module")
|
||||
exclude("**/plugin.properties")
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
named("release") {
|
||||
isMinifyEnabled = true
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -22,7 +23,7 @@
|
|||
android:adjustViewBounds="true"
|
||||
android:maxWidth="20dp"
|
||||
android:maxHeight="20dp"
|
||||
android:tint="@color/secondary_color"
|
||||
app:tint="@color/secondary_color"
|
||||
tools:src="@mipmap/ic_launcher" />
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
android:layout_marginStart="8dp"
|
||||
android:alpha="0.5"
|
||||
android:src="@drawable/ic_person_black_24dp"
|
||||
android:tint="?colorOnPrimary"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/title"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="?colorOnPrimary" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
plugins {
|
||||
kotlin("android")
|
||||
id("maven-publish")
|
||||
id("com.android.library")
|
||||
id("maven-publish")
|
||||
kotlin("android")
|
||||
`aps-plugin`
|
||||
}
|
||||
|
||||
// Type safety can sometimes suck
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
* Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
import com.android.build.gradle.BaseExtension
|
||||
import kotlinx.validation.ApiValidationExtension
|
||||
|
||||
buildscript {
|
||||
apply(from = "buildSrc/buildDependencies.gradle")
|
||||
val build: Map<Any, Any> by extra
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
|
@ -14,64 +12,14 @@ buildscript {
|
|||
maven { url = uri("https://kotlin.bintray.com/kotlinx") }
|
||||
}
|
||||
dependencies {
|
||||
classpath(Plugins.agp)
|
||||
classpath(Plugins.binaryCompatibilityValidator)
|
||||
classpath(Plugins.kotlin)
|
||||
classpath(build.getValue("androidGradlePlugin"))
|
||||
classpath(build.getValue("binaryCompatibilityValidator"))
|
||||
classpath(build.getValue("kotlinGradlePlugin"))
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id("com.github.ben-manes.versions") version "0.33.0"
|
||||
}
|
||||
|
||||
apply(plugin = "binary-compatibility-validator")
|
||||
|
||||
extensions.configure<ApiValidationExtension> {
|
||||
ignoredProjects = mutableSetOf(
|
||||
"app"
|
||||
)
|
||||
}
|
||||
|
||||
subprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven {
|
||||
setUrl("https://jitpack.io")
|
||||
}
|
||||
}
|
||||
if (name == "app") {
|
||||
apply(plugin = "com.android.application")
|
||||
} else {
|
||||
apply(plugin = "com.android.library")
|
||||
}
|
||||
configure<BaseExtension> {
|
||||
compileSdkVersion(29)
|
||||
defaultConfig {
|
||||
minSdkVersion(23)
|
||||
targetSdkVersion(29)
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
tasks.withType<JavaCompile> {
|
||||
options.compilerArgs.add("-Xlint:unchecked")
|
||||
options.isDeprecation = true
|
||||
}
|
||||
}
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
freeCompilerArgs = listOf("-Xopt-in=kotlin.RequiresOptIn", "-Xallow-result-return-type")
|
||||
languageVersion = "1.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.wrapper {
|
||||
gradleVersion = "6.6.1"
|
||||
distributionType = Wrapper.DistributionType.ALL
|
||||
distributionSha256Sum = "11657af6356b7587bfb37287b5992e94a9686d5c8a0a1b60b87b9928a2decde5"
|
||||
`binary-compatibility-validator`
|
||||
`aps-plugin`
|
||||
}
|
||||
|
|
|
@ -1,11 +1,30 @@
|
|||
apply(from = "buildDependencies.gradle")
|
||||
val build: Map<Any, Any> by extra
|
||||
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
}
|
||||
|
||||
repositories {
|
||||
jcenter()
|
||||
google()
|
||||
gradlePluginPortal()
|
||||
}
|
||||
|
||||
kotlinDslPluginOptions {
|
||||
experimentalWarning.set(false)
|
||||
}
|
||||
|
||||
gradlePlugin {
|
||||
plugins {
|
||||
register("aps") {
|
||||
id = "aps-plugin"
|
||||
implementationClass = "PasswordStorePlugin"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(build.getValue("kotlinGradlePlugin"))
|
||||
implementation(build.getValue("androidGradlePlugin"))
|
||||
implementation(build.getValue("binaryCompatibilityValidator"))
|
||||
}
|
||||
|
|
11
buildSrc/buildDependencies.gradle
Normal file
11
buildSrc/buildDependencies.gradle
Normal file
|
@ -0,0 +1,11 @@
|
|||
rootProject.ext.versions = [
|
||||
agp : '4.1.0',
|
||||
kotlin : '1.4.10',
|
||||
binary_compatibility_validator : '0.2.3',
|
||||
]
|
||||
|
||||
rootProject.ext.build = [
|
||||
androidGradlePlugin : "com.android.tools.build:gradle:${versions.agp}",
|
||||
kotlinGradlePlugin : "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}",
|
||||
binaryCompatibilityValidator : "org.jetbrains.kotlinx:binary-compatibility-validator:${versions.binary_compatibility_validator}",
|
||||
]
|
83
buildSrc/src/main/java/BaseProjectConfig.kt
Normal file
83
buildSrc/src/main/java/BaseProjectConfig.kt
Normal file
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
import com.android.build.gradle.TestedExtension
|
||||
import org.gradle.api.JavaVersion
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.tasks.Delete
|
||||
import org.gradle.api.tasks.testing.Test
|
||||
import org.gradle.api.tasks.testing.logging.TestLogEvent
|
||||
import org.gradle.api.tasks.wrapper.Wrapper
|
||||
import org.gradle.kotlin.dsl.repositories
|
||||
import org.gradle.kotlin.dsl.withType
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
/**
|
||||
* Configure root project.
|
||||
* Note that classpath dependencies still need to be defined in the `buildscript` block in the top-level build.gradle.kts file.
|
||||
*/
|
||||
internal fun Project.configureForRootProject() {
|
||||
// register task for cleaning the build directory in the root project
|
||||
tasks.register("clean", Delete::class.java) {
|
||||
delete(rootProject.buildDir)
|
||||
}
|
||||
tasks.withType<Wrapper> {
|
||||
gradleVersion = "6.7"
|
||||
distributionType = Wrapper.DistributionType.ALL
|
||||
distributionSha256Sum = "0080de8491f0918e4f529a6db6820fa0b9e818ee2386117f4394f95feb1d5583"
|
||||
}
|
||||
configureBinaryCompatibilityValidator()
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure all projects including the root project
|
||||
*/
|
||||
internal fun Project.configureForAllProjects() {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven { setUrl("https://jitpack.io") }
|
||||
}
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions {
|
||||
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
||||
freeCompilerArgs = freeCompilerArgs + additionalCompilerArgs
|
||||
languageVersion = "1.4"
|
||||
}
|
||||
}
|
||||
tasks.withType<Test> {
|
||||
maxParallelForks = Runtime.getRuntime().availableProcessors() * 2
|
||||
testLogging {
|
||||
events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply baseline configurations for all Android projects (Application and Library).
|
||||
*/
|
||||
@Suppress("UnstableApiUsage")
|
||||
internal fun TestedExtension.configureCommonAndroidOptions() {
|
||||
compileSdkVersion(29)
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion(23)
|
||||
targetSdkVersion(29)
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
exclude("**/*.version")
|
||||
exclude("**/*.txt")
|
||||
exclude("**/*.kotlin_module")
|
||||
exclude("**/plugin.properties")
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
testOptions.animationsDisabled = true
|
||||
}
|
16
buildSrc/src/main/java/BinaryCompatibilityValidator.kt
Normal file
16
buildSrc/src/main/java/BinaryCompatibilityValidator.kt
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
import kotlinx.validation.ApiValidationExtension
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
|
||||
internal fun Project.configureBinaryCompatibilityValidator() {
|
||||
extensions.configure<ApiValidationExtension> {
|
||||
ignoredProjects = mutableSetOf(
|
||||
"app"
|
||||
)
|
||||
}
|
||||
}
|
|
@ -5,13 +5,6 @@
|
|||
|
||||
private const val KOTLIN_VERSION = "1.4.10"
|
||||
|
||||
object Plugins {
|
||||
|
||||
const val agp = "com.android.tools.build:gradle:4.0.2"
|
||||
const val binaryCompatibilityValidator = "org.jetbrains.kotlinx:binary-compatibility-validator:0.2.3"
|
||||
const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION"
|
||||
}
|
||||
|
||||
object Dependencies {
|
||||
object Kotlin {
|
||||
object Coroutines {
|
||||
|
@ -28,7 +21,7 @@ object Dependencies {
|
|||
|
||||
const val activity_ktx = "androidx.activity:activity-ktx:1.2.0-beta01"
|
||||
const val annotation = "androidx.annotation:annotation:1.1.0"
|
||||
const val autofill = "androidx.autofill:autofill:1.1.0-alpha02"
|
||||
const val autofill = "androidx.autofill:autofill:1.1.0-beta01"
|
||||
const val appcompat = "androidx.appcompat:appcompat:1.3.0-alpha02"
|
||||
const val biometric = "androidx.biometric:biometric:1.1.0-beta01"
|
||||
const val constraint_layout = "androidx.constraintlayout:constraintlayout:2.0.2"
|
||||
|
@ -38,7 +31,7 @@ object Dependencies {
|
|||
const val lifecycle_common = "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
|
||||
const val lifecycle_livedata_ktx = "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
|
||||
const val lifecycle_viewmodel_ktx = "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion"
|
||||
const val material = "com.google.android.material:material:1.3.0-alpha02"
|
||||
const val material = "com.google.android.material:material:1.3.0-alpha03"
|
||||
const val preference = "androidx.preference:preference:1.1.1"
|
||||
const val recycler_view = "androidx.recyclerview:recyclerview:1.2.0-alpha06"
|
||||
const val recycler_view_selection = "androidx.recyclerview:recyclerview-selection:1.1.0-rc03"
|
||||
|
@ -72,12 +65,12 @@ object Dependencies {
|
|||
|
||||
object NonFree {
|
||||
|
||||
const val google_play_auth_api_phone = "com.google.android.gms:play-services-auth-api-phone:17.4.0"
|
||||
const val google_play_auth_api_phone = "com.google.android.gms:play-services-auth-api-phone:17.5.0"
|
||||
}
|
||||
|
||||
object Testing {
|
||||
|
||||
const val junit = "junit:junit:4.13"
|
||||
const val junit = "junit:junit:4.13.1"
|
||||
const val kotlin_test_junit = "org.jetbrains.kotlin:kotlin-test-junit:$KOTLIN_VERSION"
|
||||
|
||||
object AndroidX {
|
||||
|
|
8
buildSrc/src/main/java/KotlinCompilerArgs.kt
Normal file
8
buildSrc/src/main/java/KotlinCompilerArgs.kt
Normal file
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
* Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
internal val additionalCompilerArgs = listOf(
|
||||
"-Xopt-in=kotlin.RequiresOptIn"
|
||||
)
|
44
buildSrc/src/main/java/PasswordStorePlugin.kt
Normal file
44
buildSrc/src/main/java/PasswordStorePlugin.kt
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
import com.android.build.gradle.TestedExtension
|
||||
import com.android.build.gradle.internal.plugins.AppPlugin
|
||||
import com.android.build.gradle.internal.plugins.LibraryPlugin
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.JavaLibraryPlugin
|
||||
import org.gradle.api.plugins.JavaPlugin
|
||||
import org.gradle.api.tasks.compile.JavaCompile
|
||||
import org.gradle.kotlin.dsl.getByType
|
||||
import org.gradle.kotlin.dsl.withType
|
||||
|
||||
class PasswordStorePlugin : Plugin<Project> {
|
||||
|
||||
override fun apply(project: Project) {
|
||||
project.configureForAllProjects()
|
||||
|
||||
if (project.isRoot) {
|
||||
project.configureForRootProject()
|
||||
}
|
||||
|
||||
project.plugins.all {
|
||||
when (this) {
|
||||
is JavaPlugin,
|
||||
is JavaLibraryPlugin -> {
|
||||
project.tasks.withType<JavaCompile> {
|
||||
options.compilerArgs.add("-Xlint:unchecked")
|
||||
options.isDeprecation = true
|
||||
}
|
||||
}
|
||||
is LibraryPlugin,
|
||||
is AppPlugin -> {
|
||||
project.extensions.getByType<TestedExtension>().configureCommonAndroidOptions()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val Project.isRoot get() = this == this.rootProject
|
|
@ -8,7 +8,6 @@ org.gradle.caching=true
|
|||
|
||||
# Enabling filesystem watching
|
||||
org.gradle.vfs.watch=true
|
||||
org.gradle.unsafe.watch-fs=true
|
||||
|
||||
# Enable Kotlin incremental compilation
|
||||
kotlin.incremental=true
|
||||
|
@ -49,3 +48,6 @@ android.defaults.buildfeatures.aidl=false
|
|||
android.defaults.buildfeatures.renderscript=false
|
||||
android.defaults.buildfeatures.resvalues=false
|
||||
android.defaults.buildfeatures.shaders=false
|
||||
|
||||
# Disable warnings about unsupported features, we know what we're doing
|
||||
android.suppressUnsupportedOptionWarnings=android.enableR8.fullMode,android.enableResourceOptimizations,android.nonTransitiveRClass,android.suppressUnsupportedOptionWarnings
|
||||
|
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionSha256Sum=11657af6356b7587bfb37287b5992e94a9686d5c8a0a1b60b87b9928a2decde5
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-all.zip
|
||||
distributionSha256Sum=0080de8491f0918e4f529a6db6820fa0b9e818ee2386117f4394f95feb1d5583
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
|
@ -4,8 +4,8 @@ set -e
|
|||
ENCRYPT_KEY=$1
|
||||
|
||||
declare -A SECRETS
|
||||
SECRETS[release/keystore.cipher]=keystore.jks
|
||||
SECRETS[release/props.cipher]=keystore.properties
|
||||
SECRETS[secrets/keystore.cipher]=keystore.jks
|
||||
SECRETS[secrets/props.cipher]=keystore.properties
|
||||
|
||||
if [[ -n "$ENCRYPT_KEY" ]]; then
|
||||
for src in "${!SECRETS[@]}"; do
|
Loading…
Reference in a new issue