This is an automated email from the ASF dual-hosted git repository. dgriffon pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/unomi-site.git
The following commit(s) were added to refs/heads/master by this push: new 102970d UNOMI-795 : remove maven plugin to generate Jekyll site. (#30) 102970d is described below commit 102970d579b4fc30fd562a15483ff702e3aec590 Author: David Griffon <dgrif...@jahia.com> AuthorDate: Thu Aug 17 13:27:44 2023 +0200 UNOMI-795 : remove maven plugin to generate Jekyll site. (#30) * UNOMI-795 : remove maven plugin to generate Jekyll site. Use native (or docker) Jekyll instead. --- .mvn/wrapper/maven-wrapper.properties | 18 -- README.md | 98 ++++---- mvnw | 316 -------------------------- mvnw.cmd | 188 --------------- pom.xml | 246 +------------------- src/main/webapp/_data/unomi.yml | 15 ++ src/main/webapp/contribute/release-guide.html | 50 ++-- src/main/webapp/download.html | 53 +++-- src/main/webapp/index.html | 16 ++ 9 files changed, 142 insertions(+), 858 deletions(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 47e0582..0000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,18 +0,0 @@ -# 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. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/README.md b/README.md index ef31066..0770ec3 100644 --- a/README.md +++ b/README.md @@ -2,85 +2,65 @@ Apache Unomi Website source repository ====================================== -This project contains the Apache Unomi Website. The website is generated using Maven filtering (for version numbers) and -then is passed to Jenkins to build the pages using templates. +This project contains the Apache Unomi Website. The website is generated using [Jekyll](https://jekyllrb.com/) framework +with [Liquid](https://shopify.github.io/liquid/) templates. + +## Configuration +### Jekyll Config +Can be found in [_config](_config.yml) YAML file +```yaml +source: src/main/webapp +destination: target/site +``` +### Data config +Can be found in [_data folder](src/main/webapp/_data/unomi.yml) +This contains some variables used to replace placeholders in the site. ## Build -You need a machine with Maven installed to build the website. +You need a machine with Jekyll or Docker to build the website. -Checkout: +Checkout the current project: ```shell git clone https://github.com/apache/unomi-site ``` -Run Build: - +### Build with Jekyll ```shell -./mvnw clean install +jekyll build ``` -The generated site will be in target/generated-jekyll - -## Publish - -To publish the local website to the production location (https://unomi.apache.org/), you have to use: - +### Build with Docker +See Jekyll Docker's images [documentation](https://github.com/envygeeks/jekyll-docker/blob/master/README.md#server). +The Docker image provides all Ruby and Jekyll resources to avoid to install them locally. +Note that the version used of Jekyll is set to 4.2.0 as the newer images have an issue with a missing dependency. ```shell -./mvnw clean install scm-publish:publish-scm -Dusername=YOUR_APACHE_USERNAME -Dpassword=YOUR_APACHE_PASSWORD + docker run --rm \ + --volume="$PWD:/srv/jekyll:Z" \ + -p 4000:4000 \ + jekyll/jekyll:4.2.0 \ + jekyll build ``` -## Generate jekyll site +The generated site will be in the folder `target/site` -```shell -./mvnw clean install -``` - -## Jekyll serve (with filtering) +## Publish +To publish the local website to the production location (https://unomi.apache.org/), you have to use: +Do not use the `clean` maven goal to not remove the previous generated site. ```shell -./mvnw clean install gem:exec@jekyll-serve-filtered +mvn install scm-publish:publish-scm -Dusername=YOUR_APACHE_USERNAME -Dpassword=YOUR_APACHE_PASSWORD ``` -## Jekyll serve (from source) - +## Local build with local server +Run the following command ```shell -./mvnw clean install gem:exec@jekyll-serve-source +docker run --rm \ + --volume="$PWD:/srv/jekyll:Z" \ + -p 4000:4000 \ + jekyll/jekyll:4.2.0 \ + jekyll serve ``` -Note: the Jekyll serve will not filter the files so you will still see property references such as ${latest.stable.version}. -This is by design. If you want to see a final version you need to generate it using the `mvn clean install gem:exec@jekyll-serve-filtered` command. - -It works as expected on Mac and Linux, but not on Windows the following stacktrace appears: - - [INFO] Configuration file: c:\Users\username\projects\jekyll-jruby-maven/src/main/webapp/_config.yml - [INFO] Source: c:\Users\username\projects\jekyll-jruby-maven/src/main/webapp - [INFO] Destination: c:\Users\username\projects\jekyll-jruby-maven\target\classes - [INFO] Incremental build: disabled. Enable with --incremental - [INFO] Generating... - [INFO] C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/utils.rb:117:in `open': Permission denied - c - :/Users/username/projects/jekyll-jruby-maven/src/main/resources/css (Errno::EACCES) - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/utils.rb:117:in `has_yaml_header?' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/reader.rb:43:in `block in read_directories' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/reader.rb:43:in `select' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/reader.rb:43:in `read_directories' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/reader.rb:17:in `read' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/site.rb:144:in `read' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/site.rb:57:in `process' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/command.rb:28:in `process_site' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/commands/build.rb:60:in `build' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/commands/build.rb:35:in `process' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/lib/jekyll/commands/build.rb:18:in `block in init_ - with_program' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/gems/jekyll-3.0.2/bin/jekyll:17:in `<top>' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/bin/jekyll:1:in `load' - [INFO] from C:/Users/username/projects/jekyll-jruby-maven/target/rubygems/bin/jekyll:1:in `<top>' - [INFO] from -e:1:in `load' - [INFO] from -e:1:in `<top>' \ No newline at end of file +Then access to http://localhost:4000/ to access the site. Note that source changes are detected and apply automatically. \ No newline at end of file diff --git a/mvnw b/mvnw deleted file mode 100755 index 5643201..0000000 --- a/mvnw +++ /dev/null @@ -1,316 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# 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. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /usr/local/etc/mavenrc ] ; then - . /usr/local/etc/mavenrc - fi - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`\\unset -f command; \\command -v java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - $MAVEN_DEBUG_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" \ - "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd deleted file mode 100644 index 8a15b7f..0000000 --- a/mvnw.cmd +++ /dev/null @@ -1,188 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% ^ - %JVM_CONFIG_MAVEN_PROPS% ^ - %MAVEN_OPTS% ^ - %MAVEN_DEBUG_OPTS% ^ - -classpath %WRAPPER_JAR% ^ - "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ - %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" -if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%"=="on" pause - -if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml index 79e72e6..b30376b 100644 --- a/pom.xml +++ b/pom.xml @@ -29,252 +29,8 @@ <version>1.0.0</version> <packaging>war</packaging> - <repositories> - <repository> - <id>rubygems-proxy</id> - <name>Rubygems Proxy</name> - <url>http://rubygems-proxy.torquebox.org/releases</url> - <layout>default</layout> - <releases> - <enabled>true</enabled> - </releases> - <snapshots> - <enabled>false</enabled> - <updatePolicy>never</updatePolicy> - </snapshots> - </repository> - </repositories> - - <properties> - <latest.stable.version>2.3.0</latest.stable.version> - <next.stable.version>2.4.0</next.stable.version> - <next.development.version>2.4.0-SNAPSHOT</next.development.version> - <latest.development.version>2.4.0-SNAPSHOT</latest.development.version> - <branch.version>2.3.x</branch.version> - <doc.version>2_3_x</doc.version> - </properties> - - - <dependencies> - <dependency> - <groupId>rubygems</groupId> - <artifactId>jekyll</artifactId> - <type>gem</type> - <optional>true</optional> - </dependency> - </dependencies> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>rubygems</groupId> - <artifactId>jekyll</artifactId> - <version>3.1.2</version> - <type>gem</type> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>liquid</artifactId> - <type>gem</type> - <version>3.0.6</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>kramdown</artifactId> - <type>gem</type> - <version>1.10.0</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>mercenary</artifactId> - <type>gem</type> - <version>0.3.5</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>safe_yaml</artifactId> - <type>gem</type> - <version>1.0.4</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>colorator</artifactId> - <type>gem</type> - <version>0.1</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>rouge</artifactId> - <type>gem</type> - <version>1.10.1</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>jekyll-sass-converter</artifactId> - <type>gem</type> - <version>1.4.0</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>sass</artifactId> - <type>gem</type> - <version>3.4.22</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>jekyll-watch</artifactId> - <type>gem</type> - <version>1.3.1</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>listen</artifactId> - <type>gem</type> - <version>3.0.6</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>rb-fsevent</artifactId> - <type>gem</type> - <version>0.9.7</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>rb-inotify</artifactId> - <type>gem</type> - <version>0.9.7</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>ffi</artifactId> - <type>gem</type> - <version>1.9.10</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>celluloid-essentials</artifactId> - <version>0.20.5</version> - <type>gem</type> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>celluloid-supervision</artifactId> - <type>gem</type> - <version>0.20.5</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>yajl-ruby</artifactId> - <type>gem</type> - <version>1.2.1</version> - </dependency> - <dependency> - <groupId>rubygems</groupId> - <artifactId>bundler</artifactId> - <type>gem</type> - <version>1.11.2</version> - </dependency> - </dependencies> - </dependencyManagement> - <build> <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <executions> - <execution> - <id>filter-webapp-files</id> - <phase>generate-resources</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <resources> - <!-- # Filtered Resources --> - <resource> - <directory>${project.basedir}/src/main/webapp</directory> - <filtering>true</filtering> - <includes> - <include>**/*.html</include> - </includes> - </resource> - <!-- # Unfiltered Resources --> - <resource> - <directory>${project.basedir}/src/main/webapp</directory> - <filtering>false</filtering> - <excludes> - <exclude>**/*.html</exclude> - </excludes> - </resource> - </resources> - <outputDirectory>${project.build.directory}/filtered-webapp</outputDirectory> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>de.saumya.mojo</groupId> - <artifactId>gem-maven-plugin</artifactId> - <version>2.0.1</version> - <executions> - <execution> - <id>generate-documentation</id> - <goals> - <goal>exec</goal> - </goals> - <phase>generate-resources</phase> - <configuration> - <file>${project.build.directory}/rubygems/bin/jekyll</file> - <execArgs>build --trace --source ${project.build.directory}/filtered-webapp --destination - ${project.build.directory}/generated-jekyll - </execArgs> - </configuration> - </execution> - <execution> - <!-- run me with: mvn gem:exec@jekyll-serve-source --> - <id>jekyll-serve-source</id> - <goals> - <goal>exec</goal> - </goals> - <configuration> - <file>${project.build.directory}/rubygems/bin/jekyll</file> - <execArgs>serve --trace --source ${project.basedir}/src/main/webapp --destination - ${project.build.directory}/generated-jekyll - </execArgs> - </configuration> - <phase>none</phase> - </execution> - <execution> - <!-- run me with: mvn gem:exec@jekyll-serve-filtered --> - <id>jekyll-serve-filtered</id> - <goals> - <goal>exec</goal> - </goals> - <configuration> - <file>${project.build.directory}/rubygems/bin/jekyll</file> - <execArgs>serve --trace --source ${project.build.directory}/filtered-webapp --destination - ${project.build.directory}/generated-jekyll - </execArgs> - </configuration> - <phase>none</phase> - </execution> - </executions> - <configuration> - <supportNative>true</supportNative> - <jrubyVersion>9.0.5.0</jrubyVersion> - <addProjectClasspath>true</addProjectClasspath> - <jrubyVerbose>false</jrubyVerbose> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-war-plugin</artifactId> - <version>3.2.3</version> - <configuration> - <warSourceDirectory>${project.build.directory}/generated-jekyll</warSourceDirectory> - </configuration> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> @@ -282,7 +38,7 @@ <configuration> <checkinComment>[scm-publish] Updating Unomi website</checkinComment> <pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/unomi/website/</pubScmUrl> - <content>${project.build.directory}/generated-jekyll</content> + <content>${project.build.directory}/site</content> <ignorePathsToDelete> <ignorePathToDelete>docs/**</ignorePathToDelete> <ignorePathToDelete>rest-api-doc/**</ignorePathToDelete> diff --git a/src/main/webapp/_data/unomi.yml b/src/main/webapp/_data/unomi.yml new file mode 100644 index 0000000..acd9f69 --- /dev/null +++ b/src/main/webapp/_data/unomi.yml @@ -0,0 +1,15 @@ +latest: + stable: + version: 2.3.0 + .development: + version: 2.4.0-SNAPSHOT +next: + stable: + version: 2.4.0 + development: + version: 2.4.0-SNAPSHOT +branch: + version: 2.3.x +doc: + version: 2_3_x +test: xxxx \ No newline at end of file diff --git a/src/main/webapp/contribute/release-guide.html b/src/main/webapp/contribute/release-guide.html index 0507b2f..20b847e 100644 --- a/src/main/webapp/contribute/release-guide.html +++ b/src/main/webapp/contribute/release-guide.html @@ -161,9 +161,11 @@ gpg --verify test.txt.asc test.txt <li>Setup server passwords for publishing as document here: <a href="https://www.apache.org/dev/publishing-maven-artifacts.html" target="_blank">https://www.apache.org/dev/publishing-maven-artifacts.html</a> and <a href="https://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords" target="_blank">https://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords</a> </li> - <li>Launch the first build script using + <li>Launch the first build script using. <pre class="alert alert-primary"><code>./release-stage-1.sh ${next.stable.version} BRANCH_NAME</code></pre> - where BRANCH_NAME is the branch you want to release (It must be created first if it doesn't exist !) + where BRANCH_NAME is the branch you want to release (It must be created first if it doesn't exist !).<br> + <strong>This step will generate staging artifacts onto the <a href="https://repository.apache.org/#stagingRepositories">Apache Nexus</a>, if at the end of the script the + artefacts are not there, something bad happened in the script execution.</strong> </li> <li>Check that there are no JARs or ZIP files in the source code, you can do this by looking at the generated RAT report here : <pre class="alert alert-primary"><code>less target/unomi-root-${next.development.version}.rat</code></pre> @@ -194,7 +196,7 @@ and run mvn release:perform</code></pre> </li> <li>Connect to <a href="https://repository.apache.org/#stagingRepositories" target="_blank">https://repository.apache .org/#stagingRepositories</a> and look for the open staging repositories, you should have two (one for everything and the other for KAR/features) for releases <= 1.2 and just one for versions >= 1.3.0 (because of changes in the Karaf plugins). Close the repositories and given a meaningful comment when closing such as:<br> - <strong>Apache Unomi ${next.stable.version} Release Candidate 1</strong> + <strong>Apache Unomi ${next.stable.version} Release Candidate 1</strong>. If no artefact related to Unomi is present, something wrong happened in <code>release-stage-1.sh</code>. </li> </ol> @@ -202,7 +204,7 @@ and run mvn release:perform</code></pre> <ol> <li>Launch the second stage of the release script <pre class="alert alert-primary"><code>./release-stage-2.sh ${next.stable.version} orgapacheunomi-NEXUS-UNOMI-ID</code></pre> - where NEXUS-UNOMI-ID is the ID generated by Nexus + where NEXUS-UNOMI-ID is the ID generated by Nexus for the staging artifacts. </li> <li>Send out to the Unomi mailing list a mail to start the voting process, see <a href="#mail-1">[1]</a></li> <li>If the vote is refused or cancelled, peform the following steps to restart the release process: @@ -245,26 +247,36 @@ git tag -d unomi-root-${next.stable.version}</code></pre> Be careful with links that contain & (ampersand) characters, they must be replaced with &. Normally all this should be easy to do by simply search & replacing the version number. Finally on the home page update the news section to add the release. <pre class="alert alert-primary"><code>git clone https://gitbox.apache.org/repos/asf/unomi-site.git</code></pre> - Perform any modifications, notably change the versions in the pom.xml file: - <pre class="alert alert-primary"><code> <properties> - <latest.stable.version>1.5.4</latest.stable.version> - <next.development.version>1.5.5-SNAPSHOT</next.development.version> - <next.stable.version>1.5.5</next.stable.version> - <latest.development.version>2.0.0-SNAPSHOT</latest.development.version> - </properties> -</code></pre> - Then modify the index.html, download.html to add the new files. For the documentation see the next step. + Perform any modifications, notably change the versions in the <code>src/main/webapp/_data/unomi.yml</code> file: + <pre class="alert alert-primary"><code> + latest: + stable: + version: 2.3.0 + .development: + version: 2.4.0-SNAPSHOT + next: + stable: + version: 2.4.0 + ... + </code></pre> + Then modify the <code>index.html</code>, <code>download.html</code> to add the new files. For the documentation see the next step or git <a href="https://github.com/apache/unomi-site/blob/master/README.md">README</a>. </li> <li> Test the site modifications using the generated site HTML using Jekyll serve - <pre class="alert alert-primary"><code>./mvnw clean install gem:exec@jekyll-serve-filtered</code></pre> - Connect to http://127.0.0.1:4000 to check the modifications. If you need to make more modifications, - simply relaunch the above line after modifying the HTML files. + <pre class="alert alert-primary"><code>jekyll serve</code></pre> + or by using docker (to not install <a href="https://jekyllrb.com/">Jekyll</a> locally) + <pre class="alert alert-primary"><code> docker run --rm \ + --volume="$PWD:/srv/jekyll:Z" \ + -p 4000:4000 \ + jekyll/jekyll:4.2.0 \ + jekyll serve </code></pre> + Connect to <code>http://127.0.0.1:4000</code> to check the modifications. With the docker image source changes are detected and site build automatically. + This generates the site in the <code>target/site</code> folder. </li> <li> - Deploy the web site changes using: - <pre class="alert alert-primary"><code>./mvnw clean install -./mvnw install scm-publish:publish-scm -Dusername=YOUR_APACHE_USERNAME -Dpassword=YOUR_APACHE_PASSWORD</code></pre> + Once the site build, deploy the web site changes using: + <pre class="alert alert-primary"><code> +mvn install scm-publish:publish-scm -Dusername=YOUR_APACHE_USERNAME -Dpassword=YOUR_APACHE_PASSWORD</code></pre> </li> <li> Then make sure to commit all the changes to the web site's git project: diff --git a/src/main/webapp/download.html b/src/main/webapp/download.html index d32ea46..63e33a6 100644 --- a/src/main/webapp/download.html +++ b/src/main/webapp/download.html @@ -38,31 +38,31 @@ layout: default <div class="card-body d-flex flex-column align-items-start"> <strong class="d-inline-block mb-2 text-success"><i class="fas fa-circle"></i> Latest release</strong> - <h3 class="mb-0 text-dark">Unomi <span class="text-muted">1.9.0</span></h3> - <div class="mb-1 text-muted">November 21st, 2022</div> + <h3 class="mb-0 text-dark">Unomi <span class="text-muted">1.9.1</span></h3> + <div class="mb-1 text-muted">August 9th, 2023</div> <p class="card-text mb-auto"> Binary Distribution : <a target="_blank" - href="https://www.apache.org/dyn/closer.lua/unomi/1.9.0/unomi-1.9.0-bin.tar.gz">tar.gz</a> - [<a target="_blank" href="https://www.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.tar.gz.asc">PGP</a>] + href="https://www.apache.org/dyn/closer.lua/unomi/1.9./unomi-1.9.1-bin.tar.gz">tar.gz</a> + [<a target="_blank" href="https://www.apache.org/dist/unomi/1.9.1/unomi-1.9.1-bin.tar.gz.asc">PGP</a>] [<a target="_blank" - href="https://www.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.tar.gz.sha512">SHA512</a>] - + href="https://www.apache.org/dist/unomi/1.9.1/unomi-1.9.1-bin.tar.gz.sha512">SHA512</a>] - <a target="_blank" - href="https://www.apache.org/dyn/closer.lua/unomi/1.9.0/unomi-1.9.0-bin.zip">zip</a> + href="https://www.apache.org/dyn/closer.lua/unomi/1.9.1/unomi-1.9.1-bin.zip">zip</a> [<a target="_blank" - href="https://www.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.zip.asc">PGP</a>] - [<a target="_blank" href="https://www.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.zip.sha512">SHA512</a>] + href="https://www.apache.org/dist/unomi/1.9.1/unomi-1.9.1-bin.zip.asc">PGP</a>] + [<a target="_blank" href="https://www.apache.org/dist/unomi/1.9.1/unomi-1.9.1-bin.zip.sha512">SHA512</a>] </p> <p class="card-text mb-auto"> Source Distribution : <a target="_blank" - href="https://www.apache.org/dyn/closer.lua/unomi/1.9.0/unomi-1.9.0-src.zip">zip</a> + href="https://www.apache.org/dyn/closer.lua/unomi/1.9.1/unomi-1.9.1-src.zip">zip</a> [<a target="_blank" - href="https://www.apache.org/dist/unomi/1.9.0/unomi-1.9.0-src.zip.asc">PGP</a>] - [<a target="_blank" href="https://www.apache.org/dist/unomi/1.9.0/unomi-1.9.0-src.zip.sha512">SHA512</a>] + href="https://www.apache.org/dist/unomi/1.9.1/unomi-1.9.1-src.zip.asc">PGP</a>] + [<a target="_blank" href="https://www.apache.org/dist/unomi/1.9.1/unomi-1.9.1-src.zip.sha512">SHA512</a>] </p> <a class="btn btn-outline-dark mt-3" - href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319220&version=12352744" + href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12353508&styleName=&projectId=12319220" role="button" target="_blank">Release notes »</a> </div> </div> @@ -96,7 +96,7 @@ layout: default </code> <br> <code> - % gpg --verify unomi-${latest.stable.version}-bin.tar.gz.asc unomi-${latest.stable.version}-bin.tar.gz + % gpg --verify unomi-{{ site.data.unomi.latest.stable.version }}-bin.tar.gz.asc unomi-{{ site.data.unomi.latest.stable.version }}-bin.tar.gz </code> </p> </div> @@ -200,6 +200,33 @@ layout: default href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319220&version=12343140">Release Notes</a></td> </tr> + <tr> + <td>1.9.0</td> + <td><a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.tar.gz">tar.gz</a> + [<a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.tar.gz.asc">PGP</a>] + [<a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.tar.gz.sha512">SHA512</a>]<br> + <a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.zip">zip</a> + [<a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.zip.asc">PGP</a>] + [<a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-bin.zip.sha512">SHA512</a>] + </td> + <td> + <a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-src.zip">zip</a> + [<a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-src.zip.asc">PGP</a>] + [<a target="_blank" + href="https://archive.apache.org/dist/unomi/1.9.0/unomi-1.9.0-src.zip.sha512">SHA512</a>] + </td> + <td><a target="_blank" + href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319220&version=12352744">Release + Notes</a></td> + </tr> <tr> <td>1.8.0</td> <td><a target="_blank" diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index ce46d7d..6d598bc 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -27,6 +27,22 @@ layout: default <h1 class="mb-5">News</h1> + <div class="row"> + <div class="col-lg-6 pl-5"> + <h3>Version 1.9.1 released!</h3> + <h4>Changes in 1.9.1 (since 1.9.0)</h4> + <ul> + <li>Fix concurrency issue in groovy action refresh</li> + <li>Timeout on updateByQuery request such as scoring update</li> + <li>Avoid NPE when a profileID in session is not found</li> + </ul> + </div><!-- /.col-lg-8 --> + <div class="col-lg-6 my-auto mx-auto"> + </div><!-- /.col-lg-4 --> + </div><!-- /.row --> + + <hr class="featurette-divider"> + <div class="row"> <div class="col-lg-6 pl-5"> <h3>Version 2.3.0 released!</h3>