Build a separate -agent jar which contains the embedded asm dependency
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,5 +7,7 @@ springloaded-*.jar
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
/.idea
|
/.idea
|
||||||
*.iml
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
*.iws
|
||||||
/.gradle
|
/.gradle
|
||||||
build/
|
build/
|
||||||
|
|||||||
23
build.gradle
23
build.gradle
@@ -1,13 +1,16 @@
|
|||||||
apply plugin: 'idea'
|
allprojects {
|
||||||
|
apply plugin: 'idea'
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
tools
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
|
|
||||||
configurations {
|
|
||||||
tools
|
|
||||||
}
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ dependencies {
|
|||||||
tools "org.aspectj:aspectjtools:$aspectjVersion"
|
tools "org.aspectj:aspectjtools:$aspectjVersion"
|
||||||
compile "cglib:cglib:2.2.2"
|
compile "cglib:cglib:2.2.2"
|
||||||
compile "org.aspectj:aspectjrt:$aspectjVersion"
|
compile "org.aspectj:aspectjrt:$aspectjVersion"
|
||||||
|
compile 'asm:asm-all:3.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@@ -16,6 +17,8 @@ sourceSets {
|
|||||||
java {
|
java {
|
||||||
srcDir 'src'
|
srcDir 'src'
|
||||||
srcDir 'cglibsrc'
|
srcDir 'cglibsrc'
|
||||||
|
srcDir 'subsrc'
|
||||||
|
srcDir 'supersrc'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,26 +5,12 @@ group = "org.springsource.loaded"
|
|||||||
version = '1.1.1-dev'
|
version = '1.1.1-dev'
|
||||||
jar.baseName = 'spring-loaded'
|
jar.baseName = 'spring-loaded'
|
||||||
|
|
||||||
configurations {
|
|
||||||
provided
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
compileJava {
|
||||||
options.debug = true
|
options.debug = true
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
main { compileClasspath += configurations.provided }
|
|
||||||
}
|
|
||||||
|
|
||||||
/*idea {
|
|
||||||
module {
|
|
||||||
scopes.PROVIDED.plus += configurations.provided
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
provided 'asm:asm-all:3.2'
|
compile 'asm:asm-all:3.2'
|
||||||
tools 'com.googlecode.jarjar:jarjar:1.3'
|
tools 'com.googlecode.jarjar:jarjar:1.3'
|
||||||
testCompile 'junit:junit:4.11'
|
testCompile 'junit:junit:4.11'
|
||||||
testCompile project(':org.springsource.loaded.testdata')
|
testCompile project(':org.springsource.loaded.testdata')
|
||||||
@@ -38,14 +24,14 @@ task jarAll(type: Jar, dependsOn: jar) {
|
|||||||
def metaInfDir = "$projectDir/META-INF"
|
def metaInfDir = "$projectDir/META-INF"
|
||||||
inputs.files jar.archivePath
|
inputs.files jar.archivePath
|
||||||
inputs.dir metaInfDir
|
inputs.dir metaInfDir
|
||||||
classifier = 'all'
|
classifier = 'agent'
|
||||||
doLast {
|
doLast {
|
||||||
project.ant {
|
project.ant {
|
||||||
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", classpath: configurations.tools.asPath
|
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", classpath: configurations.tools.asPath
|
||||||
jarjar(jarfile: archivePath, manifest: "$metaInfDir/MANIFEST.MF") {
|
jarjar(jarfile: archivePath, manifest: "$metaInfDir/MANIFEST.MF") {
|
||||||
zipfileset(dir: "$metaInfDir", prefix: 'META-INF')
|
zipfileset(dir: "$metaInfDir", prefix: 'META-INF')
|
||||||
zipfileset(src: jar.archivePath)
|
zipfileset(src: jar.archivePath)
|
||||||
configurations.runtime.files.each { jarjarFile ->
|
configurations.compile.files.each { jarjarFile ->
|
||||||
zipfileset(src: jarjarFile)
|
zipfileset(src: jarjarFile)
|
||||||
}
|
}
|
||||||
rule pattern: "org.objectweb.asm.**", result: "sl.org.objectweb.asm.@1"
|
rule pattern: "org.objectweb.asm.**", result: "sl.org.objectweb.asm.@1"
|
||||||
|
|||||||
Reference in New Issue
Block a user