add flavor (debug/release) to android project build script
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
import java.util.regex.Matcher
|
||||||
|
import java.util.regex.Pattern
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
@@ -22,10 +25,36 @@ allprojects {
|
|||||||
apply plugin: "com.android.application"
|
apply plugin: "com.android.application"
|
||||||
apply plugin: "com.gladed.androidgitversion"
|
apply plugin: "com.gladed.androidgitversion"
|
||||||
|
|
||||||
|
def getCurrentFlavor() {
|
||||||
|
Gradle gradle = getGradle()
|
||||||
|
if (gradle.getStartParameter().getTaskRequests().args.size() == 0)
|
||||||
|
return ""
|
||||||
|
String tskReqStr = gradle.getStartParameter().getTaskRequests().args[0][0]
|
||||||
|
Pattern pattern;
|
||||||
|
|
||||||
|
if( tskReqStr.contains( "assemble" ) )
|
||||||
|
pattern = Pattern.compile("assemble(\\w*)(Release|Debug)")
|
||||||
|
else
|
||||||
|
pattern = Pattern.compile("generate(\\w*)(Release|Debug)")
|
||||||
|
|
||||||
|
Matcher matcher = pattern.matcher( tskReqStr )
|
||||||
|
|
||||||
|
if( matcher.find() )
|
||||||
|
return matcher.group(2).toLowerCase()
|
||||||
|
else
|
||||||
|
{
|
||||||
|
println "NO MATCH FOUND"
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def flavor = getCurrentFlavor()
|
||||||
|
def flavor_cap = getCurrentFlavor().capitalize()
|
||||||
|
|
||||||
Properties properties = new Properties()
|
Properties properties = new Properties()
|
||||||
properties.load(project.rootProject.file('local.properties').newDataInputStream())
|
properties.load(project.rootProject.file('local.properties').newDataInputStream())
|
||||||
def sdkDir = properties.getProperty("sdk.dir")
|
def sdkDir = properties.getProperty("sdk.dir")
|
||||||
def classpath = "build/intermediates/classes/debug:" + sdkDir + "/platforms/android-26/android.jar"
|
def classpath = "build/intermediates/javac/${flavor}/compile${flavor_cap}JavaWithJavac/classes:${sdkDir}/platforms/android-26/android.jar"
|
||||||
def activity = "com.omixlab.panopainter.MainActivity"
|
def activity = "com.omixlab.panopainter.MainActivity"
|
||||||
def outpath = "src/main/cpp"
|
def outpath = "src/main/cpp"
|
||||||
|
|
||||||
@@ -34,6 +63,8 @@ def ver_hash = "git log --pretty=format:%h -n 1".execute().text.trim()
|
|||||||
def ver_count = Integer.parseInt("git rev-list --count HEAD".execute().text.trim())
|
def ver_count = Integer.parseInt("git rev-list --count HEAD".execute().text.trim())
|
||||||
def ver_tag = "git describe --tags --abbrev=0".execute().text.trim()
|
def ver_tag = "git describe --tags --abbrev=0".execute().text.trim()
|
||||||
|
|
||||||
|
println classpath
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 26
|
compileSdkVersion 26
|
||||||
android.buildToolsVersion "28.0.3"
|
android.buildToolsVersion "28.0.3"
|
||||||
@@ -115,7 +146,7 @@ preBuild.dependsOn(copyFiles)
|
|||||||
|
|
||||||
task generateVersioning(type: Exec) {
|
task generateVersioning(type: Exec) {
|
||||||
workingDir "$projectDir/../"
|
workingDir "$projectDir/../"
|
||||||
commandLine 'python', 'scripts/pre-build.py', 'release'
|
commandLine 'python', 'scripts/pre-build.py', flavor
|
||||||
}
|
}
|
||||||
copyFiles.dependsOn(generateVersioning)
|
copyFiles.dependsOn(generateVersioning)
|
||||||
|
|
||||||
@@ -123,7 +154,15 @@ task generateJavaH(type: Exec) {
|
|||||||
workingDir "$projectDir"
|
workingDir "$projectDir"
|
||||||
commandLine 'javah', "-jni", "-force", "-cp", "$classpath", "-d", "$outpath", "$activity"
|
commandLine 'javah', "-jni", "-force", "-cp", "$classpath", "-d", "$outpath", "$activity"
|
||||||
}
|
}
|
||||||
generateVersioning.dependsOn(generateJavaH)
|
//generateVersioning.dependsOn(generateJavaH)
|
||||||
|
|
||||||
|
tasks.whenTaskAdded { task ->
|
||||||
|
if (task.name.contains('externalNativeBuild')) {
|
||||||
|
// This dependecy *is* set. This can be seen by using task copyLibs(type: Copy, dependsOn: 'bundleDebug')
|
||||||
|
// together with this and get a circular dependency.
|
||||||
|
task.dependsOn generateJavaH
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
|||||||
Reference in New Issue
Block a user