From 920083ef549e32c8029b0bbce90e698e1cc01c52 Mon Sep 17 00:00:00 2001 From: Martin Stockhammer Date: Thu, 22 Nov 2018 20:32:24 +0100 Subject: [PATCH] Adding site deploy script for archiva-docs. Using https urls. --- archiva-docs/README | 1 - archiva-docs/README.adoc | 81 +++++++++++++++++++++++++++++++ archiva-docs/deploySite.sh | 61 +++++++++++++++++++++++ archiva-docs/pom.xml | 8 +-- archiva-docs/src/site/site.xml | 12 ++++- archiva-modules/pom.xml | 2 +- archiva-modules/src/site/site.xml | 6 +-- pom.xml | 2 +- 8 files changed, 161 insertions(+), 12 deletions(-) delete mode 100644 archiva-docs/README create mode 100644 archiva-docs/README.adoc create mode 100755 archiva-docs/deploySite.sh diff --git a/archiva-docs/README b/archiva-docs/README deleted file mode 100644 index 714b3aadf..000000000 --- a/archiva-docs/README +++ /dev/null @@ -1 +0,0 @@ -to deploy site: sh ./deploySite.sh diff --git a/archiva-docs/README.adoc b/archiva-docs/README.adoc new file mode 100644 index 000000000..6a42a2f51 --- /dev/null +++ b/archiva-docs/README.adoc @@ -0,0 +1,81 @@ +Archiva Documentation - User Documentation +=========================================== +:toc: + + +== How to build and publish the pages for the archiva web content + +This module and the children contain web content and project reports that can be published to the +archiva web site: https://archiva.apache.org + +The web content parts of this module and submodules are published to the path + + /docs/${project.version}/ + +=== Use the script + +There is a shell script +deploySite.sh+ which you can run to generate the site check and publish to +the remote repository. It works only on Linux, on other platforms you have to go the next section. + +The script is interactive, it asks you to confirm the publish after generation of the staging part. + +.Execute + + ./deploySite.sh + +All arguments are appended to the mvn calls. + +=== Run the mvn steps manually + +==== Building the pages + +You need enough free disk space to publish the web content. The archiva web site repository is big, +but the maven build will only checkout the necessary directories for this build (sparse checkout). + +For all the commands you have to change to this archiva-modules directory: + + cd archiva/archiva-modules + +.The following creates the site to the staging folder + + mvn clean site site:stage + +The result can be checked in + + archiva-modules/target/staging/ref/${project.version} + +with your browser. + +If you would like the use a local checkout of the archiva-web-content.git repository and not push directly +to the remote repository, you may add this parameter: + + -DsiteRepositoryUrl=scm:git:file:///${path-to-your-local-archiva}/archiva-web-content.git + +where +${path-to-your-local-archiva}+ is the path where a bare clone of the archiva-web-content.git is stored. + +NOTE: You cannot use +mvn site:run+ because this will place the submodules into the same folder and + overwrite each other. + +==== Publish the pages + +.This command publishes to the git repository + + mvn scm-publish:publish-scm + +After publishing to the git repository the gitpubsub mechanism is transferring it to the HTTP server. + +If you would like the use a local checkout of the archiva-web-content.git repository and not push directly +to the remote repository, you may add this parameter: + + -DsiteRepositoryUrl=scm:git:file:///${path-to-your-local-archiva}/archiva-web-content.git + + +=== Some notes about the build process + +A sparse checkout of the git repository will be created in + + .site-content + +but only, if the directory +.site-content/.git+ does not exist. + + diff --git a/archiva-docs/deploySite.sh b/archiva-docs/deploySite.sh new file mode 100755 index 000000000..13e822be5 --- /dev/null +++ b/archiva-docs/deploySite.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. +# +# Author: Martin Stockhammer +# Date: 2018-11-15 +# +# Publishes the site content and generated reports to the web content repository. +# It stops after the staging and let you check the content before pushing to the repository +# + +THIS_DIR=$(dirname $0) +THIS_DIR=$(readlink -f ${THIS_DIR}) +CONTENT_DIR=".site-content" + +PROJECT_VERSION=$(grep '' pom.xml |head -1 | sed -e 's/.*\(.*\)<\/version>.*/\1/g') +SUB_DIR="docs/${PROJECT_VERSION}" + +if [ -d "${CONTENT_DIR}/.git" ]; then + git -C "${CONTENT_DIR}" fetch origin + git -C "${CONTENT_DIR}" reset --hard origin/master +fi + +echo ">>>> Creating site and reports <<<<" +mvn clean site site:stage "$@" + +echo "*****************************************" +echo ">>>> Finished the site stage process <<<<" +echo "> You can check the content in the folder target/staging or by opening the following url" +echo "> file://${THIS_DIR}/target/staging/${SUB_DIR}/index.html" +echo "> " +echo "> If everything is fine enter yes. After that the publish process will be started." +echo -n "Do you want to publish (yes/no)? " +read ANSWER + +if [ "${ANSWER}" == "yes" -o "${ANSWER}" == "YES" ]; then + echo "> Starting publish process" + mvn scm-publish:publish-scm "$@" +else + echo "> Aborting now" + echo "> Running git reset in .site-content directory" + git -C "${CONTENT_DIR}" fetch origin + git -C "${CONTENT_DIR}" reset --hard origin/master + echo ">>>> Finished <<<<" +fi + diff --git a/archiva-docs/pom.xml b/archiva-docs/pom.xml index 1672a6a47..f926b7e7a 100644 --- a/archiva-docs/pom.xml +++ b/archiva-docs/pom.xml @@ -27,15 +27,15 @@ archiva-docs pom Archiva :: Documentation - http://archiva.apache.org/docs/${project.version}/ + https://archiva.apache.org/docs/${project.version}/ ${user.home}/archiva-sites/archiva-docs-${project.version}/ - ${basedir}/.site-content yyyy-MM-dd ${maven.build.timestamp} scm:git:https://gitbox.apache.org/repos/asf/archiva-web-content-INVALID.git + ${basedir}/.site-content @@ -161,8 +161,8 @@ - license - project-team + licenses + team diff --git a/archiva-docs/src/site/site.xml b/archiva-docs/src/site/site.xml index bc3310ddb..18cc67806 100644 --- a/archiva-docs/src/site/site.xml +++ b/archiva-docs/src/site/site.xml @@ -48,8 +48,13 @@ 6670 - stats + thin-badge + + apache/archiva + right + black + @@ -58,8 +63,11 @@ + - + + + diff --git a/archiva-modules/pom.xml b/archiva-modules/pom.xml index 22ba74a5d..cf4fa237e 100644 --- a/archiva-modules/pom.xml +++ b/archiva-modules/pom.xml @@ -28,7 +28,7 @@ archiva-modules pom Archiva :: Modules - http://archiva.apache.org/ref/${project.version} + https://archiva.apache.org/ref/${project.version} ${basedir}/.site-content diff --git a/archiva-modules/src/site/site.xml b/archiva-modules/src/site/site.xml index 0dbaf9467..1963e93ca 100644 --- a/archiva-modules/src/site/site.xml +++ b/archiva-modules/src/site/site.xml @@ -51,9 +51,9 @@ - + + + diff --git a/pom.xml b/pom.xml index b9f678468..eb4112dad 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ pom Apache Archiva - http://archiva.apache.org + https://archiva.apache.org archiva-cli