forked from phoedos/pmd
9f05cf9d8d
- allow to set RELEASE_VERSION, LAST_VERSION and DEVELOPMENT_VERSION manually - backport build.sh - to be in sync with pmd7 branch - allow to deploy SNAPSHOT doc after release with same version
94 lines
3.6 KiB
Bash
94 lines
3.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
MODULE="pmd-code-api"
|
|
SCRIPT_INCLUDES="log.bash"
|
|
# shellcheck source=inc/fetch_ci_scripts.bash
|
|
source "$(dirname "$0")/inc/fetch_ci_scripts.bash" && fetch_ci_scripts
|
|
|
|
PMD_CODE_SSH_USER=pmd
|
|
PMD_CODE_DOCS_PATH=/docs.pmd-code.org/
|
|
|
|
function pmd_code_uploadDocumentation() {
|
|
local -r pmdVersion="$1"
|
|
local -r filename="$2"
|
|
local -r basefilename="$(basename "$filename")"
|
|
|
|
pmd_ci_log_debug "${FUNCNAME[0]} pmdVersion=$pmdVersion filename=$filename"
|
|
|
|
scp "${filename}" ${PMD_CODE_SSH_USER}@pmd-code.org:${PMD_CODE_DOCS_PATH}
|
|
# shellcheck disable=SC2029
|
|
ssh ${PMD_CODE_SSH_USER}@pmd-code.org "cd \"${PMD_CODE_DOCS_PATH}\" && \
|
|
( test -h pmd-doc-${pmdVersion} && rm pmd-doc-${pmdVersion} || true ) && \
|
|
unzip -qo \"${basefilename}\" && \
|
|
rm \"${basefilename}\""
|
|
pmd_ci_log_info "Docs updated: https://docs.pmd-code.org/pmd-doc-${pmdVersion}/"
|
|
}
|
|
|
|
function pmd_code_removeDocumentation() {
|
|
local pmdVersion="$1"
|
|
|
|
pmd_ci_log_debug "${FUNCNAME[0]} pmdVersion=$pmdVersion"
|
|
|
|
# shellcheck disable=SC2029
|
|
ssh ${PMD_CODE_SSH_USER}@pmd-code.org "cd \"${PMD_CODE_DOCS_PATH}\" && \
|
|
rm -rf \"pmd-doc-${pmdVersion}/\""
|
|
pmd_ci_log_info "Removed docs: https://docs.pmd-code.org/pmd-doc-${pmdVersion}/"
|
|
}
|
|
|
|
function pmd_code_createSymlink() {
|
|
local -r pmdVersion="$1"
|
|
local -r name="$2"
|
|
|
|
pmd_ci_log_debug "${FUNCNAME[0]} pmdVersion=$pmdVersion name=$name"
|
|
|
|
# shellcheck disable=SC2029
|
|
ssh ${PMD_CODE_SSH_USER}@pmd-code.org "cd \"${PMD_CODE_DOCS_PATH}\" && \
|
|
rm -f \"$name\" && \
|
|
ln -s \"pmd-doc-${pmdVersion}\" \"$name\""
|
|
pmd_ci_log_info "Symlink created: https://docs.pmd-code.org/$name/ -> https://docs.pmd-code.org/pmd-doc-${pmdVersion}/"
|
|
}
|
|
|
|
function pmd_code_uploadJavadoc() {
|
|
local -r pmdVersion="$1"
|
|
local -r basePath="$2"
|
|
|
|
pmd_ci_log_debug "${FUNCNAME[0]} pmdVersion=$pmdVersion basePath=$basePath"
|
|
|
|
for i in "${basePath}"/*/target/*-javadoc.jar */*/target/*-javadoc.jar; do
|
|
pmd_code_uploadJavadocModule "$pmdVersion" "$i"
|
|
done
|
|
|
|
# make sure https://docs.pmd-code.org/apidocs/ shows directory index
|
|
# shellcheck disable=SC2029
|
|
ssh ${PMD_CODE_SSH_USER}@pmd-code.org "cd \"${PMD_CODE_DOCS_PATH}/apidocs\" && \
|
|
echo 'Options +Indexes' > .htaccess"
|
|
pmd_ci_log_info "Directory index enabled for https://docs.pmd-code.org/apidocs/"
|
|
}
|
|
|
|
function pmd_code_uploadJavadocModule() {
|
|
local -r pmdVersion="$1"
|
|
local -r moduleJavadocJar="$2"
|
|
local -r moduleJavadocJarBasename="$(basename "$moduleJavadocJar")"
|
|
local -r module=${moduleJavadocJarBasename%%-${pmdVersion}-javadoc.jar}
|
|
|
|
pmd_ci_log_debug "${FUNCNAME[0]} pmdVersion=$pmdVersion moduleJavadocJar=$moduleJavadocJar module=$module"
|
|
|
|
scp "$moduleJavadocJar" ${PMD_CODE_SSH_USER}@pmd-code.org:${PMD_CODE_DOCS_PATH}
|
|
# shellcheck disable=SC2029
|
|
ssh ${PMD_CODE_SSH_USER}@pmd-code.org "cd \"${PMD_CODE_DOCS_PATH}\" && \
|
|
mkdir -p \"apidocs/${module}/${pmdVersion}\" && \
|
|
unzip -qo -d \"apidocs/${module}/${pmdVersion}\" \"${moduleJavadocJarBasename}\" && \
|
|
rm \"${moduleJavadocJarBasename}\""
|
|
pmd_ci_log_info "JavaDoc for $module uploaded: https://docs.pmd-code.org/apidocs/${module}/${pmdVersion}/"
|
|
}
|
|
|
|
function pmd_code_removeJavadoc() {
|
|
local -r pmdVersion="$1"
|
|
|
|
pmd_ci_log_debug "${FUNCNAME[0]} pmdVersion=$pmdVersion"
|
|
# shellcheck disable=SC2029
|
|
ssh ${PMD_CODE_SSH_USER}@pmd-code.org "cd \"${PMD_CODE_DOCS_PATH}\" && \
|
|
rm -rf apidocs/*/\"${pmdVersion}\""
|
|
pmd_ci_log_info "Removed Javadoc: https://docs.pmd-code.org/apidocs/*/${pmdVersion}/ is gone"
|
|
}
|