Skip to content

Commit

Permalink
- introduce better approach to specify the signing.gradle
Browse files Browse the repository at this point in the history
- update various dependencies to their latest stable version
  • Loading branch information
mikepenz committed Oct 2, 2020
1 parent 12ea591 commit 9c0c0f0
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 14 deletions.
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

name: CI
on:
push:
pull_request:
jobs:
ci:
Expand Down
12 changes: 4 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.mikepenz.aboutlibraries.plugin'

//wrap with try and catch so the build is working even if the signing stuff is missing
try {
apply from: '../../../signing.gradle'
} catch (ignored) {
if (getSigningFile() != null) {
apply from: "${getSigningFile()}"
}

android {
Expand All @@ -33,17 +31,15 @@ android {
minifyEnabled false
}
release {
try {
if (getSigningFile() != null) {
signingConfig signingConfigs.release
} catch (ignored) {
}
zipAlignEnabled true
minifyEnabled false
}
staging {
try {
if (getSigningFile() != null) {
signingConfig signingConfigs.release
} catch (ignored) {
}
applicationIdSuffix ".debugStaging"
matchingFallbacks = ['debug']
Expand Down
12 changes: 7 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
buildscript {
apply from: 'configurations.gradle'

ext {
release = [
versionName: "8.3.1",
Expand All @@ -17,14 +19,14 @@ buildscript {
cardview : '1.0.0',
appcompat : '1.2.0',
recyclerview : '1.1.0',
material : '1.2.0',
material : '1.2.1',
kotlin : "1.4.10",
constraintLayout: '2.0.1',
iconics : "5.0.3",
detekt : '1.0.1',
fastadapter : "5.1.0",
materialdrawer : "8.1.0",
coreKtx : "1.3.1"
detekt : '1.12.0',
fastadapter : "5.2.3",
materialdrawer : "8.1.5",
coreKtx : "1.3.2"
]
}

Expand Down
116 changes: 116 additions & 0 deletions configurations.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
/*
* Copyright (C) 2020 Mike Penz
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.text.SimpleDateFormat

/**
* retrieves a value from the local properties
*/
ext.getLocalProps = {
Properties localProperties = new Properties()
localProperties.load(new File('local.properties').newDataInputStream())
return localProperties
}

/**
* helper method to retrieve a value either from a local property, or via the global defined properties
*/
ext.getLocalOrGlobalProperty = { key ->
try {
def val = getLocalProps().getProperty("$key")
if (val == null) {
val = getProperty("$key")
}
return val
} catch (ignored) {
return null
}
}

/**
* retrieves a value from the properties or falls back to the default
*/
ext.getProperyOrDefault = { key, defau ->
def val = null
try {
val = project.hasProperty(key) ? project.getProperty(key) : null
} catch (Exception ex) {
}
if (val != null && !val.toString().equals("")) {
return val
}
val = getLocalOrGlobalProperty(key)
if (val == null || val.toString().equals("")) {
return defau
} else {
return val
}
}

/**
* used to sign the app in release mode
* Further information can be found in the README.md
*/
ext.getSigningFile = {
return getLocalOrGlobalProperty("openSource.signing.file")
}

/**
* retrieves the current git hash
*/
ext.gitHash = { ->
try {
def outstream = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--short', 'HEAD'
standardOutput = outstream
}
return outstream.toString().trim()
} catch (Exception ex) {
logger.warn('The build was not able to resolve the git branch, this project seems to be not within a git project')
return ""
}
}

/**
* retrieves the current git branch
*/
ext.gitBranch = { ->
try {
def outstream = new ByteArrayOutputStream()
exec {
commandLine 'git', 'name-rev', '--name-only', 'HEAD'
standardOutput = outstream
}
return outstream.toString().trim()
} catch (Exception ex) {
logger.warn('The build was not able to resolve the git branch, this project seems to be not within a git project')
return ""
}
}

/**
* retrieves the current timestamp during the build
*/
ext.buildDate = { ->
return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm").format(new Date())
}

/**
* Checks if this build is from an IDE
*/
ext.isIdeBuild = { ->
return project.properties['android.injected.invoked.from.ide'] == 'true'
}

0 comments on commit 9c0c0f0

Please sign in to comment.