Я нахожусь на ранних этапах миграции андроид проекта Gradle, используя экспериментальный плагин 0.4.0Gradle использует различные задачи/аргументы для каждого типа сборки
В рамках процесса сборки у меня есть ряд скрипты, которые должны выполняться до компиляции моего кода/сборки apk. Аргументы или задачи сами по себе будут отличаться для сборки отладки или выпуска.
Я изо всех сил пытаюсь найти прямой способ достичь этого.
Я все это отбросил до простого проекта приветствия, когда я это понял.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.4.0'
}
}
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
}
android.buildTypes {
debug {
//
}
release {
//runProguard, sign etc.
}
}
android.productFlavors {
create("free")
{
applicationId = "com.example.app.free"
versionName = "1.0-free"
}
create("full")
{
applicationId = "com.example.app.full"
versionName = "1.0-full"
}
}
}
repositories {
jcenter()
}
dependencies {
compile 'joda-time:joda-time:2.7'
}
task runScript(type: Exec) {
executable "sh"
args "-c", "echo SomeScriptHere"
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn runScript
}
task wrapper(type: Wrapper) {
gradleVersion = '2.5'
}
В идеале я хочу, чтобы дифференцировать по buildType (не productFlavor) в качестве задач, требуемых в зависимости от типа телосложения не разнообразие приложений производства.
Можно ли указать, что задача должна выполняться только при создании выпуска или отладки?
В качестве альтернативы можно определить различные аргументы, которые будут использоваться для моей задачи runScript, на основе создания или отладки?
Извините, если мне не хватает чего-то очевидного, я довольно новичок в использовании градиента.