|
|
|
@ -1,88 +1,18 @@
@@ -1,88 +1,18 @@
|
|
|
|
|
description = "Spring Aspects" |
|
|
|
|
|
|
|
|
|
// Redefine the compileJava and compileTestJava tasks in order to compile sources with ajc instead of javac |
|
|
|
|
apply plugin: "io.freefair.aspectj" |
|
|
|
|
|
|
|
|
|
configurations { |
|
|
|
|
rt |
|
|
|
|
ajc |
|
|
|
|
aspects |
|
|
|
|
ajInpath |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
compileJava { |
|
|
|
|
actions = [] |
|
|
|
|
dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileJava") |
|
|
|
|
|
|
|
|
|
def outputDir = project.sourceSets.main.java.outputDir |
|
|
|
|
inputs.files(project.sourceSets.main.allSource + project.sourceSets.main.compileClasspath) |
|
|
|
|
outputs.dir outputDir |
|
|
|
|
|
|
|
|
|
sourceCompatibility = 1.8 // fixed even when general compatibility level set to e.g. 10 |
|
|
|
|
targetCompatibility = 1.8 |
|
|
|
|
|
|
|
|
|
doLast{ |
|
|
|
|
// Assemble runtime classpath from folders and JARs that actually exist |
|
|
|
|
def runtimeClasspath = project.files(sourceSets.main.runtimeClasspath.files.findAll({ it.exists() })) |
|
|
|
|
|
|
|
|
|
ant.taskdef(resource: "org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", |
|
|
|
|
classpath: configurations.ajc.asPath) |
|
|
|
|
|
|
|
|
|
ant.iajc(source: sourceCompatibility, target: targetCompatibility, |
|
|
|
|
maxmem: "1024m", fork: "true", Xlint: "ignore", |
|
|
|
|
destDir: outputDir.absolutePath, |
|
|
|
|
aspectPath: configurations.aspects.asPath, |
|
|
|
|
inpath: configurations.ajInpath.asPath, |
|
|
|
|
sourceRootCopyFilter: "**/*.java,**/*.aj", |
|
|
|
|
classpath: (runtimeClasspath + configurations.rt).asPath) { |
|
|
|
|
sourceroots { |
|
|
|
|
sourceSets.main.java.srcDirs.each { |
|
|
|
|
pathelement(location:it.absolutePath) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
compileTestJava { |
|
|
|
|
actions = [] |
|
|
|
|
dependsOn configurations.ajc.getTaskDependencyFromProjectDependency(true, "compileTestJava") |
|
|
|
|
dependsOn jar |
|
|
|
|
|
|
|
|
|
def outputDir = project.sourceSets.test.java.outputDir |
|
|
|
|
inputs.files(project.sourceSets.test.allSource + project.sourceSets.test.compileClasspath) |
|
|
|
|
outputs.dir outputDir |
|
|
|
|
|
|
|
|
|
sourceCompatibility = 1.8 // fixed even when general compatibility level set to e.g. 10 |
|
|
|
|
targetCompatibility = 1.8 |
|
|
|
|
sourceSets.main.aspectj.srcDir "src/main/java" |
|
|
|
|
sourceSets.main.java.srcDirs = files() |
|
|
|
|
|
|
|
|
|
doLast{ |
|
|
|
|
// Assemble runtime classpath from folders and JARs that actually exist |
|
|
|
|
def runtimeClasspath = project.files(sourceSets.test.runtimeClasspath.files.findAll({ it.exists() })) |
|
|
|
|
|
|
|
|
|
ant.taskdef(resource: "org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties", |
|
|
|
|
classpath: configurations.ajc.asPath) |
|
|
|
|
|
|
|
|
|
ant.iajc(source: sourceCompatibility, target: targetCompatibility, |
|
|
|
|
maxmem: "1024m", fork: "true", Xlint: "ignore", |
|
|
|
|
destDir: outputDir.absolutePath, |
|
|
|
|
aspectPath: jar.archivePath, |
|
|
|
|
inpath: configurations.ajInpath.asPath, |
|
|
|
|
classpath: (runtimeClasspath + project.files(jar.archivePath) + configurations.rt).asPath) { |
|
|
|
|
sourceroots { |
|
|
|
|
sourceSets.test.java.srcDirs.each { |
|
|
|
|
pathelement(location:it.absolutePath) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
sourceSets.test.aspectj.srcDir "src/test/java" |
|
|
|
|
sourceSets.test.java.srcDirs = files() |
|
|
|
|
|
|
|
|
|
aspectj.version = aspectjVersion |
|
|
|
|
|
|
|
|
|
dependencies { |
|
|
|
|
aspects(project(":spring-orm")) |
|
|
|
|
ajc("org.aspectj:aspectjtools:${aspectjVersion}") |
|
|
|
|
rt("org.aspectj:aspectjrt:${aspectjVersion}") |
|
|
|
|
compile("org.aspectj:aspectjweaver:${aspectjVersion}") |
|
|
|
|
aspect(project(":spring-orm")) |
|
|
|
|
compile("org.aspectj:aspectjrt:${aspectjVersion}") |
|
|
|
|
optional(project(":spring-aop")) // for @Async support |
|
|
|
|
optional(project(":spring-beans")) // for @Configurable support |
|
|
|
|
optional(project(":spring-context")) // for @Enable* support |
|
|
|
|