Merge pull request #477 from Inhishonor/debug-gradle

Build debug build automatically with a debug key.
This commit is contained in:
octoshrimpy
2025-06-11 10:43:22 -04:00
committed by GitHub
2 changed files with 16 additions and 46 deletions
-38
View File
@@ -41,43 +41,5 @@ To update the wiki, simply navigate to the [wiki tab](https://github.com/octoshr
6. Submit a pull request with your change.
**We have a build action on each pull request, if this build fails, please edit the pull request in order to make the build succeed.**
## Helpful Tips
### [build.gradle](https://github.com/octoshrimpy/quik/blob/master/presentation/build.gradle) configuration for building locally
```
/*
signingConfigs {
release {
def keystoreProps = new Properties()
def keystorePropsFile = rootProject.file('./.gradle/.gradlerc')
storeFile file('./my-release-key.keystore')
keyAlias 'quik_release'
if (keystorePropsFile.exists()) {
keystoreProps.load(new FileInputStream(keystorePropsFile))
} else if (System.getenv("CI") == "true") {
// do nothing
} else {
throw new GradleException("Keystore properties file not found.")
}
storePassword keystoreProps['storePassword']
keyPassword keystoreProps['keyPassword']
}
}
*/
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// signingConfig signingConfigs.release
}
}
productFlavors {
withAnalytics { dimension "analytics" }
noAnalytics {
// signingConfig signingConfigs.release
}
}
```
### Set Java Version
When building QUIK, make sure to download JDK 17 and specify an installation path for it. In Android Studio, you can do that in Settings > Build, Execution, Deployment > Build Tools > Gradle.
+16 -8
View File
@@ -40,6 +40,7 @@ android {
}
signingConfigs {
debug // Uses the default debug keystore.
release {
def keystoreProps = new Properties()
def keystorePropsFile = rootProject.file('./.gradle/.gradlerc')
@@ -47,16 +48,13 @@ android {
keyAlias 'quik_release'
if (keystorePropsFile.exists()) {
keystoreProps.load(new FileInputStream(keystorePropsFile))
} else if (System.getenv("CI") == "true") {
// do nothing
} else {
throw new GradleException("Keystore properties file not found.")
}
} else
// do nothing
storePassword keystoreProps['storePassword']
keyPassword keystoreProps['keyPassword']
}
}
dependenciesInfo {
// Disables dependency metadata when building APKs.
includeInApk = false
@@ -75,6 +73,7 @@ android {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
resValue("string", "app_name", "QUIK-Debug")
signingConfig signingConfigs.debug
}
}
@@ -87,13 +86,12 @@ android {
jvmTarget = "1.8"
}
productFlavors {
withAnalytics { dimension "analytics" }
noAnalytics {
signingConfig signingConfigs.release
}
}
lint {
abortOnError false
}
@@ -233,3 +231,13 @@ if (getGradle().getStartParameter().getTaskRequests().toString().contains("WithA
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
}
// Check to make sure that the keystore file is present when building a release
gradle.taskGraph.whenReady { taskGraph ->
if ((taskGraph.hasTask(':assembleRelease') ||
taskGraph.allTasks.any { it.name == 'assembleRelease' }) &&
!file('./.gradle/.gradlerc').exists() &&
System.getenv("CI") != "true") {
throw new GradleException("Keystore properties file not found")
}
}