Сгенерированный код остается в папке сборки после сборки Android Studio

Я использую задачу gradle, чтобы сгенерировать код для своего API и сохранить этот код в папке build. Когда я создаю свое приложение, процесс удаляет папку сборки.

Есть ли способ вызвать мою задачу генерации кода между удалением папки и началом компиляции?


person Vaggelis Larios    schedule 29.12.2020    source источник
comment
Вы используете пользовательскую задачу Gradle? Пожалуйста, покажите, как вы генерируете код для своего API. В gradle вы можете сделать свои пользовательские задачи зависимыми от других задач. Вы можете подключить свою собственную генерацию кода: вопросы/21612729/   -  person ChristianB    schedule 29.12.2020
comment
Я знаю, как вызывать другие задачи, но моя проблема заключается в том, чтобы вызвать мою задачу вовремя после того, как папка сборки была удалена, и поместить туда мой сгенерированный код, чтобы компиляция нашла нужные мне классы.   -  person Vaggelis Larios    schedule 29.12.2020


Ответы (2)


Я не эксперт по Gradle, поэтому их ответы могут быть лучше!

В своем build.gradle вы можете создавать собственные задачи и делать их зависимыми от других задач:

// this is your new task
task generateCode() {
  description 'Generates some code...'
  doLast {
    println("generateCode")
    // do your code generation here
  }
}

// put the name of the task you wanna depend on, like: compileSources
project.task("compileSources").dependsOn generateCode

Когда вы вызываете эту задачу ./gradlew compileSources, вы должны увидеть, что пользовательская задача generateCode выполняется первой.

person ChristianB    schedule 29.12.2020

После долгих попыток я нашел решение. В build.gradle мне пришлось добавить preBuild.finalizedBy(generateCode)

person Vaggelis Larios    schedule 03.01.2021