Компилировать Gradle с двумя конфигурациями
У меня есть проект Gradle. Этот проект содержит много модулей. Я хотел бы сделать 2 разных исполняемых файла с активированным модулем или нет. У меня есть один исполняемый файл с module1 и module2, как следует:
dependencies {
compile project(':module1')
compile project(':module2')
}
Я хотел бы, чтобы исполняемый файл с module1 и module2, а другой только с module1.
Для генерации исполняемого файла я использовал launch4j и shadowjar.
Как я могу это сделать?
Спасибо
1 ответ
Вы могли бы использовать мой плагин java-flavors
plugins {
id "com.lazan.javaflavours" version "1.2"
}
javaFlavours {
flavour 'version1'
flavour 'version2'
}
dependencies {
compile 'some:common-dependency:1.0'
version1Compile project(':module1')
version2Compile project(':module2')
}
Каждый вариант (например, версия 1 и версия 2) будет иметь задачу jar, которая может использоваться последующими модулями / задачами. Вы также можете ссылаться sourceSets.version1.runtimeClasspath
и т.п.
Примечание: плагин поддерживает специфические для java исходники и ресурсы. Не уверен, если вам нужна эта функция.