xtext-core/gradle/eclipse-project-layout.gradle
2016-12-22 16:42:10 +01:00

57 lines
1.2 KiB
Groovy

/*
* Since we use the Eclipse Style layout where sources and resources live in the same
* folders, we need to make some adjustments to Gradle's defaults.
*/
def isTestProject = name.endsWith('tests')
def sourceDirs = ['src', 'src-gen', 'emf-gen']
sourceSets {
configure(isTestProject? test : main) {
java {
srcDirs = sourceDirs
include '**/*.java', '**/*.xtend'
xtendOutputDir = 'xtend-gen'
}
resources {
srcDirs = sourceDirs
exclude '**/*.java', '**/*.xtend'
}
}
configure(isTestProject? main : test) {
java.srcDirs = []
resources.srcDirs = []
}
}
jar {
from ('.') {
include 'about*.*', 'plugin.xml', 'schema/**', 'model/**', 'plugin.properties'
}
if (isTestProject)
from(sourceSets.test.output)
}
sourcesJar {
from ('.') {
include 'about*.*'
}
}
if (isTestProject || name.contains('testlanguage')) {
tasks.withType(Javadoc) {
enabled = false
}
javadocJar.enabled = false
uploadArchives.enabled = false
} else {
artifacts.archives javadocJar
}
eclipse.classpath.file.whenMerged {
entries.each { source ->
if (source.kind == 'src' && source.path.endsWith('-gen') && !source.path.equals('xtend-gen') ) {
source.entryAttributes['ignore_optional_problems'] = 'true'
}
}
}