Expected Behavior
developers can build all of modules with its jar .source and api doc to a zip file
Current Behavior none about it
Context
some developers doing development work at an offline environments without maven online package management. all of the modules need to be download from the internate . a distribution zip containing all modules file will make things convenient
Comment From: stepjacky
metioned above README build section,
Compile and test; build all JARs, distribution zips, and docs
but a clone the whole source from github and run fllowing build command
./gradlew build
after i can not find any distribution zips but a api doc .zip file
Comment From: sjohnr
Thanks @stepjacky. Do you happen to know if there's a special plugin used by the Spring Framework team to produce such a zip file?
Edit:
In the meantime, you can also try ./gradlew publishAllPublicationsToLocalRepository. This will put everything in build/publications/repos, which should make it fairly easy to zip up.
Comment From: stepjacky
i have read the spring frameworks build.gradle file i found they release this zip from a custom task like this
/**
Create a distribution zip with everything:
docs, schemas, jars, source jars, javadoc jars
*/
task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) {
group = "Distribution"
archiveBaseName.set("spring-framework")
archiveClassifier.set("dist")
description = "Builds -${archiveClassifier} archive, containing all jars and docs, " +
"suitable for community download page."
ext.baseDir = "spring-framework-${project.version}";
from("src/docs/dist") {
include "readme.txt"
include "license.txt"
include "notice.txt"
into "${baseDir}"
expand(copyright: new Date().format("yyyy"), version: project.version)
}
from(zipTree(docsZip.archiveFile)) {
into "${baseDir}/docs"
}
from(zipTree(schemaZip.archiveFile)) {
into "${baseDir}/schema"
}
moduleProjects.each { module ->
into ("${baseDir}/libs") {
from module.jar
if (module.tasks.findByPath("sourcesJar")) {
from module.sourcesJar
}
if (module.tasks.findByPath("javadocJar")) {
from module.javadocJar
}
}
}
}
distZip.mustRunAfter moduleProjects.check
the file path is spring-framework\framework-docs\framework-docs.gradle line 212 ,hope to help !