mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-04-22 05:38:02 +00:00
Initial commit: Pezkuwi Wallet Android
Security hardened release: - Code obfuscation enabled (minifyEnabled=true, shrinkResources=true) - Sensitive files excluded (google-services.json, keystores) - Branch.io key moved to BuildConfig placeholder - Updated dependencies: OkHttp 4.12.0, Gson 2.10.1, BouncyCastle 1.77 - Comprehensive ProGuard rules for crypto wallet - Navigation 2.7.7, Lifecycle 2.7.0, ConstraintLayout 2.1.4
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
Properties localProperties = new Properties()
|
||||
|
||||
def localPropertiesFile = project.rootProject.file('local.properties')
|
||||
|
||||
if (localPropertiesFile.exists()) {
|
||||
localProperties.load(localPropertiesFile.newDataInputStream())
|
||||
}
|
||||
|
||||
ext.readRawSecretOrNull = { secretName ->
|
||||
def localPropSecret = localProperties.getProperty(secretName)
|
||||
|
||||
def secret = (localPropSecret != null) ? localPropSecret : System.getenv(secretName)
|
||||
|
||||
if (secret == null || secret.isEmpty()) return null
|
||||
|
||||
return secret
|
||||
}
|
||||
|
||||
ext.readStringSecretOrNull = { secretName ->
|
||||
def secret = readRawSecretOrNull(secretName)
|
||||
if (secret == null) return null
|
||||
|
||||
return maybeWrapInQuotes(secret)
|
||||
}
|
||||
|
||||
ext.readStringSecret = { secretName ->
|
||||
return readStringSecretOrNull(secretName) ?: secretNotFound(secretName)
|
||||
}
|
||||
|
||||
private static def secretNotFound(secretName) {
|
||||
throw new NoSuchElementException("${secretName} secret is not found in local.properties or environment variables")
|
||||
}
|
||||
|
||||
static def maybeWrapInQuotes(content) {
|
||||
return content.startsWith("\"") ? content : "\"" + content + "\""
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
def getVersionCodeFromFile() {
|
||||
def versionFile = new File(rootProject.projectDir, 'version.properties')
|
||||
if (!versionFile.exists()) {
|
||||
versionFile.text = 'VERSION_CODE=1'
|
||||
}
|
||||
def props = new Properties()
|
||||
props.load(versionFile.newDataInputStream())
|
||||
return props.getProperty('VERSION_CODE', '1').toInteger()
|
||||
}
|
||||
|
||||
def incrementVersionCode() {
|
||||
def versionFile = new File(rootProject.projectDir, 'version.properties')
|
||||
def currentCode = getVersionCodeFromFile()
|
||||
def newCode = currentCode + 1
|
||||
versionFile.text = "VERSION_CODE=${newCode}"
|
||||
return newCode
|
||||
}
|
||||
|
||||
def computeVersionName() {
|
||||
return "$rootProject.versionName"
|
||||
}
|
||||
|
||||
def computeVersionCode() {
|
||||
if (System.env.CI_BUILD_ID) {
|
||||
return Integer.valueOf(System.env.CI_BUILD_ID)
|
||||
}
|
||||
// Local build - auto increment
|
||||
if (gradle.startParameter.taskNames.any { it.contains('assemble') || it.contains('install') }) {
|
||||
return incrementVersionCode()
|
||||
}
|
||||
return getVersionCodeFromFile()
|
||||
}
|
||||
|
||||
def static releaseNotes() {
|
||||
return System.getenv('CI_FIREBASE_RELEASENOTES') ?: ''
|
||||
}
|
||||
|
||||
def static firebaseGroup() {
|
||||
return System.getenv('CI_FIREBASE_GROUP') ?: ''
|
||||
}
|
||||
|
||||
|
||||
ext {
|
||||
computeVersionName = this.&computeVersionName
|
||||
computeVersionCode = this.&computeVersionCode
|
||||
releaseNotes = this.&releaseNotes
|
||||
firebaseGroup = this.&firebaseGroup
|
||||
}
|
||||
Reference in New Issue
Block a user