Автоматически запускать генератор GreenDao каждый раз, когда я создаю проект с помощью Gradle

Я разрабатываю приложение для Android и использую greendao для моделирования своей базы данных. Я хотел запускать даогенератор каждый раз, когда перестраиваю проект, но он находится в другом модуле.

Как я могу сделать это с помощью Gradle?

Вот как я могу запустить приложение в модуле перед созданием другого модуля.

Спасибо.


person Fábio Carballo    schedule 28.09.2015    source источник


Ответы (2)


Конечно, вы можете это сделать!

  1. Создайте задачу, которая запускает ваше поколение. В моем случае модуль с greendao находится рядом с модулем приложения. Это java-модуль.

    task generateDao(type: GradleBuild) { dir = "../greendaogenerator" tasks = ["run"] }

  2. Настройте, чтобы эта задача выполнялась перед каждой задачей компиляции.

    tasks.whenTaskAdded { task -> if (task.name.startsWith('compile')) { task.dependsOn generateDao task.mustRunAfter generateDao } }

person Marcin Kunert    schedule 25.11.2015
comment
Эй, спасибо за ответ. Когда я пытаюсь использовать это, для этого требуются болты. Задача. Это действительно необходимо? Где я могу получить это? @qmar - person Fábio Carballo; 25.11.2015
comment
@FábioCarballo это может быть что-то особенное для вашего проекта, пожалуйста, обновите вопрос, указав структуру вашего проекта, мне может быть полезно ответить - person Marcin Kunert; 26.11.2015

Невозможно комментировать: ответ qmar - это путь. Вы только что спасли мой день! Отлично работает, когда ваша реализация greendao представляет собой отдельный модуль внутри вашего проекта.

person Carlos    schedule 27.11.2015
comment
Конечно, нет проблем. Потребовалось довольно много времени, чтобы понять это. Рад, что смог быть полезен. - person Marcin Kunert; 28.11.2015