This is an automated email from the ASF dual-hosted git repository. dgriffon pushed a commit to branch use-native-jekyll in repository https://gitbox.apache.org/repos/asf/unomi-site.git
commit 52be0b8a614707c30175a865c664308dfc112e34 Author: David Griffon <dgrif...@jahia.com> AuthorDate: Thu Aug 17 07:43:04 2023 +0200 UNOMI-795 : remove maven plugin to generate Jekyll site. Use native (or docker) Jekyll instead. --- .mvn/wrapper/maven-wrapper.properties | 18 -- README.md | 94 ++++------ mvnw | 316 ---------------------------------- mvnw.cmd | 188 -------------------- pom.xml | 246 +------------------------- src/main/webapp/_data/unomi.yml | 15 ++ src/main/webapp/download.html | 53 ++++-- src/main/webapp/index.html | 16 ++ 8 files changed, 109 insertions(+), 837 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..731de8b 100644 --- a/README.md +++ b/README.md @@ -2,26 +2,48 @@ 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 +jekyll build +``` +### 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 + docker run --rm \ + --volume="$PWD:/srv/jekyll:Z" \ + -p 4000:4000 \ + jekyll/jekyll:4.2.0 \ + jekyll build ``` -The generated site will be in target/generated-jekyll +The generated site will be in the folder target/site ## Publish @@ -31,56 +53,14 @@ To publish the local website to the production location (https://unomi.apache.or ./mvnw clean install scm-publish:publish-scm -Dusername=YOUR_APACHE_USERNAME -Dpassword=YOUR_APACHE_PASSWORD ``` -## Generate jekyll site - +## Local build with local server +Run the following command ```shell -./mvnw clean install +docker run --rm \ + --volume="$PWD:/srv/jekyll:Z" \ + -p 4000:4000 \ + jekyll/jekyll:4.2.0 \ + jekyll serve ``` -## Jekyll serve (with filtering) - -```shell -./mvnw clean install gem:exec@jekyll-serve-filtered -``` - -## Jekyll serve (from source) - -```shell -./mvnw clean install gem:exec@jekyll-serve-source -``` - -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..4c21ae4 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/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>