diff --git a/README.adoc b/README.adoc
index 60a37926..287c11b1 100644
--- a/README.adoc
+++ b/README.adoc
@@ -241,30 +241,35 @@ approach of generating documentation just add these plugins to your `docs` modul
- org.apache.maven.plugins
- maven-dependency-plugin <1>
+ pl.project13.maven
+ git-commit-id-plugin <1>
org.apache.maven.plugins
- maven-resources-plugin <2>
+ maven-dependency-plugin <2>
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin <3>
org.asciidoctor
- asciidoctor-maven-plugin <3>
+ asciidoctor-maven-plugin <4>
org.apache.maven.plugins
- maven-antrun-plugin <4>
+ maven-antrun-plugin <5>
----
-<1> This plugin downloads the resources of the `spring-cloud-build-docs` module
-<2> This plugin unpacks the resources of the `spring-cloud-build-docs` module
-<3> This plugin is required to parse the Asciidoctor documentation
-<4> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links
+<2> This plugin downloads sets up all the git information of the project
+<2> This plugin downloads the resources of the `spring-cloud-build-docs` module
+<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module
+<4> This plugin is required to parse the Asciidoctor documentation
+<5> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links
IMPORTANT: The order of plugin declaration is important!
diff --git a/docs/pom.xml b/docs/pom.xml
index 6ac92fc8..25892558 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -36,6 +36,10 @@
docs
+
+ pl.project13.maven
+ git-commit-id-plugin
+
org.apache.maven.plugins
maven-dependency-plugin
diff --git a/docs/src/main/asciidoc/README.adoc b/docs/src/main/asciidoc/README.adoc
index 540122cc..9c861347 100644
--- a/docs/src/main/asciidoc/README.adoc
+++ b/docs/src/main/asciidoc/README.adoc
@@ -57,30 +57,35 @@ approach of generating documentation just add these plugins to your `docs` modul
- org.apache.maven.plugins
- maven-dependency-plugin <1>
+ pl.project13.maven
+ git-commit-id-plugin <1>
org.apache.maven.plugins
- maven-resources-plugin <2>
+ maven-dependency-plugin <2>
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin <3>
org.asciidoctor
- asciidoctor-maven-plugin <3>
+ asciidoctor-maven-plugin <4>
org.apache.maven.plugins
- maven-antrun-plugin <4>
+ maven-antrun-plugin <5>
----
-<1> This plugin downloads the resources of the `spring-cloud-build-docs` module
-<2> This plugin unpacks the resources of the `spring-cloud-build-docs` module
-<3> This plugin is required to parse the Asciidoctor documentation
-<4> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links
+<2> This plugin downloads sets up all the git information of the project
+<2> This plugin downloads the resources of the `spring-cloud-build-docs` module
+<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module
+<4> This plugin is required to parse the Asciidoctor documentation
+<5> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links
IMPORTANT: The order of plugin declaration is important!
diff --git a/docs/src/main/asciidoc/ghpages.sh b/docs/src/main/asciidoc/ghpages.sh
index 8d315164..1e5b9d90 100755
--- a/docs/src/main/asciidoc/ghpages.sh
+++ b/docs/src/main/asciidoc/ghpages.sh
@@ -121,14 +121,6 @@ function retrieve_doc_properties() {
echo "Will not extract any properties for release train"
return
fi
- echo "Extracting doc properties"
- MAIN_ADOC_VALUE=$("${MAVEN_EXEC}" -q \
- -Dexec.executable="echo" \
- -Dexec.args='${docs.main}' \
- org.codehaus.mojo:exec-maven-plugin:1.3.1:exec \
- -P docs \
- -pl docs | tail -1 )
- echo "Extracted 'main.adoc' from Maven build [${MAIN_ADOC_VALUE}]"
WHITELIST_PROPERTY=${WHITELIST_PROPERTY:-"docs.whitelisted.branches"}
@@ -226,15 +218,8 @@ function copy_docs_for_current_version() {
echo "The file [${file}] shouldn't be ignored"
# Not ignored...
# We want users to access 1.0.0.RELEASE/ instead of 1.0.0.RELEASE/spring-cloud.sleuth.html
- if [[ "${file}" == "${MAIN_ADOC_VALUE}.html" ]] ; then
- # We don't want to copy the spring-cloud-sleuth.html
- # we want it to be converted to index.html
- cp -rf "${f}" "${ROOT_FOLDER}/${CURRENT_BRANCH}/index.html"
- "${GIT_BIN}" add -A "${ROOT_FOLDER}/${CURRENT_BRANCH}/index.html"
- else
- cp -rf "${f}" "${ROOT_FOLDER}/${CURRENT_BRANCH}"
+ cp -rf "${f}" "${ROOT_FOLDER}/${CURRENT_BRANCH}"
"${GIT_BIN}" add -A "${ROOT_FOLDER}/${CURRENT_BRANCH}/${file}" || echo "Failed to add the file [${file}]"
- fi
fi
done
COMMIT_CHANGES="yes"
@@ -268,14 +253,7 @@ function copy_docs_for_branch() {
echo "Copying file [${file}] to destination [${destination}]"
if ! "${GIT_BIN}" ls-files -i -o --exclude-standard --directory | grep -q ^"${file}"$; then
# Not ignored...
- # We want users to access 1.0.0.RELEASE/ instead of 1.0.0.RELEASE/spring-cloud.sleuth.html
- if [[ ("${file}" == "${MAIN_ADOC_VALUE}.html") || ("${file}" == "${REPO_NAME}.html") ]] ; then
- # We don't want to copy the spring-cloud-sleuth.html
- # we want it to be converted to index.html
- cp -rf "${f}" "${destination}"/index.html
- else
- cp -rf "${f}" "${destination}"
- fi
+ cp -rf "${f}" "${destination}"
"${GIT_BIN}" add -A "${destination}"
fi
}
diff --git a/docs/src/test/bats/ghpages.bats b/docs/src/test/bats/ghpages.bats
index 387a8c6c..5c5a13f9 100644
--- a/docs/src/test/bats/ghpages.bats
+++ b/docs/src/test/bats/ghpages.bats
@@ -36,7 +36,7 @@ function git_with_remotes {
if [[ "$*" == *"set-url"* ]]; then
echo "git $*"
elif [[ "$*" == *"config remote.origin.url"* ]]; then
- echo "git://foo.bar/baz.git"
+ echo "git://example1.example2/example3.git"
else
git $*
fi
@@ -56,7 +56,7 @@ function printing_git_failing_with_diff_index {
function printing_git_with_remotes {
if [[ "$*" == *"config remote.origin.url"* ]]; then
- echo "git://foo.bar/baz.git"
+ echo "git://example1.example2/example3.git"
else
printing_git $*
fi
@@ -64,7 +64,7 @@ function printing_git_with_remotes {
function stubbed_git {
if [[ "$*" == *"config remote.origin.url"* ]]; then
- echo "git://foo.bar/baz.git"
+ echo "git://example1.example2/example3.git"
elif [[ "$*" == *"diff-index"* ]]; then
return 1
elif [[ "$*" == *"symbolic-ref"* ]]; then
@@ -88,13 +88,12 @@ export -f stubbed_git
export RELEASER_GIT_OAUTH_TOKEN="mytoken"
cd "${TEMP_DIR}/spring-cloud-stream/"
mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${MAIN_ADOC_VALUE}.html
- touch docs/target/generated-docs/foo.html
+ touch docs/target/generated-docs/example1.html
run "${SOURCE_DIR}"/ghpages.sh
assert_success
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
assert_output --partial "git fetch -q"
assert_output --partial "git checkout master"
assert_output --partial "git stash"
@@ -103,7 +102,7 @@ export -f stubbed_git
# Current branch is master - will copy the current docs only to the root folder
assert_output --partial "git add -A ${TEMP_DIR}/spring-cloud-stream"
assert_output --partial "git commit -a -m Sync docs from master to gh-pages"
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
assert_output --partial "git push origin gh-pages"
assert_output --partial "git checkout master"
assert_output --partial "git stash pop"
@@ -118,13 +117,12 @@ export -f stubbed_git
cd "${TEMP_DIR}/spring-cloud-stream/"
mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${MAIN_ADOC_VALUE}.html
- touch docs/target/generated-docs/foo.html
+ touch docs/target/generated-docs/example1.html
run "${SOURCE_DIR}"/ghpages.sh
assert_success
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
assert_output --partial "git remote set-branches --add origin gh-pages"
assert_output --partial "git fetch -q"
# Previous branch was [master]
@@ -134,10 +132,10 @@ export -f stubbed_git
assert_output --partial "git checkout gh-pages"
assert_output --partial "git pull origin gh-pages"
# Current branch is master - will copy the current docs only to the root folder
- assert [ -f "${TEMP_DIR}/spring-cloud-static/spring-cloud-stream/${VERSION}/foo.html" ]
+ assert [ -f "${TEMP_DIR}/spring-cloud-static/spring-cloud-stream/${VERSION}/example1.html" ]
assert_output --partial "git add -A ${TEMP_DIR}/spring-cloud-static/spring-cloud-stream/${VERSION}"
assert_output --partial "git commit -a -m Sync docs from v1.0.0.RELEASE to gh-pages"
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
assert_output --partial "git push origin gh-pages"
assert_output --partial "git checkout master"
assert_output --partial "git stash pop"
@@ -153,23 +151,22 @@ export -f stubbed_git
cd "${TEMP_DIR}/spring-cloud-stream/"
mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${MAIN_ADOC_VALUE}.html
- touch docs/target/generated-docs/foo.html
+ touch docs/target/generated-docs/example1.html
run "${SOURCE_DIR}"/ghpages.sh
assert_success
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
# Previous branch was [master]
assert_output --partial "git checkout master"
assert_output --partial "git stash"
assert_output --partial "git checkout gh-pages"
assert_output --partial "git pull origin gh-pages"
# Current branch is master - will copy the current docs only to the root folder
- assert [ -f "${TEMP_DIR}/spring-cloud-static/${VERSION}/foo.html" ]
+ assert [ -f "${TEMP_DIR}/spring-cloud-static/${VERSION}/example1.html" ]
assert_output --partial "git add -A ${TEMP_DIR}/spring-cloud-static/${VERSION}"
assert_output --partial "git commit -a -m Sync docs from vGreenwich.SR2 to gh-pages"
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
assert_output --partial "git push origin gh-pages"
assert_output --partial "git checkout master"
assert_output --partial "git stash pop"
@@ -200,7 +197,7 @@ export -f stubbed_git
run add_oauth_token_to_remote_url
assert_success
- assert_output --partial "git remote set-url --push origin https://foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://example1.example2/example3.git"
}
@test "should add auth token to URL if token is present" {
@@ -213,7 +210,7 @@ export -f stubbed_git
run add_oauth_token_to_remote_url
assert_success
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
}
@test "should retrieve the name of the current branch" {
@@ -325,8 +322,7 @@ export -f stubbed_git
export CURRENT_BRANCH="master"
cd "${TEMP_DIR}/spring-cloud-stream/"
mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${MAIN_ADOC_VALUE}.html
- touch docs/target/generated-docs/foo.html
+ touch docs/target/generated-docs/example1.html
source "${SOURCE_DIR}"/ghpages.sh
@@ -340,11 +336,10 @@ export -f stubbed_git
export GIT_BIN="printing_git"
export CURRENT_BRANCH="present"
export WHITELISTED_BRANCHES_VALUE="present"
- export MAIN_ADOC_VALUE="my_doc"
cd "${TEMP_DIR}/spring-cloud-stream/"
mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${MAIN_ADOC_VALUE}.html
- touch docs/target/generated-docs/foo.html
+ touch docs/target/generated-docs/my_doc.html
+ touch docs/target/generated-docs/example1.html
source "${SOURCE_DIR}"/ghpages.sh
@@ -356,8 +351,8 @@ export -f stubbed_git
run copy_docs_for_current_version
assert_success
- assert_output --partial "add -A ${ROOT_FOLDER}/present/index.html"
- assert_output --partial "add -A ${ROOT_FOLDER}/present/foo.html"
+ assert_output --partial "add -A ${ROOT_FOLDER}/present/my_doc.html"
+ assert_output --partial "add -A ${ROOT_FOLDER}/present/example1.html"
}
@test "should do nothing if current branch is not whitelisted" {
@@ -373,58 +368,6 @@ export -f stubbed_git
assert [ "${COMMIT_CHANGES}" != "yes" ]
}
-@test "should reuse main adoc value as new index.html" {
- export GIT_BIN="printing_git"
- export DESTINATION_REPO_FOLDER="${TEMP_DIR}/spring-cloud-static"
- export VERSION="1.0.0.RELEASE"
- export MAIN_ADOC_VALUE="my_doc"
- cd "${TEMP_DIR}/spring-cloud-stream/"
- mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${MAIN_ADOC_VALUE}.html
- touch docs/target/generated-docs/foo.html
-
- source "${SOURCE_DIR}"/ghpages.sh
-
- copy_docs_for_provided_version
-
- assert_success
- assert [ "${COMMIT_CHANGES}" == "yes" ]
- assert [ "${CURRENT_BRANCH}" == "v${VERSION}" ]
-
- run copy_docs_for_provided_version
-
- assert_success
- assert_output --partial "add -A ${DESTINATION_REPO_FOLDER}/${VERSION}"
- assert [ -f "${DESTINATION_REPO_FOLDER}/${VERSION}/index.html" ]
- assert [ -f "${DESTINATION_REPO_FOLDER}/${VERSION}/foo.html" ]
-}
-
-@test "should reuse repo name as new index.html" {
- export GIT_BIN="printing_git"
- export DESTINATION_REPO_FOLDER="${TEMP_DIR}/spring-cloud-static"
- export VERSION="1.0.0.RELEASE"
- export REPO_NAME="spring-cloud-stream"
- cd "${TEMP_DIR}/spring-cloud-stream/"
- mkdir -p docs/target/generated-docs/
- touch docs/target/generated-docs/${REPO_NAME}.html
- touch docs/target/generated-docs/foo.html
-
- source "${SOURCE_DIR}"/ghpages.sh
-
- copy_docs_for_provided_version
-
- assert_success
- assert [ "${COMMIT_CHANGES}" == "yes" ]
- assert [ "${CURRENT_BRANCH}" == "v${VERSION}" ]
-
- run copy_docs_for_provided_version
-
- assert_success
- assert_output --partial "add -A ${DESTINATION_REPO_FOLDER}/${VERSION}"
- assert [ -f "${DESTINATION_REPO_FOLDER}/${VERSION}/index.html" ]
- assert [ -f "${DESTINATION_REPO_FOLDER}/${VERSION}/foo.html" ]
-}
-
@test "should not do anything if commit flag not set" {
export GIT_BIN="printing_git_with_remotes"
export COMMIT_CHANGES="no"
@@ -448,7 +391,7 @@ export -f stubbed_git
assert_success
assert_output --partial "git commit -a -m Sync docs from to gh-pages"
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
assert_output --partial "git push origin gh-pages"
}
@@ -464,7 +407,7 @@ export -f stubbed_git
assert_success
assert_output --partial "git commit -a -m Sync docs from to gh-pages"
- assert_output --partial "git remote set-url --push origin https://username:password@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://username:password@example1.example2/example3.git"
assert_output --partial "git push origin gh-pages"
}
diff --git a/docs/src/test/bats/update-guides.bats b/docs/src/test/bats/update-guides.bats
index bd804cf9..fc7871bc 100644
--- a/docs/src/test/bats/update-guides.bats
+++ b/docs/src/test/bats/update-guides.bats
@@ -33,7 +33,7 @@ function git_with_remotes {
if [[ "$*" == *"set-url"* ]]; then
echo "git $*"
elif [[ "$*" == *"config remote.origin.url"* ]]; then
- echo "git://foo.bar/baz.git"
+ echo "git://example1.example2/example3.git"
else
git $*
fi
@@ -45,7 +45,7 @@ function printing_git {
function printing_git_with_remotes {
if [[ "$*" == *"config remote.origin.url"* ]]; then
- echo "git://foo.bar/baz.git"
+ echo "git://example1.example2/example3.git"
else
printing_git $*
fi
@@ -53,7 +53,7 @@ function printing_git_with_remotes {
function stubbed_git {
if [[ "$*" == *"config remote.origin.url"* ]]; then
- echo "git://foo.bar/baz.git"
+ echo "git://example1.example2/example3.git"
elif [[ "$*" == *"commit"* ]]; then
printing_git $*
elif [[ "$*" == *"push"* ]]; then
@@ -111,7 +111,7 @@ export -f stubbed_git
assert_success
# change remote
- assert_output --partial "git remote set-url --push origin https://mytoken@foo.bar/baz.git"
+ assert_output --partial "git remote set-url --push origin https://mytoken@example1.example2/example3.git"
# commit and push
assert_output --partial "git commit -m Updating guides"
assert_output --partial "git push origin master"
diff --git a/pom.xml b/pom.xml
index ffef567c..c5cddbb9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,12 +31,17 @@
2.2.0.BUILD-SNAPSHOT
2.2.0.BUILD-SNAPSHOT
${project.build.directory}/build-docs
+ ${project.build.directory}/refdocs/
0.1.0.RELEASE
0.1.3.RELEASE
1.5.0-alpha.18
+ 1.5.18
${project.version}
deploy
+ ${project.version}
+ 1.5.8
+ 9.2.7.0
jacoco
@@ -61,7 +66,7 @@
3.2.2
1.6.0
3.1.0
- 2.2.4
+ 3.0.0
3.1.1
3.0.0-M2
1.6
@@ -91,6 +96,8 @@
0.0.2.RELEASE
true
+ 3.2.10
+ 1.8.1
@@ -481,6 +488,7 @@
${project.build.outputDirectory}/git.properties
+ false
@@ -953,7 +961,7 @@
${spring-doc-resources.version}
zip
true
- ${project.build.directory}/refdocs/
+ ${refdocs.build.directory}
@@ -999,10 +1007,54 @@
asciidoctorj-pdf
${asciidoctorj-pdf.version}
+
+ org.asciidoctor
+ asciidoctorj-diagram
+ ${asciidoctorj-diagram.version}
+
- ${project.build.directory}/refdocs/
- ${docs.main}.adoc
+ ${refdocs.build.directory}
+
+
+ ${refdocs.build.directory}
+
+ **/*.*adoc
+
+
+
+
+ shared
+ true
+
+ left
+ 4
+ true
+ ${project.basedir}/src
+ ${project.basedir}/src/main/asciidoc
+ ${project.basedir}/target/generated-resources
+
+ ${maven.multiModuleProjectDirectory}
+ ${docs.main}
+ https://raw.github.com/spring-cloud/${docs.main}/${github-tag}
+ https://github.com/spring-cloud/${docs.main}/tree/${github-tag}
+ https://github.com/spring-cloud/${docs.main}/issues/
+ https://github.com/spring-cloud/${docs.main}/wiki
+ https://github.com/spring-cloud/${docs.main}/tree/master
+ ${index-link}
+
+
+ ${project.version}
+ ${github-tag}
+ ${version-type}
+ ${docs-url}
+ ${raw-docs-url}
+ ${project.version}
+ ${docs.main}
+
+
+ asciidoctor-diagram
+
@@ -1013,35 +1065,84 @@
html5
+
+ .adoc
+ .htmladoc
+
+ ${project.build.directory}/generated-docs/reference/html
+
highlight.js
book
- // these attributes are required to use the doc resources
- shared
- css/
- spring.css
- true
- font
js/highlight
atom-one-dark-reasonable
- true
-
- left
- 4
- ${project.version}
- true
+ true
+ ./images
+ font
+ css/
+ spring.css
+ warn
- ${docs.main}.html
+
+ true
+
+
+
+
+
+
+
+ generate-htmlsingle-documentation
+ prepare-package
+
+ process-asciidoc
+
+
+ html5
+
+ .htmlsingleadoc
+
+
+ ${project.build.directory}/generated-docs/reference/htmlsingle
+
+ highlight.js
+ book
+
+ js/highlight
+ atom-one-dark-reasonable
+ true
+ ./images
+ font
+ css/
+ spring.css
+
+
+
+
+ generate-pdf-documentation
+ prepare-package
+
+ process-asciidoc
+
+
+ pdf
+
+ .pdfadoc
+
+ ${project.build.directory}/generated-docs/reference/pdf
+
+
+
+ ${refdocs.build.directory}
+
+ **/*
+
+
+
-
- org.codehaus.mojo
- build-helper-maven-plugin
- ${build-helper-maven-plugin.version}
- false
-
org.apache.maven.plugins
maven-antrun-plugin
@@ -1061,22 +1162,22 @@
org.apache.ant
ant-nodeps
- 1.8.1
+ ${ant-nodeps.version}
org.tigris.antelope
antelopetasks
- 3.2.10
+ ${antelopetasks.version}
org.jruby
jruby-complete
- 9.2.7.0
+ ${jruby-complete.version}
org.asciidoctor
asciidoctorj
- 1.6.2
+ ${asciidoctorj.version}
@@ -1119,6 +1220,25 @@
+
+ package-and-attach-docs-zip
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
setup-maven-properties
validate
@@ -1128,48 +1248,79 @@
true
-
-
-
-
-
+
+
+
+
+
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ ${build-helper-maven-plugin.version}
+ false
+
+
+ attach-zip
+
+ attach-artifact
+
+
+
+
+
+ ${project.build.directory}/${project.artifactId}-${project.version}.zip
+
+ zip
+
+
+
+
+
+
org.jfrog.buildinfo
artifactory-maven-plugin