spring-security/gradle/ide-integration.gradle

65 lines
2.3 KiB
Groovy
Raw Normal View History

apply plugin: 'idea'
configure(javaProjects) {
apply plugin: 'idea'
2012-06-29 13:59:22 -04:00
apply plugin: 'eclipse-wtp'
eclipse.classpath.downloadSources = true
// GRADLE-1116
project.eclipse.classpath.file.whenMerged { classpath ->
classpath.entries.removeAll { entry -> entry.path.endsWith('/build/classes/test') }
}
// GRADLE-1422
project.eclipseClasspath.doFirst {
// delay adding whenMerged till the entryAttributes are added (must be the last whenMerged)
project.eclipse.classpath.file.whenMerged { classpath ->
def includeDeps = project.configurations.getByName('runtime').collect {f -> f.absolutePath } as Set
classpath.entries.each { cp ->
if(cp instanceof org.gradle.plugins.ide.eclipse.model.Library) {
def include = includeDeps.contains(cp.path)
def attr = 'org.eclipse.jst.component.dependency'
if(!include) {
cp.entryAttributes.remove(attr)
}
}
}
}
}
2011-04-27 11:21:46 -04:00
tasks.withType(org.gradle.plugins.ide.eclipse.GenerateEclipseWtpComponent) {
2012-06-29 13:59:22 -04:00
project.eclipse.classpath.file.whenMerged { classpath->
project.eclipse.wtp.component.file.whenMerged { wtpComponent ->
wtpComponent.contextPath = project.tasks.findByName('jettyRun')?.contextPath?.replaceFirst('/','')
}
}
}
}
// STS-2723
2012-06-29 13:59:22 -04:00
project(':spring-security-samples-aspectj') {
task afterEclipseImport {
ext.srcFile = file('.classpath')
inputs.file srcFile
outputs.dir srcFile
onlyIf { srcFile.exists() }
2012-06-29 13:59:22 -04:00
doLast {
def classpath = new XmlParser().parse(srcFile)
classpath.classpathentry.findAll{ it.@path == '/spring-security-aspects' }.each { node ->
if(node.children().size() == 0) {
def attrs = new Node(node,'attributes')
def adjtAttr = new Node(attrs,'attributes',[name: 'org.eclipse.ajdt.aspectpath', value: 'org.eclipse.ajdt.aspectpath'])
node.appendNode(adjtAttr)
}
}
def writer = new FileWriter(srcFile)
new XmlNodePrinter(new PrintWriter(writer)).print(classpath)
}
}
}