Задача Android build.gradle получить текущий вкус - PullRequest
0 голосов
/ 11 декабря 2018

Чтобы автоматизировать сборку приложения, я хотел бы ввести конкретную конфигурацию в соответствии с выбранным вкусом продукта.

Я бы хотел внедрить свои конфигурации перед сборкой, тогда сборка будет зависеть от моей инъекции.

Вот пример:

flavorDimensions "mode"

  productFlavors {
    dev {
      dimension "mode"
      applicationIdSuffix ".dev"
    }

    recette {
      dimension "mode"
      applicationIdSuffix ".recette"
    }

    prod {
      dimension "mode"
    }
  } 

И мои задачи:

task packageApp() {
  group "package"
  flavor = project.hasProperty('flavor') ? project.property('flavor') : 'dev'
}


task injectConf(type: Exec) {

  dependsOn 'packageApp'

  group "config"

  workingDir '../../../'

  commandLine 'sh', '-c', "\$(which yarn) inject-conf $flavor"
}

task assembleApp(type: Exec) {
  dependsOn 'injectConf'

  group "config"

  workingDir '../'

  def flavorCap = flavor.substring(0,1).capitalize() + flavor.substring(1, flavor.length())

  commandLine 'sh', '-c', "./gradlew assemble${flavorCap}Release"
}

Если я строю из своего скрипта Fastlane в командной строке, я могу получить вкус из свойств.Но я хотел бы получить представление, когда я просто запускаю свое приложение из Android Studio, чтобы я мог внедрить свою конфигурацию и перед сборкой.

Итак, мой вопрос, могу ли я получить выбранный вариант до сборки приложения?

Некоторая помощь будет очень признательна :)

...