1
0
Fork 0
tt9/build.gradle
sspanak 336b569faa New beginning (#1)
* removed signing config when building a release
* slightly reorganized project structure
* .editorconfig
* updated README
2022-07-11 08:56:30 +03:00

146 lines
3.2 KiB
Groovy

buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.1'
}
}
apply plugin: 'android'
dependencies {
implementation "androidx.core:core:1.5.0"
}
repositories {
mavenCentral()
google()
}
def execThing ( String cmdStr ) {
def stdout = new ByteArrayOutputStream()
String prefix = System.getenv("GITCMDPREFIX")
if (prefix != null) {
String cmd = prefix + cmdStr
exec {
commandLine cmd.tokenize()
standardOutput = stdout
}
} else {
exec {
commandLine cmdStr.tokenize()
standardOutput = stdout
}
}
return stdout
}
def computeVersionName = { ->
String ver = "git-source"
try {
if (execThing(" git status -z").toString().trim().equals("")) {
return "git-" + execThing(' git log -1 --format="%h"').toString().trim()
} else {
return ver
}
} catch (all) {
println "Cannot run git (not in path?), using default versioning"
}
return ver
}
def getProps() {
Properties props = new Properties()
File f = new File("t9build.properties")
if (!f.exists()) {
f.createNewFile()
}
props.load(new FileInputStream(f))
return props
}
def saveProps(Properties props) {
props.store(new FileOutputStream(new File("t9build.properties")), null)
}
// -PincrementBuildNumber assembleRelease
def computeVersionNumber = { ->
Properties props = getProps()
int verNum = Integer.valueOf(props.getProperty("verNum", "0"))
if (project.hasProperty('incrementBuildNumber')) {
verNum++
}
props.setProperty("verNum", String.valueOf(verNum))
saveProps(props)
return verNum
}
android {
compileSdkVersion 30
buildToolsVersion "32.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
defaultConfig {
minSdkVersion 19
targetSdk 30
versionCode computeVersionNumber()
versionName computeVersionName()
}
// http://stackoverflow.com/a/19130098
// signingConfigs {
// release {
// storeFile file(System.getenv("KEYSTORE"))
// storePassword System.getenv("KEYSTORE_PASS")
// keyAlias System.getenv("KEYALIAS")
// keyPassword System.getenv("KEYALIAS_PASS")
// }
// }
//
// buildTypes {
// release {
// signingConfig android.signingConfigs.release
// }
// }
}
task getDictSizes {
inputs.dir fileTree(dir:'assets', excludes:['dict.properties'])
outputs.file "t9build.properties"
doLast {
println "Calculating dict size..."
inputs.getFiles().each {File file ->
println "dict: "+ file.name
ant.propertyfile(file:"assets/dict.properties") {
entry(key: "size."+ file.name, value: file.length())
}
}
}
}
preBuild.dependsOn getDictSizes
preBuild.mustRunAfter getDictSizes