This is an automated email from the ASF dual-hosted git repository. martin_s pushed a commit to branch feature/site-git-migration in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git
commit bac9034488d118243426613101eb77d393760f63 Author: Martin Stockhammer <[email protected]> AuthorDate: Thu Nov 22 20:47:52 2018 +0100 Changing to https urls and adding docu. --- README.adoc | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ addstage.sh | 28 ------------------- deploySite.sh | 61 ++++++++++++++++++++++++++++++++++++++++- pom.xml | 76 ++++++++++++++++++++++++++++++++++++++++++--------- src/site/site.xml | 18 ++++++++++--- 5 files changed, 219 insertions(+), 45 deletions(-) diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..568868b --- /dev/null +++ b/README.adoc @@ -0,0 +1,81 @@ +Archiva Redback - 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 + + /redback/core + +=== 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/addstage.sh b/addstage.sh deleted file mode 100755 index d88b5c4..0000000 --- a/addstage.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -MP="$1" -PL=$(echo "$MP" | sed -e 's#/# #g' -e 's/^\.//g') - -echo "$PL" -STR="project" - -if [ -f "${MP}/pom.xml" ]; then - for DIR in $PL; do - STR="${STR}.parent" - done -else - exit 0 -fi - -echo "$MP $PL" -grep -q '<properties>' $MP/pom.xml -if [ $? -eq 0 ]; then - sed -i -e 's#<properties>#<properties>\n <site.staging.base>${'${STR}'.basedir}</site.staging.base>#g' $MP/pom.xml -else - grep -q '<packaging>' $MP/pom.xml - if [ $? -eq 0 ]; then - sed -i -e 's#\(.*</packaging>.*\)#\1\n <properties>\n <site.staging.base>${'${STR}'.basedir}</site.staging.base>\n </properties>#g' $MP/pom.xml - else - sed -i -e 's#\(.*</name>.*\)#\1\n <properties>\n <site.staging.base>${'${STR}'.basedir}</site.staging.base>\n </properties>#g' $MP/pom.xml - fi -fi diff --git a/deploySite.sh b/deploySite.sh old mode 100644 new mode 100755 index bde5cf6..7a04361 --- a/deploySite.sh +++ b/deploySite.sh @@ -1 +1,60 @@ -mvn clean site site:stage scm-publish:publish-scm $@ +#!/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 <[email protected]> +# 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" + +SUB_DIR="redback/core" + +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/pom.xml b/pom.xml index 7e6c46f..e19cf7e 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,8 @@ ~ specific language governing permissions and limitations ~ under the License. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -665,21 +666,28 @@ <useJava5>false</useJava5> </configuration> </plugin> -<!-- <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-scm-publish-plugin</artifactId> - <configuration> - <content>${project.build.directory}/staging</content> - <checkinComment>Apache Redback Core site deployment</checkinComment> - <tryUpdate>true</tryUpdate> - <pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/archiva/site-content/redback/core</pubScmUrl> - </configuration> - </plugin>--> + <!-- <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-scm-publish-plugin</artifactId> + <configuration> + <content>${project.build.directory}/staging</content> + <checkinComment>Apache Redback Core site deployment</checkinComment> + <tryUpdate>true</tryUpdate> + <pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/archiva/site-content/redback/core</pubScmUrl> + </configuration> + </plugin>--> <plugin> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-maven-plugin</artifactId> <version>${openjpa.version}</version> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <configuration> + <skipDeploy>true</skipDeploy> + </configuration> + </plugin> </plugins> </pluginManagement> <plugins> @@ -711,7 +719,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> - <inherited>false</inherited> + <inherited>true</inherited> <configuration> <skipDeploy>true</skipDeploy> <stagingDirectory>${site.staging.base}/target/staging/redback/core/</stagingDirectory> @@ -981,6 +989,50 @@ </plugins> </build> </profile> + + <!-- +This runs a sparse git checkout for the web site content repository that contains only the doc directory. +The profile is activated only, if the checkout directory does not exist. +The executor runs a shell script. +--> + <profile> + <id>site-checkout</id> + <activation> + + <file> + <missing>${scmPubCheckoutDirectory}</missing> + </file> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.6.0</version> + <inherited>false</inherited> + <executions> + <execution> + <id>prepare-checkout</id> + <phase>pre-site</phase> + <goals> + <goal>exec</goal> + </goals> + <configuration> + <executable>checkoutSite.sh</executable> + <workingDirectory>${project.basedir}</workingDirectory> + <arguments> + <argument>-d</argument> + <argument>${scmPubCheckoutDirectory}</argument> + <argument>${siteRepositoryUrl}</argument> + </arguments> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/src/site/site.xml b/src/site/site.xml index d9dec99..3d3707d 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -29,7 +29,7 @@ <sideBarEnabled>false</sideBarEnabled> <skipGenerationDate>true</skipGenerationDate> <googleSearch> - <sitesearch>http://archiva.apache.org/redback</sitesearch> + <sitesearch>https://archiva.apache.org/redback</sitesearch> </googleSearch> <twitter> <user>archiva</user> @@ -38,16 +38,26 @@ </twitter> <ohloh> <projectId>8659</projectId> - <widget>stats</widget> + <widget>thin-badge</widget> </ohloh> + <gitHub> + <projectId>apache/archiva-redback-core</projectId> + <ribbonOrientation>right</ribbonOrientation> + <ribbonColor>black</ribbonColor> + </gitHub> </fluidoSkin> </custom> - <publishDate format="yyyy-MM-dd" position="left" /> - <version position="left" /> + <publishDate format="yyyy-MM-dd" position="right" /> + <version position="right" /> <body> + <breadcrumbs> + <item name="Apache" href="https://www.apache.org" /> + <item name="Archiva" href="https://archiva.apache.org" /> + <item name="Redback" href="index.html" /> + </breadcrumbs> <menu ref="reports" /> <menu ref="modules" />
