Для android существует такая вещь как ProductFlavors. Хочется получиться тоже самое и для простой java и в итоге получить jar'ник.
Project
src
--emul
package
ClassA
--main
package
ClassA
ClassB
ClassC
--mock
package
ClassA
Но каждый раз когда я компилирую получаю ClassA из папки main. Так же попробовал использовать плагин com.lazan.javaflavours, ситуацию такая же. Подскажите в чем может быть проблема и в какую сторону копать? Если в jar прописать from sourceSets.mock.output или from sourceSets.emul.output то всё получается как надо, но как только я прописываю в конкретный Task то на выходе получаю последнии исходники(какой бы jar не компилировал всегда получаю mock'овский). Код build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
// todo add dependencies
}
}
plugins {
id 'java'
id "com.lazan.javaflavours" version "1.2"
}
group 'CashDesk'
version '1.0.0'
sourceCompatibility = 1.8
javaFlavours {
flavour 'emul'
flavour 'mock'
}
sourceSets {
emul {
java {
srcDirs 'src/emul/java'
}
}
mock {
java {
srcDirs 'src/mock/java'
}
}
}
jar {
manifest {
attributes 'Implementation-Title': 'Cash desk API',
'Implementation-Version': version,
'Built-Date': new Date(),
'Built-JDK': System.getProperty('java.version'),
'Built-Gradle': gradle.gradleVersion
}
exclude('by/avest/softwarecashdesk/example/**')
}
compileJava {
options.encoding = "UTF-8"
}
task createJarEmulator(type: Jar) {
baseName = 'cashdesk'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
task createJarMocks(type: Jar) {
baseName = 'cashdesk'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости