Generate -sources and -javadoc jars
Each spring-* subproject now has sourcesJar and javadocJar tasks - Ignore subproject overview.html files for now (not all have one) - Ensure @author attribution occurs - Javadoc 'header' is project description spring-asm is a special case - source jar is created, but empty (to comply with entry rules for Maven Central) - add package-info.java explaining the nature of spring-asm this is nice, because it shows up in the public API docs now. - add SpringAsmInfo in the org.springframework.asm package as a placeholder allowing the generation of javadocs (see link to bug) - add explicit 'repackageAsm' Gradle task allowing for easy testing and merging of jar containing bundlor manifest as well as jar containing repackaged ASM classes.
This commit is contained in:
parent
2bab8f3c0b
commit
366f0d7892
57
build.gradle
57
build.gradle
|
|
@ -53,21 +53,70 @@ configure(subprojects) {
|
|||
expand(copyright: new Date().format('yyyy'), version: project.version)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configure(subprojects - project(":spring-asm")) {
|
||||
javadoc {
|
||||
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED
|
||||
options.author = true
|
||||
options.header = project.name
|
||||
//options.overview = "${projectDir}/src/main/java/overview.html"
|
||||
}
|
||||
|
||||
task sourcesJar(type: Jar, dependsOn:classes) {
|
||||
classifier = 'sources'
|
||||
from sourceSets.main.allSource
|
||||
from sourceSets.main.allJava
|
||||
}
|
||||
|
||||
task javadocJar(type: Jar) {
|
||||
classifier = 'javadoc'
|
||||
from javadoc
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives sourcesJar
|
||||
archives javadocJar
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
project("spring-asm") {
|
||||
description = 'Spring ASM'
|
||||
asmVersion = '2.2.3'
|
||||
|
||||
configurations {
|
||||
asm
|
||||
jarjar
|
||||
}
|
||||
dependencies {
|
||||
asm "asm:asm:${asmVersion}@jar", "asm:asm-commons:${asmVersion}@jar"
|
||||
jarjar 'com.googlecode.jarjar:jarjar:1.1'
|
||||
}
|
||||
|
||||
task repackageAsm(type: Jar) { jar ->
|
||||
jar.baseName = "asm-repack"
|
||||
jar.version = asmVersion
|
||||
|
||||
doLast() {
|
||||
project.ant {
|
||||
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask",
|
||||
classpath: configurations.jarjar.asPath
|
||||
jarjar(destfile: archivePath, index: "true", filesetmanifest: "merge") {
|
||||
configurations.asm.each { jarfile ->
|
||||
zipfileset(src: jarfile)
|
||||
}
|
||||
rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
jar {
|
||||
dependsOn repackageAsm
|
||||
from(zipTree(repackageAsm.archivePath)) {
|
||||
exclude 'META-INF/INDEX.LIST'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
project('spring-core') {
|
||||
description = 'Spring Core'
|
||||
dependencies {
|
||||
|
|
@ -374,8 +423,8 @@ project('spring-struts') {
|
|||
project('spring-aspects') {
|
||||
description = 'Spring Aspects'
|
||||
apply from: 'aspectJ.gradle'
|
||||
compileJava.dependsOn project(":spring-orm").jar
|
||||
dependencies {
|
||||
compile project(":spring-orm")
|
||||
aspects project(":spring-orm")
|
||||
ajc "org.aspectj:aspectjtools:1.6.8"
|
||||
compile "org.aspectj:aspectjrt:1.6.8"
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
description = 'Spring ASM'
|
||||
|
||||
configurations { jarjar }
|
||||
dependencies { jarjar 'com.googlecode.jarjar:jarjar:1.1' }
|
||||
configurations { asm }
|
||||
dependencies { asm 'asm:asm:2.2.3@jar', 'asm:asm-commons:2.2.3@jar' }
|
||||
|
||||
jar << {
|
||||
project.ant {
|
||||
taskdef name: "jarjar", classname: "com.tonicsystems.jarjar.JarJarTask", classpath: configurations.jarjar.asPath
|
||||
jarjar(destfile: archivePath, index: "true", filesetmanifest: "merge") {
|
||||
configurations.asm.each { jarfile ->
|
||||
zipfileset(src: jarfile)
|
||||
}
|
||||
rule(pattern: 'org.objectweb.asm.**', result: 'org.springframework.asm.@1')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: integrate bundlor in jarjar routine
|
||||
// TODO: create source jar
|
||||
// TODO: review overall jarjar approach with Gradle team
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.asm;
|
||||
|
||||
/**
|
||||
* Placeholder to allow Javadoc generation. Required because
|
||||
* <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4492654">this bug</a>
|
||||
* does not allow the generation of Javadoc for packages having only a
|
||||
* {@code package-info.java} file.
|
||||
* <p>See <a href="package-summary.html">package-level Javadoc</a> for more
|
||||
* information on {@code org.springframework.asm}.
|
||||
*
|
||||
* @author Chris Beams
|
||||
* @since 3.2
|
||||
*/
|
||||
public final class SpringAsmInfo {
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
/**
|
||||
* Spring's repackaging of {@code org.objectweb.asm.*} (for internal use only).
|
||||
* <p>This repackaging technique avoids any potential conflicts with
|
||||
* dependencies on ASM at the application level or from other third-party
|
||||
* libraries and frameworks.
|
||||
* <p>As this repackaging happens at the classfile level, sources and Javadoc
|
||||
* are not available here. See the original ObjectWeb
|
||||
* <a href="http://asm.ow2.org/asm223/javadoc/user">ASM 2.2.3 Javadoc</a>
|
||||
* for details when working with these classes.
|
||||
*/
|
||||
package org.springframework.asm;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<html>
|
||||
<body>
|
||||
<p>
|
||||
The Spring Data Binding framework, an internal library used by Spring Web Flow.
|
||||
Spring's AspectJ-based aspects.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<html>
|
||||
<body>
|
||||
<p>
|
||||
The Spring Data Binding framework, an internal library used by Spring Web Flow.
|
||||
Spring's instrumentation agent for Tomcat.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<html>
|
||||
<body>
|
||||
<p>
|
||||
Spring's test context framework. Also includes common Servlet and Portlet API mocks.
|
||||
Spring's TestContext framework. Also includes common Servlet and Portlet API mocks.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<html>
|
||||
<body>
|
||||
<p>
|
||||
Spring's MVC framework in its Servlet API version. Includes support for common view technologies.
|
||||
Spring's MVC framework in its Servlet API version. Includes support for common view technologies.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
<html>
|
||||
<body>
|
||||
This is the public API documentation for the <a href="http://github.com/SpringSource/spring-framework" target="_top">Spring Framework</a>.
|
||||
</body>
|
||||
<body>
|
||||
<p>
|
||||
This is the public API documentation for the <a href="http://github.com/SpringSource/spring-framework" target="_top">Spring Framework</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Reference in New Issue