我有一个现有的应用程序已经支持不同的环境,如桌面,Android等。现在我想在rest接口上另外提供相同的功能。我虽然可能只是添加一个不同的sourceSet +配置。我可以使用添加一个新的子模块来做到这一点,但我想我也可以在gradle中使用不同的配置,就像“桌面”一样。但不知何故,我无法将spring boot依赖项纳入我的“server”类路径。我如何实现继承自“main”的源和依赖项设置,但添加了其他源和库?
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.1.0'
classpath 'de.dynamicfiles.projects.gradle.plugins:javafx-gradle-plugin:8.7.0'
classpath "org.springframework.boot:spring-boot-gradle-plugin:1.5.1.RELEASE"
}
}
apply plugin: 'org.springframework.boot'
springBoot {
customConfiguration = "server"
}
sourceSets {
server {
java {
srcDirs = ['src/server/java']
}
resources {
srcDirs = ['src/server/resources']
}
compileClasspath += main.output + configurations.server
runtimeClasspath += main.output + configurations.server
}
}
configurations {
server.extendsFrom(compile)
}
dependencies {
// some dependencies ...
// Only for the spring webserver
server "org.springframework.boot:spring-boot-starter-web"
}
答案 0 :(得分:0)
这听起来与我的java flavours plugin
非常相似apply plugin: 'com.lazan.javaflavours'
javaFlavours {
flavours = ['free', 'paid']
}
该插件为从main继承的每种flavor创建源集。该插件还为每种风格创建了编译,测试和jar任务。有趣的代码here