From ac0db71e1d4561e4a449a08cf4627e45ca4de9ba Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 13 May 2018 23:35:50 +0200 Subject: [PATCH 01/23] set version to 0.9.2-SNAPSHOT --- CHANGELOG.md | 33 +++++++++++++++++++ docker/RELEASE/README.md | 6 ++-- docker/RELEASE/alpine_tomcat-7/Dockerfile | 10 +++--- docker/RELEASE/alpine_tomcat-8.5/Dockerfile | 10 +++--- .../RELEASE/ubuntu-14.04_tomcat-7/Dockerfile | 10 +++--- .../RELEASE/ubuntu-16.04_tomcat-7/Dockerfile | 10 +++--- .../ubuntu-18.04_tomcat-8.5/Dockerfile | 10 +++--- .../distrib/alpine_tomcat-7/Dockerfile | 2 +- .../distrib/alpine_tomcat-8.5/Dockerfile | 2 +- .../distrib/alpine_tomcat-9/Dockerfile | 2 +- .../distrib/debian-9_tomcat-8.5/Dockerfile | 2 +- .../distrib/debian_tomcat-9_jre9/Dockerfile | 2 +- .../distrib/ubuntu-14.04_tomcat-7/Dockerfile | 2 +- .../distrib/ubuntu-16.04_tomcat-7/Dockerfile | 2 +- .../ubuntu-16.04_tomcat-8.0/Dockerfile | 2 +- .../ubuntu-18.04_tomcat-8.5/Dockerfile | 2 +- .../01.no.config.file/Dockerfile | 2 +- .../10.default.algo/Dockerfile | 2 +- .../test_config-file/20.debug.env/Dockerfile | 2 +- .../test_config-file/30.piwik/Dockerfile | 2 +- .../40.searchEngineIndex/Dockerfile | 2 +- .../pre-requisites_Alpine_tomcat-7/Dockerfile | 2 +- .../Dockerfile | 2 +- .../pre-requisites_Alpine_tomcat-9/Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../en/10_Install_doc/webapp_Installation.md | 2 +- documentation/pom.xml | 4 +-- engine/api/pom.xml | 4 +-- engine/hsv/pom.xml | 4 +-- engine/impl/pom.xml | 4 +-- engine/pom.xml | 4 +-- engine/utils/pom.xml | 4 +-- pom.xml | 2 +- webapp/pom.xml | 4 +-- .../WEB-INF/template/template_variables.jspf | 2 +- 40 files changed, 101 insertions(+), 68 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57eabf35..97d986d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,38 @@ # CHANGELOG +Contrast-Finder 0.9.2, 2018-0x-xx +--------------------------------- + +Upgrade-o-meter: just replace the .war file and restart Tomcat + +### New Feature +none + +### Security +none + +### Outdated dependencies +none + +### Bug +none + +### Improvement +none + +### Refactoring +none + +### Configuration +none + +### Documentation +none + +### Task +none + + Contrast-Finder 0.9.1, 2018-05-13 --------------------------------- diff --git a/docker/RELEASE/README.md b/docker/RELEASE/README.md index d81588b0..aac539af 100644 --- a/docker/RELEASE/README.md +++ b/docker/RELEASE/README.md @@ -14,9 +14,9 @@ Supported tags and respective `Dockerfile` links : * [pre-requisites_Alpine_tomcat-8.5](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile) ### Releases -* [latest, v0.9.1, ubuntu-18.04](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile) -* [alpine, v0.9.1_alpine, alpine_tomcat-8.5](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/alpine_tomcat-8.5/Dockerfile) -* [v0.9.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.9.0/docker/RELEASE/Dockerfile), [v0.8.6](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.6/docker/RELEASE/Dockerfile), [v0.8.5](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.5/docker/RELEASE/Dockerfile), [v0.8.4](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.4/docker/RELEASE/Dockerfile), [v0.8.3](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.3/docker/RELEASE/Dockerfile), [v0.8.2](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.2/docker/RELEASE/Dockerfile), [v0.8.1](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.1/docker/RELEASE/Dockerfile), [v0.8.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.0/docker/RELEASE/Dockerfile) +* [latest, v0.9.2-SNAPSHOT, ubuntu-18.04](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile) +* [alpine, v0.9.2-SNAPSHOT_alpine, alpine_tomcat-8.5](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/alpine_tomcat-8.5/Dockerfile) +* [v0.9.1](https://github.com/Asqatasun/Contrast-Finder/blob/v0.9.1/docker/RELEASE/Dockerfile), [v0.9.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.9.0/docker/RELEASE/Dockerfile), [v0.8.6](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.6/docker/RELEASE/Dockerfile), [v0.8.5](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.5/docker/RELEASE/Dockerfile), [v0.8.4](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.4/docker/RELEASE/Dockerfile), [v0.8.3](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.3/docker/RELEASE/Dockerfile), [v0.8.2](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.2/docker/RELEASE/Dockerfile), [v0.8.1](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.1/docker/RELEASE/Dockerfile), [v0.8.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.0/docker/RELEASE/Dockerfile) * [v0.7.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.7.0/docker/RELEASE/Dockerfile), [v0.6.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.6.0/docker/RELEASE/Dockerfile), [v0.5.2](https://github.com/Asqatasun/Contrast-Finder/blob/v0.5.2/docker/RELEASE/Dockerfile) ## How to use this image diff --git a/docker/RELEASE/alpine_tomcat-7/Dockerfile b/docker/RELEASE/alpine_tomcat-7/Dockerfile index bede10a3..5d9f7e89 100644 --- a/docker/RELEASE/alpine_tomcat-7/Dockerfile +++ b/docker/RELEASE/alpine_tomcat-7/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-7 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (tomcat7 < jdk7 < alpine 3.7)" \ - org.label-schema.version = "0.9.1" \ + org.label-schema.version = "0.9.2-SNAPSHOT" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder:alpine" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.1 . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/contrast-finder-webapp_0.9.1.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -39,7 +39,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.1" +ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/alpine_tomcat-8.5/Dockerfile b/docker/RELEASE/alpine_tomcat-8.5/Dockerfile index 453ff9d0..a92c30ff 100644 --- a/docker/RELEASE/alpine_tomcat-8.5/Dockerfile +++ b/docker/RELEASE/alpine_tomcat-8.5/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-8.5 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (tomcat 8.5 < jdk 8 < alpine 3.7)" \ - org.label-schema.version = "0.9.1" \ + org.label-schema.version = "0.9.2-SNAPSHOT" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder:alpine" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.1 . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/contrast-finder-webapp_0.9.1.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -39,7 +39,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.1" +ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile b/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile index 6c8fa014..56111ddb 100644 --- a/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile +++ b/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-14.04_tomcat-7 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (Ubuntu 14.04 - Tomcat 7)" \ - org.label-schema.version = "0.9.1" \ + org.label-schema.version = "0.9.2-SNAPSHOT" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.1 . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/contrast-finder-webapp_0.9.1.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -37,7 +37,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.1" +ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile b/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile index 306e0eca..9c2fc5a3 100644 --- a/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile +++ b/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-16.04_tomcat-7 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (Ubuntu 16.04 - Tomcat 7)" \ - org.label-schema.version = "0.9.1" \ + org.label-schema.version = "0.9.2-SNAPSHOT" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.1 . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/contrast-finder-webapp_0.9.1.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -37,7 +37,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.1" +ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile b/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile index 744ee7f2..b5dfc83d 100644 --- a/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile +++ b/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (Ubuntu 18.04 - Tomcat 8.5, Java 10)" \ - org.label-schema.version = "0.9.1" \ + org.label-schema.version = "0.9.2-SNAPSHOT" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.1 . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/contrast-finder-webapp_0.9.1.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -37,7 +37,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.1" +ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile b/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile index 10c0644b..96755b4d 100644 --- a/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile @@ -21,7 +21,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-7 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile b/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile index 574d5885..50be0bac 100644 --- a/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile @@ -22,7 +22,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-8.5 # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile b/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile index 7608e3fd..430c39e6 100644 --- a/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile @@ -22,7 +22,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-9 # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile b/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile index 56d6000b..747b0a13 100644 --- a/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Debian-9_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile b/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile index 559ed96c..47006e53 100644 --- a/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile @@ -22,7 +22,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Debian_tomcat-9_jre9 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ENV CONF_ENV="debug" # Add contrast-finder .war diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile index 5ac6da55..72292e41 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-14.04_tomcat-7 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile index 7403de11..2179ab45 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-16.04_tomcat-7 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile index 41ddbd89..39bddadb 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-16.04_tomcat-8.0 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile index 9b6a2ba8..3fb53d6d 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile @@ -20,7 +20,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile b/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile index 63bcfa91..3d8da2b9 100644 --- a/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile b/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile index 3a951f7a..90d5a101 100644 --- a/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ENV CONF_DEFAULT_ALGO="Rgb" # ENV CONF_DEFAULT_ALGO="Rgb" # ENV CONF_DEFAULT_ALGO="HSV" diff --git a/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile b/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile index 745cecc3..ebee5881 100644 --- a/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ENV CONF_ENV="debug" # Add contrast-finder .war diff --git a/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile b/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile index ac91c3c3..f5e46d2a 100644 --- a/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ENV PIWIK_KEY="9" ENV PIWIK_URL="http://localhost/piwik/" diff --git a/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile b/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile index fec339ae..ad1876d4 100644 --- a/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.1" +ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" ENV SEARCH_ENGINGE="yes" # Add contrast-finder .war diff --git a/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile b/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile index 96849801..1b35944e 100644 --- a/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat7 < jdk7 < alpine 3.7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile b/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile index 09766e60..875b9247 100644 --- a/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat 8.5 < jdk 8 < alpine 3.7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile b/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile index f59412b6..7fd57673 100644 --- a/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile @@ -4,7 +4,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat 9 < jdk 8 < alpine 3.7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile b/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile index 858d2070..5f094201 100644 --- a/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Debian 9 - Tomcat 8.5)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile b/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile index 1fb374b9..d0cfb5b5 100644 --- a/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat 9 < jdk 9 < debian SID)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile index cda7510e..b2900e2f 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 14.04 - Tomcat 7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile index 80907ce8..ac05d3e3 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 16.04 - Tomcat 7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile index e2ffd17c..0745ca23 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 16.04 - Tomcat 8.0)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile index a8e67cc7..6ed17360 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 18.04 - Tomcat 8.5, Java 10)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.1" + org.label-schema.version = "0.9.2-SNAPSHOT" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/documentation/en/10_Install_doc/webapp_Installation.md b/documentation/en/10_Install_doc/webapp_Installation.md index e61e6be2..289c9221 100644 --- a/documentation/en/10_Install_doc/webapp_Installation.md +++ b/documentation/en/10_Install_doc/webapp_Installation.md @@ -14,7 +14,7 @@ You just need to replace `tomcat7` with `tomcat8` in the following command lines ```bash cd /tmp -wget https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.1/contrast-finder-webapp_0.9.1.tar.gz +wget https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz tar -xzvf contrast-finder-webapp_*.tar.gz cd contrast-finder-webapp_*/ mv -v install/contrast-finder-webapp_*.war contrast-finder.war diff --git a/documentation/pom.xml b/documentation/pom.xml index 595cc8ac..e4a5fb51 100644 --- a/documentation/pom.xml +++ b/documentation/pom.xml @@ -4,11 +4,11 @@ org.asqatasun contrast-finder - 0.9.1 + 0.9.2-SNAPSHOT documentation pom - 0.9.1 + 0.9.2-SNAPSHOT contrast-finder-documentation diff --git a/engine/api/pom.xml b/engine/api/pom.xml index d835407a..5ae98bb8 100644 --- a/engine/api/pom.xml +++ b/engine/api/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.1 + 0.9.2-SNAPSHOT contrast-finder-api - 0.9.1 + 0.9.2-SNAPSHOT jar api diff --git a/engine/hsv/pom.xml b/engine/hsv/pom.xml index cf52e5fc..b0e8beb3 100644 --- a/engine/hsv/pom.xml +++ b/engine/hsv/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.1 + 0.9.2-SNAPSHOT contrast-finder-hsv - 0.9.1 + 0.9.2-SNAPSHOT jar hsv diff --git a/engine/impl/pom.xml b/engine/impl/pom.xml index 9deaf245..8822d710 100644 --- a/engine/impl/pom.xml +++ b/engine/impl/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.1 + 0.9.2-SNAPSHOT contrast-finder-impl - 0.9.1 + 0.9.2-SNAPSHOT jar impl diff --git a/engine/pom.xml b/engine/pom.xml index 598cc2bd..1db0aca9 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -4,10 +4,10 @@ org.asqatasun contrast-finder - 0.9.1 + 0.9.2-SNAPSHOT engine - 0.9.1 + 0.9.2-SNAPSHOT pom contrast-finder-engine diff --git a/engine/utils/pom.xml b/engine/utils/pom.xml index a1a92957..a6e7cf59 100644 --- a/engine/utils/pom.xml +++ b/engine/utils/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.1 + 0.9.2-SNAPSHOT contrast-finder-utils - 0.9.1 + 0.9.2-SNAPSHOT jar utils diff --git a/pom.xml b/pom.xml index 645c7879..56c8a0a7 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ org.asqatasun contrast-finder pom - 0.9.1 + 0.9.2-SNAPSHOT Contrast-Finder diff --git a/webapp/pom.xml b/webapp/pom.xml index 2bbf92a0..f2743540 100644 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -4,10 +4,10 @@ org.asqatasun contrast-finder - 0.9.1 + 0.9.2-SNAPSHOT webapp - 0.9.1 + 0.9.2-SNAPSHOT war contrast-finder-webapp diff --git a/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf b/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf index 8298ad4f..9b81c18e 100644 --- a/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf +++ b/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf @@ -2,7 +2,7 @@ <%@ page pageEncoding="UTF-8" %> <%-- APP version --%> - + <%-- APP Name --%> From fa8dd8de6c5ee6b04052afbc92bc2da288faf6f6 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Fri, 15 Jun 2018 21:23:12 +0200 Subject: [PATCH 02/23] Fixed #162 / Fixed #163 / Fixed #164 --- CHANGELOG.md | 3 ++- README.md | 1 - documentation/badge.md | 2 +- documentation/en/30_Contributor_doc/QA-tools.md | 4 ++-- documentation/en/30_Contributor_doc/Release/README.md | 2 +- webapp/pom.xml | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97d986d8..789fcd4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,8 @@ none none ### Outdated dependencies -none +- [#163 - Upgraded SpringFramework (4.3.18 instead of 4.3.17)](https://github.com/Asqatasun/Contrast-Finder/issues/163) +- [#162 - Upgraded spring--security (4.2.7 instead of 4.2.6)](https://github.com/Asqatasun/Contrast-Finder/issues/162) ### Bug none diff --git a/README.md b/README.md index bc9295a8..78e73d96 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ [![License : AGPL v3](https://img.shields.io/badge/License-AGPL3-blue.svg)](https://github.com/Asqatasun/Contrast-Finder/blob/master/LICENSE) [![Build Status](https://travis-ci.org/Asqatasun/Contrast-Finder.svg)](https://travis-ci.org/Asqatasun/Contrast-Finder) [![Release](https://img.shields.io/github/release/asqatasun/Contrast-Finder.svg)](https://github.com/Asqatasun/Contrast-Finder/releases/latest) -[![Dependency Status](https://www.versioneye.com/user/projects/59405a130fb24f004de09e90/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/59405a130fb24f004de09e90) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/c3374c9913d24a9c91e91552f1796672)](https://www.codacy.com/app/Asqatasun/Contrast-Finder) [![Code of Conduct](https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square)](https://github.com/Asqatasun/Contrast-Finder/blob/develop/CODE_OF_CONDUCT.md) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/Asqatasun/Contrast-Finder/blob/develop/CONTRIBUTING.md) diff --git a/documentation/badge.md b/documentation/badge.md index 82d36483..33c1b4c3 100644 --- a/documentation/badge.md +++ b/documentation/badge.md @@ -2,7 +2,7 @@ ## Dependency status -[![Dependency Status](https://www.versioneye.com/user/projects/59405a130fb24f004de09e90/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/59405a130fb24f004de09e90) +? ## Travis build status diff --git a/documentation/en/30_Contributor_doc/QA-tools.md b/documentation/en/30_Contributor_doc/QA-tools.md index 5798c7dd..3207d4ac 100644 --- a/documentation/en/30_Contributor_doc/QA-tools.md +++ b/documentation/en/30_Contributor_doc/QA-tools.md @@ -72,12 +72,12 @@ ## Audit history -### 0.9.0 +### 0.9.0 / 0.9.1 * Web perf * https://www.webpagetest.org/result/180513_JQ_6968f5fe020e3ae88c8078c4fc620995/ * https://yellowlab.tools/result/f1066yvsyi * Global tools (webperf, accessibility, security, ...) - * https://www.dareboost.com/fr/report/5af8684be96790618ff331da + * https://www.dareboost.com/fr/report/5af8b7c9e96790618ff385c5 * https://sonarwhal.com/scanner/8f0ca246-a8ac-420e-8737-6405d3ba8d59 ### 0.8.6 diff --git a/documentation/en/30_Contributor_doc/Release/README.md b/documentation/en/30_Contributor_doc/Release/README.md index 1207433d..484d69b0 100644 --- a/documentation/en/30_Contributor_doc/Release/README.md +++ b/documentation/en/30_Contributor_doc/Release/README.md @@ -16,7 +16,7 @@ As an end user, you won't need it, it is just for developers. ``` outdated dependencies: -https://www.versioneye.com/user/projects/58fb3e17c2ef423822580804?child=summary#tab-dependencies +https://snyk.io/ Some dependencies must not be updated with the latest release (SpringFramework 5.xx, ...) because these dependencies need Jdk 8 and do not work on our tomcat 7 for the official demo. diff --git a/webapp/pom.xml b/webapp/pom.xml index f2743540..f9a0d939 100644 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -28,8 +28,8 @@ UTF-8 - 4.3.17.RELEASE - 4.2.6.RELEASE + 4.3.18.RELEASE + 4.2.7.RELEASE 1.5.2 1.2.5 8.0 From 8e566757a7a90d1cd99ed6aa9432c297c8a0d8da Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Fri, 22 Jun 2018 04:41:49 +0200 Subject: [PATCH 03/23] Fixed #165 - Added some information to the MANIFEST.MF files : commit, buid timestamp --- CHANGELOG.md | 2 +- pom.xml | 150 +++++++++++++++++++++++++++++++++++++++++++++++++ webapp/pom.xml | 9 +-- 3 files changed, 153 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 789fcd4c..4e2efd3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ none none ### Improvement -none +- [#165 - Added some information to the MANIFEST.MF files : commit, buid timestamp](https://github.com/Asqatasun/Contrast-Finder/issues/165) ### Refactoring none diff --git a/pom.xml b/pom.xml index 56c8a0a7..56f41e43 100644 --- a/pom.xml +++ b/pom.xml @@ -59,6 +59,9 @@ webapp + + https://github.com/Asqatasun/Contrast-Finder/commit/ + UTF-8 UTF-8 @@ -79,11 +82,15 @@ 3.7.0 + 3.1.0 + 3.2.2 2.21.0 2.9 3.0.0 2.5 3.0.0 + 3.0.0 + 1.4 3.1.2 0.8.1 @@ -116,6 +123,149 @@ maven-assembly-plugin + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven-war-plugin.version} + + + + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + ${build-helper-maven-plugin.version} + + + timestamp-property + + timestamp-property + + validate + + current.date + yyyy-MM-dd'T'HH:mm:ssZ + UTC + en,US + + + + + + org.codehaus.mojo + buildnumber-maven-plugin + ${buildnumber-maven-plugin.version} + + + 7 + no-commit-ID + + + + + + create + + + + + 1.1.0.Final @@ -38,7 +39,6 @@ not valid for Tomcat-7 with Jdk-7 --> - 3.2.0 3.1.0 2.0.1 1.5.1 @@ -58,11 +58,6 @@ - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - org.apache.maven.plugins maven-dependency-plugin @@ -400,7 +395,7 @@ org.tuckey urlrewritefilter - 4.0.4 + ${urlrewritefilter.version} From f16acb844103a361aa25faac653a0b8e05193dca Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sat, 30 Jun 2018 14:35:29 +0200 Subject: [PATCH 04/23] Webapp - Added humans.txt file --- .../bookmarks-for-potential-features.md | 156 +++++++++++------- .../main/webapp/WEB-INF/template/head.jspf | 5 +- webapp/src/main/webapp/WEB-INF/web.xml | 4 +- webapp/src/main/webapp/humans.txt | 140 ++++++++++++++++ webapp/src/main/webapp/robots.txt | 16 +- 5 files changed, 258 insertions(+), 63 deletions(-) create mode 100644 webapp/src/main/webapp/humans.txt diff --git a/documentation/en/30_Contributor_doc/bookmarks-for-potential-features.md b/documentation/en/30_Contributor_doc/bookmarks-for-potential-features.md index bb52024b..a6066389 100644 --- a/documentation/en/30_Contributor_doc/bookmarks-for-potential-features.md +++ b/documentation/en/30_Contributor_doc/bookmarks-for-potential-features.md @@ -41,23 +41,61 @@ - [RGB to HSL converter](https://www.rapidtables.com/convert/color/rgb-to-hsl.html) - [RGB to HSV converter](https://www.rapidtables.com/convert/color/rgb-to-hsv.html) +# Javascript +- Converting jQuery to JavaScript + - https://github.com/jackocnr/intl-tel-input/wiki/Converting-jQuery-to-JavaScript + - http://sharedfil.es/js-48hIfQE4XK.html + - http://youmightnotneedjquery.com/ + - http://putaindecode.io/fr/articles/js/de-jquery-a-vanillajs/ +- http://mathjs.org math library for JavaScript +- key code + - https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code + - https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode -# Sorts tables +## JS - Sorts tables -- seems to be accessible but uses Jquery - - https://assets.cms.gov/resources/framework/2.0/Pages/datatables.html - - https://dequeuniversity.com/library/aria/tables/sf-sortable-grid -- does not use Jquery but not accessible - - http://www.trucsweb.com/tutoriels/javascript/tableau-tri/ - - https://kryogenix.org/code/browser/sorttable/ - - https://github.com/tofsjonas/sortable/ +### Seems to be accessible but uses Jquery +- https://dequeuniversity.com/library/aria/tables/sf-sortable-grid + - sorting rows with space key not works +- https://www.datatables.net/ + - sorting rows with space key not works + - https://assets.cms.gov/resources/framework/2.0/Pages/datatables.html + - use an older version of datatables.net + - sorting rows with space key work correctly +- http://examples.simplyaccessible.com/table-sort/accessible.php + - fixes **TabSorter** plugin accessibility + - the demo page does not seem to work well + - currently used by _Contrast-Finder_ + - works better on _Contrast-Finder_ than on the demo page + for focusing headers cells and sorting rows with enter key + - sorting rows with space key not works +- https://mottie.github.io/tablesorter/ + - fork of the TabSorter plugin + - seems to have integrated accessibility issues + (sorting columns with keyboard, role="row", "aria-sort", ...) + - sorting rows with space key not works + + +### does not use Jquery but not accessible +- http://www.trucsweb.com/tutoriels/javascript/tableau-tri/ +- https://kryogenix.org/code/browser/sorttable/ +- https://github.com/tofsjonas/sortable/ # tag `` - https://caniuse.com/#search=meter -- some tests : https://codepen.io/anon/pen/JLRZqZ?editors=1100 +- https://css-tricks.com/html5-meter-element/ +- some tests : https://codepen.io/anon/pen/eKPwpG?editors=1000 ```html -

min 0 / max 10 / optimum 4.5 / low 3

+ +

I) min 0 / max 10 / optimum 4.5 / low 3

A value 2.9 - min 0 - max 10 - low 3 - optimun 4.5
B @@ -70,7 +108,7 @@ E value 9.0 - min 0 - max 10 - low 3 - optimun 4.5

-

min 1 / max 21 / optimum 4.5 / low 3

+

II) min 1 / max 21 / optimum 4.5 / low 3

A value 2.9 - min 1 - max 21 - low 3 - optimun 4.5
B @@ -82,7 +120,7 @@ E F value 9.0 - min 1 - max 21 - low 3 - optimun 4.5
-

min 1 / max 21 / optimum 7 / low 4.5

+

III) min 1 / max 21 / optimum 7 / low 4.5

A value 2.9 - min 1 - max 21 - low 4.5 - optimun 7
B @@ -94,7 +132,7 @@ E F value 9.0 - min 1 - max 21 - low 4.5 - optimun 7
-

min 1 / max 21 / optimum 7 / low 7

+

IV) min 1 / max 21 / optimum 7 / low 7

A value 2.9 - min 1 - max 21 - low 7 - optimun 7
B @@ -107,7 +145,7 @@ F value 9.0 - min 1 - max 21 - low 7 - optimun 7

-

min 1 / max 7 / optimum 4.5 / low 3

+

V) min 1 / max 7 / optimum 4.5 / low 3

A value 2.9 - min 1 - max 7 - low 3 - optimun 4.5
B @@ -119,7 +157,7 @@ E F value 9.0 - min 1 - max 7 - low 3 - optimun 4.5
-

min 1 / max 7 / optimum 7 / low 4.5

+

VI) min 1 / max 7 / optimum 7 / low 4.5

A value 2.9 - min 1 - max 7 - low 4.5 - optimun 7
B @@ -131,7 +169,7 @@ D E value 9.0 - min 1 - max 7 - low 4.5 - optimun 7
-

min 1 / max 7 / optimum 7 / low 7

+

VII) min 1 / max 7 / optimum 7 / low 7

A value 2.9 - min 1 - max 7 - low 7.0 - optimun 7
B @@ -146,89 +184,91 @@ E

-

min 0 / max 10 / high 4.5 / low 3

+

VIII) min 0 / max 10 / high 4.5 / low 3

A - value 2.9 - min 0 - max 10 - low 3 - optimun 4.5
+ value 2.9 - min 0 - max 10 - low 3 - high 4.5
B - value 3.3 - min 0 - max 10 - low 3 - optimun 4.5
+ value 3.3 - min 0 - max 10 - low 3 - high 4.5
C - value 4.6 - min 0 - max 10 - low 3 - optimun 4.5
+ value 4.6 - min 0 - max 10 - low 3 - high 4.5
D - value 7.0 - min 0 - max 10 - low 3 - optimun 4.5
+ value 7.0 - min 0 - max 10 - low 3 - high 4.5
E - value 9.0 - min 0 - max 10 - low 3 - optimun 4.5
+ value 9.0 - min 0 - max 10 - low 3 - high 4.5

-

min 1 / max 21 / high 4.5 / low 3

+

IX) min 1 / max 21 / high 4.5 / low 3

A - value 2.9 - min 1 - max 21 - low 3 - optimun 4.5
+ value 2.9 - min 1 - max 21 - low 3 - high 4.5
B - value 3.3 - min 1 - max 21 - low 3 - optimun 4.5
+ value 3.3 - min 1 - max 21 - low 3 - high 4.5
D - value 4.6 - min 1 - max 21 - low 3 - optimun 4.5
+ value 4.6 - min 1 - max 21 - low 3 - high 4.5
E - value 7.0 - min 1 - max 21 - low 3 - optimun 4.5
+ value 7.0 - min 1 - max 21 - low 3 - high 4.5
F - value 9.0 - min 1 - max 21 - low 3 - optimun 4.5
+ value 9.0 - min 1 - max 21 - low 3 - high 4.5
-

min 1 / max 21 / high 7 / low 4.5

+

X) min 1 / max 21 / high 7 / low 4.5

A - value 2.9 - min 1 - max 21 - low 4.5 - optimun 7
+ value 2.9 - min 1 - max 21 - low 4.5 - high 7
B - value 3.3 - min 1 - max 21 - low 4.5 - optimun 7
+ value 3.3 - min 1 - max 21 - low 4.5 - high 7
D - value 4.6 - min 1 - max 21 - low 4.5 - optimun 7
+ value 4.6 - min 1 - max 21 - low 4.5 - high 7
E - value 7.0 - min 1 - max 21 - low 4.5 - optimun 7
+ value 7.0 - min 1 - max 21 - low 4.5 - high 7
F - value 9.0 - min 1 - max 21 - low 4.5 - optimun 7
+ value 9.0 - min 1 - max 21 - low 4.5 - high 7
-

min 1 / max 21 / high 7 / low 7

+

XI) min 1 / max 21 / high 7 / low 7

A - value 2.9 - min 1 - max 21 - low 7 - optimun 7
+ value 2.9 - min 1 - max 21 - low 7 - high 7
B - value 3.3 - min 1 - max 21 - low 7 - optimun 7
+ value 3.3 - min 1 - max 21 - low 7 - high 7
D - value 4.6 - min 1 - max 21 - low 7 - optimun 7
+ value 4.6 - min 1 - max 21 - low 7 - high 7
E - value 7.0 - min 1 - max 21 - low 7 - optimun 7
+ value 7.0 - min 1 - max 21 - low 7 - high 7
F - value 9.0 - min 1 - max 21 - low 7 - optimun 7
+ value 9.0 - min 1 - max 21 - low 7 - high 7

-

min 1 / max 7 / high 4.5 / low 3

+

XII) min 1 / max 7 / high 4.5 / low 3

A - value 2.9 - min 1 - max 7 - low 3 - optimun 4.5
+ value 2.9 - min 1 - max 7 - low 3 - high 4.5
B - value 3.3 - min 1 - max 7 - low 3 - optimun 4.5
+ value 3.3 - min 1 - max 7 - low 3 - high 4.5
C - value 4.6 - min 1 - max 7 - low 3 - optimun 4.5
+ value 4.6 - min 1 - max 7 - low 3 - high 4.5
E - value 7.0 - min 1 - max 7 - low 3 - optimun 4.5
+ value 7.0 - min 1 - max 7 - low 3 - high 4.5
F - value 9.0 - min 1 - max 7 - low 3 - optimun 4.5
+ value 9.0 - min 1 - max 7 - low 3 - high 4.5
-

min 1 / max 7 / high 7 / low 4.5

+

XIII) min 1 / max 7 / high 7 / low 4.5

A - value 2.9 - min 1 - max 7 - low 4.5 - optimun 7
+ value 2.9 - min 1 - max 7 - low 4.5 - high 7
B - value 3.3 - min 1 - max 7 - low 4.5 - optimun 7
+ value 3.3 - min 1 - max 7 - low 4.5 - high 7
C - value 4.6 - min 1 - max 7 - low 4.5 - optimun 7
+ value 4.6 - min 1 - max 7 - low 4.5 - high 7
D - value 7.0 - min 1 - max 7 - low 4.5 - optimun 7
+ value 7.0 - min 1 - max 7 - low 4.5 - high 7
E - value 9.0 - min 1 - max 7 - low 4.5 - optimun 7
+ value 9.0 - min 1 - max 7 - low 4.5 - high 7
-

min 1 / max 7 / high 7 / low 7

+

XIV) min 1 / max 7 / high 7 / low 7

A - value 2.9 - min 1 - max 7 - low 7.0 - optimun 7
+ value 2.9 - min 1 - max 7 - low 7.0 - high 7
B - value 3.3 - min 1 - max 7 - low 7.0 - optimun 7
+ value 3.3 - min 1 - max 7 - low 7.0 - high 7
C - value 4.6 - min 1 - max 7 - low 7.0 - optimun 7
+ value 4.6 - min 1 - max 7 - low 7.0 - high 7
D - value 7.0 - min 1 - max 7 - low 7.0 - optimun 7
+ value 7.0 - min 1 - max 7 - low 7.0 - high 7
E - value 9.0 - min 1 - max 7 - low 7.0 - optimun 7
+ value 9.0 - min 1 - max 7 - low 7.0 - high 7
+ + ``` diff --git a/webapp/src/main/webapp/WEB-INF/template/head.jspf b/webapp/src/main/webapp/WEB-INF/template/head.jspf index 9b36550b..d71cb0ad 100644 --- a/webapp/src/main/webapp/WEB-INF/template/head.jspf +++ b/webapp/src/main/webapp/WEB-INF/template/head.jspf @@ -59,6 +59,9 @@ " /> + + + - \ No newline at end of file + diff --git a/webapp/src/main/webapp/WEB-INF/web.xml b/webapp/src/main/webapp/WEB-INF/web.xml index 4e521e8c..99bd9b86 100644 --- a/webapp/src/main/webapp/WEB-INF/web.xml +++ b/webapp/src/main/webapp/WEB-INF/web.xml @@ -50,7 +50,7 @@ *.css *.js *.json - *.txt + *.txt *.xml @@ -183,4 +183,4 @@ /WEB-INF/pages/error/error_5xx.html - \ No newline at end of file + diff --git a/webapp/src/main/webapp/humans.txt b/webapp/src/main/webapp/humans.txt new file mode 100644 index 00000000..e085ed7a --- /dev/null +++ b/webapp/src/main/webapp/humans.txt @@ -0,0 +1,140 @@ + _____ _ _ ______ _ _ + / ____| | | | | | ____(_) | | +| | ___ _ __ | |_ _ __ __ _ ___| |_ | |__ _ _ __ __| | ___ _ __ +| | / _ \| '_ \| __| '__/ _` / __| __| | __| | | '_ \ / _` |/ _ \ '__| +| |___| (_) | | | | |_| | | (_| \__ \ |_ | | | | | | | (_| | __/ | + \_____\___/|_| |_|\__|_| \__,_|___/\__| |_| |_|_| |_|\__,_|\___|_| + + Contrast-Finder : opensource software for web accessibility. + + +# CONTRAST-FINDER + +Contrast-Finder finds correct color contrasts for web accessibility. + + twitter : @Contrast_Finder + website : contrast-finder.org + + webapp : https://app.contrast-finder.org + source : https://github.com/Asqatasun/Contrast-Finder + forum : https://forum.asqatasun.org + + +# TEAM + +Creator : Matthieu Faure + Twitter : @mfaure + From : Montpellier, France + +Maintainer : Fabrice Gangler + Twitter : @fabricegangler + From : Montpellier, France + +Java Guru : Jérôme Kowalczyk + From : France + + +# PAST TEAM MEMBERS + +Developer : Anthony Lingua + From : Montpellier, France + + +# THANKS ♥ + +KO translator (한국어): + HungJae Lee + Twitter : @miname + From : Seoul, Korea + +ES translator (Español): + David Jiménez + Twitter : @davidjr82 + From : Madrid, Spain + +PT translators (Português): + Kath and Rui + From : Montpellier, France + +Text size understanding fixup: + Arnaud Delafosse + Twitter : @arnauddelafosse + From : Paris, France + +Feature request: + Gaël Poupard + Twitter: @ffoodd_fr + From : Nantes, France + +Feature requests + Accessibility feedbacks: + Sébastien Delorme + Twitter : @sebcbien + From : Paris, France + + +# SITE + Languages : English / Español / Français / Português / 한국어 + Standards : HTML5, WCAG + Softwares : Spring Framework, Maven, Tomcat, Apache + Tools : Asqatasun, Docker, Hardenize, Mozilla Observatory, + OWASP Dependency-Check, Webpagetest, W3C tools + + +####################################################### +# Sources of inspiration: http://humanstxt.org/ +# we are people, not machines +####################################################### + + *//**** + *//**** + *//**** + *//**** + *//**** + *** *** + //***** ,**** ///* ******* + //******* ********** ///****** //******* + ******* ************* ///*********. //***** + *** **************** ///************ *** + ************ ********* + //********, *********** + ///****** ************ + ////**** (((//////****************** + /////*** (((//////******************* + (/////** (((//////* accessibility **** + ((/////* (((//////********************* + ((///// (((//////********** color **** +//******* ((///// *********************, (//****** +//******* (((///// ********************** (//****** +//******* (((///// ********************** (//****** +//******* *((///// ** background *******, (//****** + ((///// (((//////********************* + ((/////* (((/3////********************* + (/////*, (((//////**** contrast ****** + /////**, (((/4.5//****** finder *****, + /////**** (((//////******************* + ///****** (((///7//*****************, + //******** (((//////** wcag ******** + ***********, (((//////************** + *** **************** ///************ *** + ******, ************** ///********** //***** + //******* *********** ///******* //******* + //***** ****** ///** ******* + *** *** + (/***** + (/***** + (/***** + (/***** + (/***** + + + + ██████╗ ██████╗ ███╗ ██╗████████╗██████╗ █████╗ ███████╗████████╗ ███████╗██╗███╗ ██╗██████╗ ███████╗██████╗ +██╔════╝██╔═══██╗████╗ ██║╚══██╔══╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝ ██╔════╝██║████╗ ██║██╔══██╗██╔════╝██╔══██╗ +██║ ██║ ██║██╔██╗ ██║ ██║ ██████╔╝███████║███████╗ ██║ █████╗ ██║██╔██╗ ██║██║ ██║█████╗ ██████╔╝ +██║ ██║ ██║██║╚██╗██║ ██║ ██╔══██╗██╔══██║╚════██║ ██║ ██╔══╝ ██║██║╚██╗██║██║ ██║██╔══╝ ██╔══██╗ +╚██████╗╚██████╔╝██║ ╚████║ ██║ ██║ ██║██║ ██║███████║ ██║ ██║ ██║██║ ╚████║██████╔╝███████╗██║ ██║ + ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝╚═╝ ╚═╝ +01000011 01101111 01101110 01110100 01110010 01100001 01110011 01110100 00101101 01000110 01101001 01101110 01100100 01100101 01110010 + + ♥ 43 6f 6e 74 72 61 73 74 2d 46 69 6e 64 65 72 ♥ +♡ diff --git a/webapp/src/main/webapp/robots.txt b/webapp/src/main/webapp/robots.txt index 8343fb3c..88bdeecb 100644 --- a/webapp/src/main/webapp/robots.txt +++ b/webapp/src/main/webapp/robots.txt @@ -1,6 +1,18 @@ -# robots.txt -################################## + +########## robots.txt ################################################################################################################## +# +# Contrast-Finder +# ''''''''''''''' +# File for bots. +# If you are reading this file, +# you can display humans.txt file. +# +# 01000011 01101111 01101110 01110100 01110010 01100001 01110011 01110100 00101101 01000110 01101001 01101110 01100100 01100101 01110010 +######################################################################################################################################## # Allow crawling of all content User-agent: * Disallow: + + +#### 43 6f 6e 74 72 61 73 74 2d 46 69 6e 64 65 72 ###################################################################################### From c7a92fdb97e1c289679e581f0f248d1cfa12ddd3 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 1 Jul 2018 20:07:54 +0200 Subject: [PATCH 05/23] Fixed #166 - Use an independent subproject for jdeb (debian packages creation) --- CHANGELOG.md | 2 +- dist./debian_package/README.txt | 61 +++++++ dist./debian_package/pom.xml | 159 ++++++++++++++++++ .../src/deb/tomcat7/control/control | 21 +++ .../src/deb/tomcat7/control/postinst | 44 +++++ .../src/deb/tomcat7/control/postrm | 40 +++++ .../src/deb/tomcat7/control/preinst | 35 ++++ .../src/deb/tomcat7/control/prerm | 38 +++++ .../debian_package/src/deb/tomcat7/copyright | 18 ++ .../src/deb/tomcat8/control/control | 21 +++ .../src/deb/tomcat8/control/postinst | 44 +++++ .../src/deb/tomcat8/control/postrm | 40 +++++ .../src/deb/tomcat8/control/preinst | 35 ++++ .../src/deb/tomcat8/control/prerm | 38 +++++ .../debian_package/src/deb/tomcat8/copyright | 18 ++ pom.xml | 1 + webapp/pom.xml | 121 ------------- 17 files changed, 614 insertions(+), 122 deletions(-) create mode 100644 dist./debian_package/README.txt create mode 100644 dist./debian_package/pom.xml create mode 100644 dist./debian_package/src/deb/tomcat7/control/control create mode 100644 dist./debian_package/src/deb/tomcat7/control/postinst create mode 100644 dist./debian_package/src/deb/tomcat7/control/postrm create mode 100644 dist./debian_package/src/deb/tomcat7/control/preinst create mode 100644 dist./debian_package/src/deb/tomcat7/control/prerm create mode 100644 dist./debian_package/src/deb/tomcat7/copyright create mode 100644 dist./debian_package/src/deb/tomcat8/control/control create mode 100644 dist./debian_package/src/deb/tomcat8/control/postinst create mode 100644 dist./debian_package/src/deb/tomcat8/control/postrm create mode 100644 dist./debian_package/src/deb/tomcat8/control/preinst create mode 100644 dist./debian_package/src/deb/tomcat8/control/prerm create mode 100644 dist./debian_package/src/deb/tomcat8/copyright diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e2efd3b..c9bbec9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ none - [#162 - Upgraded spring--security (4.2.7 instead of 4.2.6)](https://github.com/Asqatasun/Contrast-Finder/issues/162) ### Bug -none +- [#166 - Used an independent subproject for jdeb (debian packages creation)](https://github.com/Asqatasun/Contrast-Finder/issues/166) ### Improvement - [#165 - Added some information to the MANIFEST.MF files : commit, buid timestamp](https://github.com/Asqatasun/Contrast-Finder/issues/165) diff --git a/dist./debian_package/README.txt b/dist./debian_package/README.txt new file mode 100644 index 00000000..b726820a --- /dev/null +++ b/dist./debian_package/README.txt @@ -0,0 +1,61 @@ + +##### Tomcat 7 ########################## + + # install Contrast-Finder webapp + dependencies + dpkg -i contrast-finder-webapp_*_tomcat7.deb + apt-get -f install + + # in your browser + # http://localhost:8080/contrast-finder/ + + + # uninstall Contrast-Finder webapp + dpkg --purge contrast-finder_webapp-for-tomcat7 + + # or + # uninstall Contrast-Finder webapp + dependencies + dpkg --purge contrast-finder_webapp-for-tomcat7 + apt-get remove tomcat7 libspring-instrument-java + apt-get autoremove + + + # See package information + dpkg -l contrast-finder_webapp-for-tomcat7 tomcat7 libspring-instrument-java + + # Check directories and files + ls -l /var/lib/tomcat7/webapps + ls -l /etc/contrast-finder + ls -l /var/log/contrast-finder/ + ls -l /usr/share/tomcat7/lib/spring3-instrument-tomcat* + +##### Tomcat 8 ########################### + + # install Contrast-Finder webapp + dependencies + dpkg -i contrast-finder-webapp_*_tomcat8.deb + apt-get -f install + + # in your browser + # http://localhost:8080/contrast-finder/ + + + # uninstall Contrast-Finder webapp + dpkg --purge contrast-finder_webapp-for-tomcat8 + + # or + # uninstall Contrast-Finder webapp + dependencies + dpkg --purge contrast-finder_webapp-for-tomcat8 + apt-get remove tomcat7 + apt-get autoremove + + + # See package information + dpkg -l tomcat8 contrast-finder_webapp-for-tomcat8 + + + # Check directories and files + ls -l /var/lib/tomcat8/webapps + ls -l /etc/contrast-finder + ls -l /var/log/contrast-finder/ + ls -l /usr/share/tomcat8/lib/spring3-instrument-tomcat* + + diff --git a/dist./debian_package/pom.xml b/dist./debian_package/pom.xml new file mode 100644 index 00000000..d9697742 --- /dev/null +++ b/dist./debian_package/pom.xml @@ -0,0 +1,159 @@ + + 4.0.0 + + org.asqatasun + contrast-finder-dist + 0.9.2-SNAPSHOT + + contrast-finder-dist_debian-packages + 0.9.2-SNAPSHOT + jar + contrast-finder-dist_debian-packages + + + GNU Affero General Public License v3.0 + https://www.gnu.org/licenses/agpl-3.0.txt + manual + + + https://contrast-finder.org + + Asqatasun.org + https://asqatasun.org + + + + ${project.build.directory}/endorsed + + + 1.6 + + + + + + contrast-finder-webapp_${project.version} + + + + org.vafer + jdeb + ${jdeb.version} + + + jdeb_tomcat7 + package + + jdeb + + + ${project.build.directory}/contrast-finder-webapp_${project.version}_tomcat7.deb + true + ${project.basedir}/src/deb/tomcat7/control + + + template + + /etc/contrast-finder + /var/log/contrast-finder + + + + true + file + ../../webapp/src/main/resources/conf/contrast-finder.conf.dist + /etc/contrast-finder/contrast-finder.conf.dist + + perm + tomcat7 + + + + file + ../../webapp/src/main/resources/conf/contrast-finder.log + + perm + /var/log/contrast-finder + tomcat7 + + + + file + ../../webapp/target/contrast-finder-webapp_${project.version}.war + contrast-finder.war + + perm + /var/lib/tomcat7/webapps + tomcat7 + + + + file + ${project.basedir}/src/deb/tomcat7/copyright + /usr/share/doc/contrast-finder-webapp/copyright + + + + + + jdeb_tomcat8 + package + + jdeb + + + ${project.build.directory}/contrast-finder-webapp_${project.version}_tomcat8.deb + true + ${project.basedir}/src/deb/tomcat8/control + + + template + + /etc/contrast-finder + /var/log/contrast-finder + + + + true + file + ../../webapp/src/main/resources/conf/contrast-finder.conf.dist + + perm + /etc/contrast-finder + tomcat8 + + + + file + ../../webapp/src/main/resources/conf/contrast-finder.log + + perm + /var/log/contrast-finder + tomcat8 + + + + file + ../../webapp/target/contrast-finder-webapp_${project.version}.war + contrast-finder.war + + perm + /var/lib/tomcat8/webapps + tomcat8 + + + + file + ${project.basedir}/src/deb/tomcat8/copyright + /usr/share/doc/contrast-finder-webapp/copyright + + + + + + + + + diff --git a/dist./debian_package/src/deb/tomcat7/control/control b/dist./debian_package/src/deb/tomcat7/control/control new file mode 100644 index 00000000..95895031 --- /dev/null +++ b/dist./debian_package/src/deb/tomcat7/control/control @@ -0,0 +1,21 @@ +Source: [[name]] +Package: Contrast-Finder_webapp-for-tomcat7 +Version: [[version]] +Section: web +Priority: optional +Maintainer: contrast-finder.org +Architecture: all +Build-Depends: debhelper (>=9) +Depends: tomcat7 +Standards-Version: 3.9.6 +Homepage: [[url]] +Vcs-Git: git://github.com:Asqatasun/Contrast-Finder.git +Vcs-Browser: https://github.com/Asqatasun/Contrast-Finder +Description: [[description]] + Contrast-Finder is a tool which computes the contrast between two colors. + . + (background, foreground) and checks if the contrast is valid. When the + . + contrast is not valid, the main target is to suggest some correct colors + . + contrasts. diff --git a/dist./debian_package/src/deb/tomcat7/control/postinst b/dist./debian_package/src/deb/tomcat7/control/postinst new file mode 100644 index 00000000..cf4231d1 --- /dev/null +++ b/dist./debian_package/src/deb/tomcat7/control/postinst @@ -0,0 +1,44 @@ +#!/bin/sh +# postinst script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> postinst script for contrast-finder-webapp" +case "$1" in + + configure) + echo "----> nothing to do for \`$1'" + echo "" + echo "default URL: " + echo "http://localhost:8080/contrast-finder/" + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat7/control/postrm b/dist./debian_package/src/deb/tomcat7/control/postrm new file mode 100644 index 00000000..e8748a2d --- /dev/null +++ b/dist./debian_package/src/deb/tomcat7/control/postrm @@ -0,0 +1,40 @@ +#!/bin/sh +# postrm script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> postrm script for contrast-finder-webapp" +case "$1" in + purge) + echo "----> nothing to do for \`$1'" + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat7/control/preinst b/dist./debian_package/src/deb/tomcat7/control/preinst new file mode 100644 index 00000000..1ee5a95c --- /dev/null +++ b/dist./debian_package/src/deb/tomcat7/control/preinst @@ -0,0 +1,35 @@ +#!/bin/sh +# preinst script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> preinst script for contrast-finder-webapp" +case "$1" in + install|upgrade) + echo "----> nothing to do for \`$1'" + ;; + + abort-upgrade) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat7/control/prerm b/dist./debian_package/src/deb/tomcat7/control/prerm new file mode 100644 index 00000000..05773f23 --- /dev/null +++ b/dist./debian_package/src/deb/tomcat7/control/prerm @@ -0,0 +1,38 @@ +#!/bin/sh +# prerm script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> prerm script for contrast-finder-webapp" +case "$1" in + remove|upgrade|deconfigure) + echo "----> nothing to do for \`$1'" + ;; + + failed-upgrade) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat7/copyright b/dist./debian_package/src/deb/tomcat7/copyright new file mode 100644 index 00000000..38687e5a --- /dev/null +++ b/dist./debian_package/src/deb/tomcat7/copyright @@ -0,0 +1,18 @@ +This package was contrast-finder-webapp by package-debian@contrast-finder.org + +It was downloaded from https://github.com/Asqatasun/Contrast-Finder/ + +Copyright (c) 2008-2018 Contrast-Finder.org + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . diff --git a/dist./debian_package/src/deb/tomcat8/control/control b/dist./debian_package/src/deb/tomcat8/control/control new file mode 100644 index 00000000..1b9f8b7d --- /dev/null +++ b/dist./debian_package/src/deb/tomcat8/control/control @@ -0,0 +1,21 @@ +Source: [[name]] +Package: Contrast-Finder_webapp-for-tomcat8 +Version: [[version]] +Section: web +Priority: optional +Maintainer: contrast-finder.org +Architecture: all +Build-Depends: debhelper (>=9) +Depends: tomcat8 +Standards-Version: 3.9.6 +Homepage: [[url]] +Vcs-Git: git://github.com:Asqatasun/Contrast-Finder.git +Vcs-Browser: https://github.com/Asqatasun/Contrast-Finder +Description: [[description]] + Contrast-Finder is a tool which computes the contrast between two colors. + . + (background, foreground) and checks if the contrast is valid. When the + . + contrast is not valid, the main target is to suggest some correct colors + . + contrasts. diff --git a/dist./debian_package/src/deb/tomcat8/control/postinst b/dist./debian_package/src/deb/tomcat8/control/postinst new file mode 100644 index 00000000..cf4231d1 --- /dev/null +++ b/dist./debian_package/src/deb/tomcat8/control/postinst @@ -0,0 +1,44 @@ +#!/bin/sh +# postinst script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> postinst script for contrast-finder-webapp" +case "$1" in + + configure) + echo "----> nothing to do for \`$1'" + echo "" + echo "default URL: " + echo "http://localhost:8080/contrast-finder/" + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat8/control/postrm b/dist./debian_package/src/deb/tomcat8/control/postrm new file mode 100644 index 00000000..e8748a2d --- /dev/null +++ b/dist./debian_package/src/deb/tomcat8/control/postrm @@ -0,0 +1,40 @@ +#!/bin/sh +# postrm script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> postrm script for contrast-finder-webapp" +case "$1" in + purge) + echo "----> nothing to do for \`$1'" + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat8/control/preinst b/dist./debian_package/src/deb/tomcat8/control/preinst new file mode 100644 index 00000000..1ee5a95c --- /dev/null +++ b/dist./debian_package/src/deb/tomcat8/control/preinst @@ -0,0 +1,35 @@ +#!/bin/sh +# preinst script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> preinst script for contrast-finder-webapp" +case "$1" in + install|upgrade) + echo "----> nothing to do for \`$1'" + ;; + + abort-upgrade) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat8/control/prerm b/dist./debian_package/src/deb/tomcat8/control/prerm new file mode 100644 index 00000000..05773f23 --- /dev/null +++ b/dist./debian_package/src/deb/tomcat8/control/prerm @@ -0,0 +1,38 @@ +#!/bin/sh +# prerm script for contrast-finder-webapp +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +echo "-----------------------------------" +echo "----> prerm script for contrast-finder-webapp" +case "$1" in + remove|upgrade|deconfigure) + echo "----> nothing to do for \`$1'" + ;; + + failed-upgrade) + echo "----> nothing to do for \`$1'" + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac +echo "-----------------------------------" + + +exit 0 diff --git a/dist./debian_package/src/deb/tomcat8/copyright b/dist./debian_package/src/deb/tomcat8/copyright new file mode 100644 index 00000000..38687e5a --- /dev/null +++ b/dist./debian_package/src/deb/tomcat8/copyright @@ -0,0 +1,18 @@ +This package was contrast-finder-webapp by package-debian@contrast-finder.org + +It was downloaded from https://github.com/Asqatasun/Contrast-Finder/ + +Copyright (c) 2008-2018 Contrast-Finder.org + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . diff --git a/pom.xml b/pom.xml index 56f41e43..22842113 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,7 @@ documentation engine webapp + dist./debian_package diff --git a/webapp/pom.xml b/webapp/pom.xml index 1aa1db1c..c8a1eb73 100644 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -42,7 +42,6 @@ 3.1.0 2.0.1 1.5.1 - 1.6 contrast-finder-webapp_${project.version} @@ -169,126 +168,6 @@
- - - - org.vafer - jdeb - ${jdeb.version} - - - jdeb_tomcat7 - package - - jdeb - - - ${project.build.directory}/contrast-finder-webapp_${project.version}_tomcat7.deb - true - ${project.basedir}/src/deb/tomcat7/control - - - template - - /etc/contrast-finder - /var/log/contrast-finder - - - - true - file - ${project.basedir}/src/main/resources/conf/contrast-finder.conf.dist - /etc/contrast-finder/contrast-finder.conf.dist - - perm - tomcat7 - - - - file - ${project.basedir}/src/main/resources/conf/contrast-finder.log - - perm - /var/log/contrast-finder - tomcat7 - - - - file - ${project.build.directory}/contrast-finder-webapp_${project.version}.war - contrast-finder.war - - perm - /var/lib/tomcat7/webapps - tomcat7 - - - - file - ${project.basedir}/src/deb/tomcat7/copyright - /usr/share/doc/contrast-finder-webapp/copyright - - - - - - jdeb_tomcat8 - package - - jdeb - - - ${project.build.directory}/contrast-finder-webapp_${project.version}_tomcat8.deb - true - ${project.basedir}/src/deb/tomcat8/control - - - template - - /etc/contrast-finder - /var/log/contrast-finder - - - - true - file - ${project.basedir}/src/main/resources/conf/contrast-finder.conf.dist - /etc/contrast-finder/contrast-finder.conf.dist - - perm - tomcat8 - - - - file - ${project.basedir}/src/main/resources/conf/contrast-finder.log - - perm - /var/log/contrast-finder - tomcat8 - - - - file - ${project.build.directory}/contrast-finder-webapp_${project.version}.war - contrast-finder.war - - perm - /var/lib/tomcat8/webapps - tomcat8 - - - - file - ${project.basedir}/src/deb/tomcat8/copyright - /usr/share/doc/contrast-finder-webapp/copyright - - - - - - From e6091e5e1dce92c46223a4d17272a793c33b53d0 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 1 Jul 2018 20:10:39 +0200 Subject: [PATCH 06/23] clean #166 --- webapp/src/deb/README.txt | 60 ------------------------- webapp/src/deb/tomcat7/control/control | 21 --------- webapp/src/deb/tomcat7/control/postinst | 44 ------------------ webapp/src/deb/tomcat7/control/postrm | 40 ----------------- webapp/src/deb/tomcat7/control/preinst | 35 --------------- webapp/src/deb/tomcat7/control/prerm | 38 ---------------- webapp/src/deb/tomcat7/copyright | 18 -------- webapp/src/deb/tomcat8/control/control | 21 --------- webapp/src/deb/tomcat8/control/postinst | 44 ------------------ webapp/src/deb/tomcat8/control/postrm | 40 ----------------- webapp/src/deb/tomcat8/control/preinst | 35 --------------- webapp/src/deb/tomcat8/control/prerm | 38 ---------------- webapp/src/deb/tomcat8/copyright | 18 -------- 13 files changed, 452 deletions(-) delete mode 100644 webapp/src/deb/README.txt delete mode 100644 webapp/src/deb/tomcat7/control/control delete mode 100644 webapp/src/deb/tomcat7/control/postinst delete mode 100644 webapp/src/deb/tomcat7/control/postrm delete mode 100644 webapp/src/deb/tomcat7/control/preinst delete mode 100644 webapp/src/deb/tomcat7/control/prerm delete mode 100644 webapp/src/deb/tomcat7/copyright delete mode 100644 webapp/src/deb/tomcat8/control/control delete mode 100644 webapp/src/deb/tomcat8/control/postinst delete mode 100644 webapp/src/deb/tomcat8/control/postrm delete mode 100644 webapp/src/deb/tomcat8/control/preinst delete mode 100644 webapp/src/deb/tomcat8/control/prerm delete mode 100644 webapp/src/deb/tomcat8/copyright diff --git a/webapp/src/deb/README.txt b/webapp/src/deb/README.txt deleted file mode 100644 index 26842703..00000000 --- a/webapp/src/deb/README.txt +++ /dev/null @@ -1,60 +0,0 @@ - -##### Tomcat 7 ########################## - - # install contrast-finder-webapp + dependencies - dpkg -i contrast-finder-webapp_*_tomcat7.deb - apt-get -f install - - # in your browser - # http://localhost:8080/contrast-finder/ - - - # uninstall contrast-finder - dpkg --purge contrast-finder-webapp - - # or - # uninstall contrast-finder + dependencies - dpkg --purge contrast-finder-webapp - apt-get remove tomcat7 libspring-instrument-java - apt-get autoremove - - - # See package information - dpkg -l contrast-finder-webapp tomcat7 libspring-instrument-java - - # Check directories and files - ls -l /var/lib/tomcat7/webapps - ls -l /etc/contrast-finder - ls -l /var/log/contrast-finder/ - ls -l /usr/share/tomcat7/lib/spring3-instrument-tomcat* - -##### Tomcat 8 ########################### - - # install contrast-finder-webapp + dependencies - dpkg -i contrast-finder-webapp_*_tomcat8.deb - apt-get -f install - - # in your browser - # http://localhost:8080/contrast-finder/ - - - # uninstall contrast-finder - dpkg --purge contrast-finder-webapp - - # or - # uninstall contrast-finder + dependencies - dpkg --purge contrast-finder-webapp - apt-get remove tomcat8 libspring-instrument-java - apt-get autoremove - - - # See package information - dpkg -l contrast-finder-webapp tomcat8 libspring-instrument-java - - # Check directories and files - ls -l /var/lib/tomcat8/webapps - ls -l /etc/contrast-finder - ls -l /var/log/contrast-finder/ - ls -l /usr/share/tomcat8/lib/spring3-instrument-tomcat* - - diff --git a/webapp/src/deb/tomcat7/control/control b/webapp/src/deb/tomcat7/control/control deleted file mode 100644 index 283ff74b..00000000 --- a/webapp/src/deb/tomcat7/control/control +++ /dev/null @@ -1,21 +0,0 @@ -Source: [[name]] -Package: [[name]] -Version: [[version]] -Section: web -Priority: optional -Maintainer: contrast-finder.org -Architecture: all -Build-Depends: debhelper (>=9) -Depends: tomcat7 -Standards-Version: 3.9.6 -Homepage: [[url]] -Vcs-Git: git://github.com:Asqatasun/Contrast-Finder.git -Vcs-Browser: https://github.com/Asqatasun/Contrast-Finder -Description: [[description]] - Contrast-Finder is a tool which computes the contrast between two colors. - . - (background, foreground) and checks if the contrast is valid. When the - . - contrast is not valid, the main target is to suggest some correct colors - . - contrasts. diff --git a/webapp/src/deb/tomcat7/control/postinst b/webapp/src/deb/tomcat7/control/postinst deleted file mode 100644 index cf4231d1..00000000 --- a/webapp/src/deb/tomcat7/control/postinst +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# postinst script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> postinst script for contrast-finder-webapp" -case "$1" in - - configure) - echo "----> nothing to do for \`$1'" - echo "" - echo "default URL: " - echo "http://localhost:8080/contrast-finder/" - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; - -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat7/control/postrm b/webapp/src/deb/tomcat7/control/postrm deleted file mode 100644 index e8748a2d..00000000 --- a/webapp/src/deb/tomcat7/control/postrm +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# postrm script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `purge' -# * `upgrade' -# * `failed-upgrade' -# * `abort-install' -# * `abort-install' -# * `abort-upgrade' -# * `disappear' overwrit>r> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> postrm script for contrast-finder-webapp" -case "$1" in - purge) - echo "----> nothing to do for \`$1'" - ;; - - remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; - -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat7/control/preinst b/webapp/src/deb/tomcat7/control/preinst deleted file mode 100644 index 1ee5a95c..00000000 --- a/webapp/src/deb/tomcat7/control/preinst +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# preinst script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `install' -# * `install' -# * `upgrade' -# * `abort-upgrade' -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> preinst script for contrast-finder-webapp" -case "$1" in - install|upgrade) - echo "----> nothing to do for \`$1'" - ;; - - abort-upgrade) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "preinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat7/control/prerm b/webapp/src/deb/tomcat7/control/prerm deleted file mode 100644 index 05773f23..00000000 --- a/webapp/src/deb/tomcat7/control/prerm +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# prerm script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `upgrade' -# * `failed-upgrade' -# * `remove' `in-favour' -# * `deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> prerm script for contrast-finder-webapp" -case "$1" in - remove|upgrade|deconfigure) - echo "----> nothing to do for \`$1'" - ;; - - failed-upgrade) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "prerm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat7/copyright b/webapp/src/deb/tomcat7/copyright deleted file mode 100644 index 38687e5a..00000000 --- a/webapp/src/deb/tomcat7/copyright +++ /dev/null @@ -1,18 +0,0 @@ -This package was contrast-finder-webapp by package-debian@contrast-finder.org - -It was downloaded from https://github.com/Asqatasun/Contrast-Finder/ - -Copyright (c) 2008-2018 Contrast-Finder.org - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . diff --git a/webapp/src/deb/tomcat8/control/control b/webapp/src/deb/tomcat8/control/control deleted file mode 100644 index 819b1d4d..00000000 --- a/webapp/src/deb/tomcat8/control/control +++ /dev/null @@ -1,21 +0,0 @@ -Source: [[name]] -Package: [[name]] -Version: [[version]] -Section: web -Priority: optional -Maintainer: contrast-finder.org -Architecture: all -Build-Depends: debhelper (>=9) -Depends: tomcat8 -Standards-Version: 3.9.6 -Homepage: [[url]] -Vcs-Git: git://github.com:Asqatasun/Contrast-Finder.git -Vcs-Browser: https://github.com/Asqatasun/Contrast-Finder -Description: [[description]] - Contrast-Finder is a tool which computes the contrast between two colors. - . - (background, foreground) and checks if the contrast is valid. When the - . - contrast is not valid, the main target is to suggest some correct colors - . - contrasts. diff --git a/webapp/src/deb/tomcat8/control/postinst b/webapp/src/deb/tomcat8/control/postinst deleted file mode 100644 index cf4231d1..00000000 --- a/webapp/src/deb/tomcat8/control/postinst +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# postinst script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> postinst script for contrast-finder-webapp" -case "$1" in - - configure) - echo "----> nothing to do for \`$1'" - echo "" - echo "default URL: " - echo "http://localhost:8080/contrast-finder/" - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; - -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat8/control/postrm b/webapp/src/deb/tomcat8/control/postrm deleted file mode 100644 index e8748a2d..00000000 --- a/webapp/src/deb/tomcat8/control/postrm +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# postrm script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `purge' -# * `upgrade' -# * `failed-upgrade' -# * `abort-install' -# * `abort-install' -# * `abort-upgrade' -# * `disappear' overwrit>r> -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> postrm script for contrast-finder-webapp" -case "$1" in - purge) - echo "----> nothing to do for \`$1'" - ;; - - remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; - -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat8/control/preinst b/webapp/src/deb/tomcat8/control/preinst deleted file mode 100644 index 1ee5a95c..00000000 --- a/webapp/src/deb/tomcat8/control/preinst +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# preinst script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `install' -# * `install' -# * `upgrade' -# * `abort-upgrade' -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> preinst script for contrast-finder-webapp" -case "$1" in - install|upgrade) - echo "----> nothing to do for \`$1'" - ;; - - abort-upgrade) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "preinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat8/control/prerm b/webapp/src/deb/tomcat8/control/prerm deleted file mode 100644 index 05773f23..00000000 --- a/webapp/src/deb/tomcat8/control/prerm +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# prerm script for contrast-finder-webapp -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `remove' -# * `upgrade' -# * `failed-upgrade' -# * `remove' `in-favour' -# * `deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -echo "-----------------------------------" -echo "----> prerm script for contrast-finder-webapp" -case "$1" in - remove|upgrade|deconfigure) - echo "----> nothing to do for \`$1'" - ;; - - failed-upgrade) - echo "----> nothing to do for \`$1'" - ;; - - *) - echo "prerm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac -echo "-----------------------------------" - - -exit 0 diff --git a/webapp/src/deb/tomcat8/copyright b/webapp/src/deb/tomcat8/copyright deleted file mode 100644 index 38687e5a..00000000 --- a/webapp/src/deb/tomcat8/copyright +++ /dev/null @@ -1,18 +0,0 @@ -This package was contrast-finder-webapp by package-debian@contrast-finder.org - -It was downloaded from https://github.com/Asqatasun/Contrast-Finder/ - -Copyright (c) 2008-2018 Contrast-Finder.org - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . From 88af9b4207a0ae905c94044f1e6a14f80b0af134 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 1 Jul 2018 22:28:19 +0200 Subject: [PATCH 07/23] #166 - Disabled maven-site-plugin for debian_package --- dist./debian_package/pom.xml | 11 ++++++++++- dist./pom.xml | 29 +++++++++++++++++++++++++++++ pom.xml | 24 +++++++++++++++++++++++- 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 dist./pom.xml diff --git a/dist./debian_package/pom.xml b/dist./debian_package/pom.xml index d9697742..a2ef80e5 100644 --- a/dist./debian_package/pom.xml +++ b/dist./debian_package/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.asqatasun - contrast-finder-dist + dist 0.9.2-SNAPSHOT contrast-finder-dist_debian-packages @@ -35,6 +35,15 @@ contrast-finder-webapp_${project.version} + + org.apache.maven.plugins + maven-site-plugin + ${maven-site-plugin.version} + + true + + + diff --git a/dist./pom.xml b/dist./pom.xml new file mode 100644 index 00000000..9ae9e066 --- /dev/null +++ b/dist./pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + org.asqatasun + contrast-finder + 0.9.2-SNAPSHOT + + dist + 0.9.2-SNAPSHOT + pom + contrast-finder-dist + + + GNU Affero General Public License v3.0 + https://www.gnu.org/licenses/agpl-3.0.txt + manual + + + https://contrast-finder.org + + Asqatasun.org + https://asqatasun.org + + + + debian_package + + diff --git a/pom.xml b/pom.xml index 22842113..afb76c66 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ documentation engine webapp - dist./debian_package + dist. @@ -82,6 +82,7 @@ 2.1.0 + 3.7.1 3.7.0 3.1.0 3.2.2 @@ -296,6 +297,13 @@ Constrast-Finder.org ]]> + + + todo + a + To do something: + + @@ -437,6 +445,13 @@ http://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_reporting_Tag_VS_build_Tag --> + + + org.apache.maven.plugins + maven-site-plugin + ${maven-site-plugin.version} + + org.apache.maven.plugins maven-project-info-reports-plugin @@ -527,6 +542,13 @@ Contrast-Finder.org ]]> + + + todo + a + To do something: + + From 650985237d908afb137ca42a868b9ee827cb5407 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 1 Jul 2018 23:13:53 +0200 Subject: [PATCH 08/23] Upgraded dependencies - Fixed #167 / Fixed #168 / Fixe d #169 / Fixed #170 --- CHANGELOG.md | 7 ++++++- pom.xml | 8 ++++---- webapp/pom.xml | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9bbec9e..24188b02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ none ### Outdated dependencies - [#163 - Upgraded SpringFramework (4.3.18 instead of 4.3.17)](https://github.com/Asqatasun/Contrast-Finder/issues/163) - [#162 - Upgraded spring--security (4.2.7 instead of 4.2.6)](https://github.com/Asqatasun/Contrast-Finder/issues/162) +- [#167 - Upgraded maven-javadoc-plugin (3.0.1 instead of 3.0.0)](https://github.com/Asqatasun/Contrast-Finder/issues/167) +- [#168 - Upgraded maven-surefire-plugin (2.22.0 instead of 2.21.0)](https://github.com/Asqatasun/Contrast-Finder/issues/168) +- [#169 - Upgraded maven-dependency-plugin (3.1.1 instead of 3.1.0)](https://github.com/Asqatasun/Contrast-Finder/issues/169) +- [#170 - Upgraded owasp:dependency-check (3.2.1 instead of 3.1.2)](https://github.com/Asqatasun/Contrast-Finder/issues/170) ### Bug - [#166 - Used an independent subproject for jdeb (debian packages creation)](https://github.com/Asqatasun/Contrast-Finder/issues/166) @@ -31,7 +35,8 @@ none none ### Task -none +- [#171 - Webapp: added humans.txt file](https://github.com/Asqatasun/Contrast-Finder/issues/171) + Contrast-Finder 0.9.1, 2018-05-13 diff --git a/pom.xml b/pom.xml index afb76c66..37576a09 100644 --- a/pom.xml +++ b/pom.xml @@ -82,18 +82,18 @@ 2.1.0 - 3.7.1 3.7.0 3.1.0 3.2.2 - 2.21.0 + 2.22.0 2.9 - 3.0.0 + 3.7.1 + 3.0.1 2.5 3.0.0 3.0.0 1.4 - 3.1.2 + 3.2.1 0.8.1 diff --git a/webapp/pom.xml b/webapp/pom.xml index c8a1eb73..d020b5c8 100644 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -39,7 +39,7 @@ not valid for Tomcat-7 with Jdk-7 --> - 3.1.0 + 3.1.1 2.0.1 1.5.1 From f7a6a32541eb8afcff2a6933adb4e8b6eed13eb8 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Fri, 24 Aug 2018 02:15:17 +0200 Subject: [PATCH 09/23] Doc > Contributor > QA tools - Added "Image Analysis Tool" --- documentation/en/30_Contributor_doc/QA-tools.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/en/30_Contributor_doc/QA-tools.md b/documentation/en/30_Contributor_doc/QA-tools.md index 3207d4ac..c6d25076 100644 --- a/documentation/en/30_Contributor_doc/QA-tools.md +++ b/documentation/en/30_Contributor_doc/QA-tools.md @@ -29,6 +29,7 @@ * Web perf * [Yellowlab](http://yellowlab.tools) * [Webpagetest](https://www.webpagetest.org/) + * [Image Analysis Tool (by Cloudinary)](https://webspeedtest.cloudinary.com/) * [Test a single asset from 14 locations](https://tools.keycdn.com/performance?url=https://app.contrast-finder.org) `*` * HTTP/2 * [Http2.pro](https://http2.pro/check?url=https://app.contrast-finder.org) `*` (check server HTTP/2, ALPN, and Server-push support) From d498fbae8577c800668b487043fa51bf48a2fe19 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Fri, 24 Aug 2018 03:22:17 +0200 Subject: [PATCH 10/23] fixed #172 - All maven plugins have their version specified (except maven-assembly-plugin) maven-clean-plugin maven-compiler-plugin maven-deploy-plugin maven-install-plugin maven-jar-plugin maven-resources-plugin maven-surefire-plugin --- CHANGELOG.md | 1 + pom.xml | 346 +++++++++++++++++++++++++++---------------------- webapp/pom.xml | 1 - 3 files changed, 194 insertions(+), 154 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24188b02..0c87020a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ none ### Improvement - [#165 - Added some information to the MANIFEST.MF files : commit, buid timestamp](https://github.com/Asqatasun/Contrast-Finder/issues/165) +- [#172 - All maven plugins have their version specified](https://github.com/Asqatasun/Contrast-Finder/issues/172) ### Refactoring none diff --git a/pom.xml b/pom.xml index 37576a09..a610e7c6 100644 --- a/pom.xml +++ b/pom.xml @@ -82,6 +82,12 @@ 2.1.0 + 3.1.0 + 2.8.2 + 2.5.2 + 3.1.0 + 3.7.1 + 3.1 3.7.0 3.1.0 3.2.2 @@ -102,171 +108,205 @@ the minimum version of Maven for maven plugins ............ mvn versions:display-plugin-updates --> - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.7 - 1.7 - UTF-8 - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - false - - - - maven-assembly-plugin - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + - - - ${project.name} - ${project.organization.name} - - - - - Build - - ${project.version} - ${timestamp} - ${current.date} - ${project.version}.${buildNumber}.${timestamp} - - - - Git - - ${scmBranch} - ${commitUrlPrefix}${buildNumber} - ${buildNumber} - - - - Build-Information - - ${maven.version} - ${java.version} - ${os.name} - ${os.arch} - - - - - - - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - - + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven-war-plugin.version} + + - - - ${project.name} - ${project.organization.name} - - - - - Build - - ${project.version} - ${timestamp} - ${current.date} - ${project.version}.${buildNumber}.${timestamp} - - - - Git - - ${scmBranch} - ${commitUrlPrefix}${buildNumber} - ${buildNumber} - - - - Build-Information - - ${maven.version} - ${java.version} - ${os.name} - ${os.arch} - - - - - - - + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + - org.codehaus.mojo - build-helper-maven-plugin - ${build-helper-maven-plugin.version} - - - timestamp-property - - timestamp-property - - validate - - current.date - yyyy-MM-dd'T'HH:mm:ssZ - UTC - en,US - - - - - - org.codehaus.mojo - buildnumber-maven-plugin - ${buildnumber-maven-plugin.version} - - - 7 - no-commit-ID - - - - - - create - - - - + org.codehaus.mojo + buildnumber-maven-plugin + ${buildnumber-maven-plugin.version} + + + 7 + no-commit-ID + + + + + + create + + + + + + + 1.4 - 4.1 + 4.2 1.2 - 3.7 + 3.8 4.12 1.2.3 2.1.0 @@ -88,19 +88,19 @@ 3.1.0 3.7.1 3.1 - 3.7.0 + 3.8.0 3.1.0 3.2.2 2.22.0 - 2.9 + 3.0.0 3.7.1 3.0.1 2.5 3.0.0 3.0.0 1.4 - 3.2.1 - 0.8.1 + 3.3.1 + 0.8.2 3.1 From 38f9aeed7e3a938d4710cae1269fb94bf11ef61d Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Fri, 24 Aug 2018 04:55:55 +0200 Subject: [PATCH 12/23] Revert "fixed #172 - All maven plugins have their version specified (except maven-assembly-plugin)" This reverts commit d498fbae8577c800668b487043fa51bf48a2fe19. --- pom.xml | 340 ++++++++++++++++++++++--------------------------- webapp/pom.xml | 1 + 2 files changed, 154 insertions(+), 187 deletions(-) diff --git a/pom.xml b/pom.xml index 585912b8..62f26a7a 100644 --- a/pom.xml +++ b/pom.xml @@ -108,205 +108,171 @@ the minimum version of Maven for maven plugins ............ mvn versions:display-plugin-updates --> - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.7 - 1.7 - UTF-8 - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - false - - - - org.apache.maven.plugins - maven-clean-plugin - ${maven-clean-plugin.version} - - - org.apache.maven.plugins - maven-deploy-plugin - ${maven-deploy-plugin.version} - - - org.apache.maven.plugins - maven-install-plugin - ${maven-install-plugin.version} - - - org.apache.maven.plugins - maven-resources-plugin - ${maven-resources-plugin.version} - - - org.apache.maven.plugins - maven-site-plugin - ${maven-site-plugin.version} - - - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + - - - ${project.name} - ${project.organization.name} - - - - - Build - - ${project.version} - ${timestamp} - ${current.date} - ${project.version}.${buildNumber}.${timestamp} - - - - Git - - ${scmBranch} - ${commitUrlPrefix}${buildNumber} - ${buildNumber} - - - - Build-Information - - ${maven.version} - ${java.version} - ${os.name} - ${os.arch} - - - - - - - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - - + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven-war-plugin.version} + + - - - ${project.name} - ${project.organization.name} - - - - - Build - - ${project.version} - ${timestamp} - ${current.date} - ${project.version}.${buildNumber}.${timestamp} - - - - Git - - ${scmBranch} - ${commitUrlPrefix}${buildNumber} - ${buildNumber} - - - - Build-Information - - ${maven.version} - ${java.version} - ${os.name} - ${os.arch} - - - - - - - + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + - org.codehaus.mojo - build-helper-maven-plugin - ${build-helper-maven-plugin.version} - - - timestamp-property - - timestamp-property - - validate - - current.date - yyyy-MM-dd'T'HH:mm:ssZ - UTC - en,US - - - - - - org.codehaus.mojo - buildnumber-maven-plugin - ${buildnumber-maven-plugin.version} - - - 7 - no-commit-ID - - - - - - create - - - - - - - + org.codehaus.mojo + buildnumber-maven-plugin + ${buildnumber-maven-plugin.version} + + + 7 + no-commit-ID + + + + + + create + + + + - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 1.7 - 1.7 - UTF-8 - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - false - - - - maven-assembly-plugin - - - - org.apache.maven.plugins - maven-jar-plugin - ${maven-jar-plugin.version} - - + + + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + - - - ${project.name} - ${project.organization.name} - - - - - Build - - ${project.version} - ${timestamp} - ${current.date} - ${project.version}.${buildNumber}.${timestamp} - - - - Git - - ${scmBranch} - ${commitUrlPrefix}${buildNumber} - ${buildNumber} - - - - Build-Information - - ${maven.version} - ${java.version} - ${os.name} - ${os.arch} - - - - - - - - org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - - + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + + org.apache.maven.plugins + maven-war-plugin + ${maven-war-plugin.version} + + - - - ${project.name} - ${project.organization.name} - - - - - Build - - ${project.version} - ${timestamp} - ${current.date} - ${project.version}.${buildNumber}.${timestamp} - - - - Git - - ${scmBranch} - ${commitUrlPrefix}${buildNumber} - ${buildNumber} - - - - Build-Information - - ${maven.version} - ${java.version} - ${os.name} - ${os.arch} - - - - - - - + + ${project.name} + ${project.organization.name} + + + + + Build + + ${project.version} + ${timestamp} + ${current.date} + ${project.version}.${buildNumber}.${timestamp} + + + + Git + + ${scmBranch} + ${commitUrlPrefix}${buildNumber} + ${buildNumber} + + + + Build-Information + + ${maven.version} + ${java.version} + ${os.name} + ${os.arch} + + + + + + + - org.codehaus.mojo - build-helper-maven-plugin - ${build-helper-maven-plugin.version} - - - timestamp-property - - timestamp-property - - validate - - current.date - yyyy-MM-dd'T'HH:mm:ssZ - UTC - en,US - - - - - - org.codehaus.mojo - buildnumber-maven-plugin - ${buildnumber-maven-plugin.version} - - - 7 - no-commit-ID - - - - - - create - - - - + org.codehaus.mojo + buildnumber-maven-plugin + ${buildnumber-maven-plugin.version} + + + 7 + no-commit-ID + + + + + + create + + + + + + + - org.codehaus.mojo - build-helper-maven-plugin - ${build-helper-maven-plugin.version} - - - timestamp-property - - timestamp-property - - validate - - current.date - yyyy-MM-dd'T'HH:mm:ssZ - UTC - en,US - - - - - - org.codehaus.mojo - buildnumber-maven-plugin - ${buildnumber-maven-plugin.version} - - - 7 - no-commit-ID - - - - - - create - - - - - - - - + org.codehaus.mojo + buildnumber-maven-plugin + ${buildnumber-maven-plugin.version} + + + 7 + no-commit-ID + + + + + + create + + + + @todo check if offset* is valid for Color (ex: WHITE 255,255,255 with +10)"); System.out.println("------> @todo check if color is not null"); @@ -554,7 +554,7 @@ public void testColorFromRgbStrPinkShort() { * String hex2Rgb(Color color) */ @Test - public void testHex2Rgb_color() { + public void testHex2RgbColor() { System.out.println("---- Hex2Rgb_color --------------------"); Color colorA; String expResult; @@ -584,8 +584,8 @@ public void testHex2Rgb_color() { * Color hex2Rgb(String colorStr) */ @Test - public void testHex2Rgb_str() { - System.out.println("---- Hex2Rgb_str --------------------"); + public void testHex2RgbStr() { + System.out.println("---- Hex2RgbStr --------------------"); String colorStr = "FFFFFF"; System.out.println("hex2Rgb string ["+ colorStr +"]"); Color expResult = Color.WHITE; @@ -613,8 +613,8 @@ public void testHex2Rgb_str() { System.out.println("--------------------------"); } - public void testHex2Rgb_strBadValue() { - System.out.println("---- Hex2Rgb_strBadValue --------------------"); + public void testHex2RgbStrBadValue() { + System.out.println("---- Hex2RgbStrBadValue --------------------"); String colorStr = ""; Color result = null; @@ -794,7 +794,7 @@ public void testColorFromStr() { } @Test - public void testColorFromStr_badValue() { + public void testColorFromStrBadValue() { System.out.println("------------ ColorFromStr BAD value ----------------"); String colorStr; Color result; @@ -880,7 +880,7 @@ public void testColorFromColorName() { } @Test - public void testColorFromColorName_badValue() { + public void testColorFromColorNameBadValue() { System.out.println("------------ colorFromColorName BAD value----------------"); String colorStr; Color result; diff --git a/webapp/src/main/webapp/public/js/36-sample.color.js b/webapp/src/main/webapp/public/js/36-sample.color.js index f2b3e64b..3f69e1ef 100644 --- a/webapp/src/main/webapp/public/js/36-sample.color.js +++ b/webapp/src/main/webapp/public/js/36-sample.color.js @@ -33,13 +33,16 @@ var colorType = ""; // rgb, hex, name // Compute the contrast ratio functions /********************************************************************/ -function getContrastRatio(fgColor, bgColor) { - var fgLuminosity = getLuminosity(fgColor); - var bgLuminosity = getLuminosity(bgColor); - if (fgLuminosity > bgLuminosity) { - return computeContrast(fgLuminosity, bgLuminosity); +function computeContrast(lighter, darker) { + return ((lighter + 0.05) / (darker + 0.05)); +} + +function getComposantValue(composant) { + var rsgb = composant / 255; + if (rsgb <= 0.03928) { + return rsgb / 12.92; } else { - return computeContrast(bgLuminosity, fgLuminosity); + return Math.pow(((rsgb + 0.055) / 1.055), 2.4); } } @@ -55,18 +58,16 @@ function getLuminosity(color) { return luminosity; } -function getComposantValue(composant) { - var rsgb = composant / 255; - if (rsgb <= 0.03928) { - return rsgb / 12.92; +function getContrastRatio(fgColor, bgColor) { + var fgLuminosity = getLuminosity(fgColor); + var bgLuminosity = getLuminosity(bgColor); + if (fgLuminosity > bgLuminosity) { + return computeContrast(fgLuminosity, bgLuminosity); } else { - return Math.pow(((rsgb + 0.055) / 1.055), 2.4); + return computeContrast(bgLuminosity, fgLuminosity); } } -function computeContrast(lighter, darker) { - return ((lighter + 0.05) / (darker + 0.05)); -} /********************************************************************/ @@ -89,9 +90,9 @@ function hexToRgb(str) { } var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(str); // ex: #FFFFFF, #CCC - return 'rgb(' + parseInt(result[1], 16) - + ',' + parseInt(result[2], 16) - + ',' + parseInt(result[3], 16) + ')'; + return "rgb(" + parseInt(result[1], 16) + + "," + parseInt(result[2], 16) + + "," + parseInt(result[3], 16) + ")"; /* return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) @@ -105,8 +106,8 @@ function hexToRgb(str) { * @returns {string} */ function rgbToHex(str){ - a = str.replace(/[^\d,]/g,"").split(","); - return "#"+((1<<24)+(+a[0]<<16)+(+a[1]<<8)+ +a[2]).toString(16).slice(1) + var a = str.replace(/[^\d,]/g,"").split(","); + return "#"+((1<<24)+(+a[0]<<16)+(+a[1]<<8)+ +a[2]).toString(16).slice(1); } /** @@ -115,13 +116,13 @@ function rgbToHex(str){ * @param colorStr color name * @returns {string} example: #FFFFFF */ -function ColorNameToHex(str) { +function colorNameToHex(str) { str = str.trim().toLowerCase(); - var e = document.createElement('div'); + var e = document.createElement("div"); e.style.color = str; var colors = window.getComputedStyle( document.body.appendChild(e) ).color.match(/\d+/g).map(function(e){ return parseInt(e,10); }); document.body.removeChild(e); - return (colors.length >= 3) ? '#' + (((1 << 24) + (colors[0] << 16) + (colors[1] << 8) + colors[2]).toString(16).substr(1)) : false; + return (colors.length >= 3) ? "#" + (((1 << 24) + (colors[0] << 16) + (colors[1] << 8) + colors[2]).toString(16).substr(1)) : false; } function isValidateColorName(str) { @@ -203,7 +204,7 @@ function isValidateColor(str) { if( color !== false) { colorType = "hex"; } - else  { + else { color = isValidateColorName(str); // FALSE or color name if( color !== false) { colorType = "name"; @@ -237,7 +238,7 @@ function checkConstrast(){ colorFg = hexToRgb(colorFg); } else if(colorType === "name"){ - colorFg = hexToRgb(ColorNameToHex(colorFg)); + colorFg = hexToRgb(colorNameToHex(colorFg)); } colorBg = isValidateColor(colorBg.toString()); @@ -246,13 +247,13 @@ function checkConstrast(){ colorBg = hexToRgb(colorBg); } else if(colorType === "name"){ - colorBg = hexToRgb(ColorNameToHex(colorBg)); + colorBg = hexToRgb(colorNameToHex(colorBg)); } var ratio = getContrastRatio(colorBg,colorFg); ratio = precisionRound(ratio, 2); - var txtResult = 'Passed'; + var txtResult = "Passed"; if(ratio < minRatio ){ - txtResult = 'Failed'; + txtResult = "Failed"; document.getElementById("isValidRatio_Passed").classList.add("hidden"); document.getElementById("isValidRatio_Failed").classList.remove("hidden"); } @@ -262,9 +263,9 @@ function checkConstrast(){ } checkRatioUI.innerHTML = ratio; document.getElementById("currentRatio").classList.remove("hidden"); - console.log(txtResult + ': current ratio ' + ratio - + ' vs minimum ratio ' + minRatio - + ' -- '+ colorBg + ' / ' + colorFg ); + console.log(txtResult + ": current ratio " + ratio + + " vs minimum ratio " + minRatio + + " -- "+ colorBg + " / " + colorFg ); return true; } } @@ -288,7 +289,7 @@ function changeColorSample(colorPrefix, showError) { colorHEX = rgbToHex(color); } else if(colorType === "name"){ - colorHEX = ColorNameToHex(color); + colorHEX = colorNameToHex(color); } var colorPicker = document.getElementById(colorPrefix + "_imputColorPicker"); colorPicker.value = colorHEX; From 5bb559140adeea6c18ed5e433cb275744e956f14 Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 26 Aug 2018 09:49:49 +0200 Subject: [PATCH 20/23] removed unused js file (van11y accessible modal) --- .../32-van11y-accessible-modal-window-aria.js | 359 ------------------ 1 file changed, 359 deletions(-) delete mode 100644 webapp/src/main/webapp/public/js/32-van11y-accessible-modal-window-aria.js diff --git a/webapp/src/main/webapp/public/js/32-van11y-accessible-modal-window-aria.js b/webapp/src/main/webapp/public/js/32-van11y-accessible-modal-window-aria.js deleted file mode 100644 index 1c7af13c..00000000 --- a/webapp/src/main/webapp/public/js/32-van11y-accessible-modal-window-aria.js +++ /dev/null @@ -1,359 +0,0 @@ -/* - * ES2015 accessible modal window system, using ARIA - * Website: https://van11y.net/accessible-modal/ - * License MIT: https://github.com/nico3333fr/van11y-accessible-modal-aria/blob/master/LICENSE - */ -'use strict'; - -(function (doc) { - - 'use strict'; - - var MODAL_JS_CLASS = 'js-modal'; - var MODAL_ID_PREFIX = 'label_modal_'; - var MODAL_CLASS_SUFFIX = 'modal'; - var MODAL_DATA_BACKGROUND_ATTR = 'data-modal-background-click'; - var MODAL_PREFIX_CLASS_ATTR = 'data-modal-prefix-class'; - var MODAL_TEXT_ATTR = 'data-modal-text'; - var MODAL_CONTENT_ID_ATTR = 'data-modal-content-id'; - var MODAL_TITLE_ATTR = 'data-modal-title'; - var MODAL_CLOSE_TEXT_ATTR = 'data-modal-close-text'; - var MODAL_CLOSE_TITLE_ATTR = 'data-modal-close-title'; - var MODAL_CLOSE_IMG_ATTR = 'data-modal-close-img'; - var MODAL_ROLE = 'dialog'; - - var MODAL_BUTTON_CLASS_SUFFIX = 'modal-close'; - var MODAL_BUTTON_JS_ID = 'js-modal-close'; - var MODAL_BUTTON_JS_CLASS = 'js-modal-close'; - var MODAL_BUTTON_CONTENT_BACK_ID = 'data-content-back-id'; - var MODAL_BUTTON_FOCUS_BACK_ID = 'data-focus-back'; - - var MODAL_CONTENT_CLASS_SUFFIX = 'modal__content'; - var MODAL_CONTENT_JS_ID = 'js-modal-content'; - - var MODAL_CLOSE_IMG_CLASS_SUFFIX = 'modal__closeimg'; - var MODAL_CLOSE_TEXT_CLASS_SUFFIX = 'modal-close__text'; - - var MODAL_TITLE_ID = 'modal-title'; - var MODAL_TITLE_CLASS_SUFFIX = 'modal-title'; - - var FOCUSABLE_ELEMENTS_STRING = "a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]"; - var WRAPPER_PAGE_JS = 'js-modal-page'; - - var MODAL_JS_ID = 'js-modal'; - - var MODAL_OVERLAY_ID = 'js-modal-overlay'; - var MODAL_OVERLAY_CLASS_SUFFIX = 'modal-overlay'; - var MODAL_OVERLAY_TXT = 'Close modal'; - var MODAL_OVERLAY_BG_ENABLED_ATTR = 'data-background-click'; - - var VISUALLY_HIDDEN_CLASS = 'invisible'; - var NO_SCROLL_CLASS = 'no-scroll'; - - var ATTR_ROLE = 'role'; - var ATTR_OPEN = 'open'; - var ATTR_LABELLEDBY = 'aria-labelledby'; - var ATTR_HIDDEN = 'aria-hidden'; - var ATTR_MODAL = 'aria-modal="true"'; - var ATTR_HASPOPUP = 'aria-haspopup'; - var ATTR_HASPOPUP_VALUE = 'dialog'; - - var findById = function findById(id) { - return doc.getElementById(id); - }; - - var addClass = function addClass(el, className) { - if (el.classList) { - el.classList.add(className); // IE 10+ - } else { - el.className += ' ' + className; // IE 8+ - } - }; - - var removeClass = function removeClass(el, className) { - if (el.classList) { - el.classList.remove(className); // IE 10+ - } else { - el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); // IE 8+ - } - }; - - var hasClass = function hasClass(el, className) { - if (el.classList) { - return el.classList.contains(className); // IE 10+ - } else { - return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className); // IE 8+ ? - } - }; - /*const wrapInner = (el, wrapper_el) => { // doesn't work on IE/Edge, f… - while (el.firstChild) - wrapper_el.append(el.firstChild); - el.append(wrapper_el); - }*/ - function wrapInner(parent, wrapper) { - if (typeof wrapper === "string") wrapper = document.createElement(wrapper); - - parent.appendChild(wrapper); - - while (parent.firstChild !== wrapper) wrapper.appendChild(parent.firstChild); - } - - function remove(el) { - /* node.remove() is too modern for IE≤11 */ - el.parentNode.removeChild(el); - } - - /* gets an element el, search if it is child of parent class, returns id of the parent */ - var searchParent = function searchParent(el, parentClass) { - var found = false; - var parentElement = el.parentNode; - while (parentElement && found === false) { - if (hasClass(parentElement, parentClass) === true) { - found = true; - } else { - parentElement = parentElement.parentNode; - } - } - if (found === true) { - return parentElement.getAttribute('id'); - } else { - return ''; - } - }; - - /** - * Create the template for an overlay - * @param {Object} config - * @return {String} - */ - var createOverlay = function createOverlay(config) { - - var id = MODAL_OVERLAY_ID; - var overlayText = config.text || MODAL_OVERLAY_TXT; - var overlayClass = config.prefixClass + MODAL_OVERLAY_CLASS_SUFFIX; - var overlayBackgroundEnabled = config.backgroundEnabled === 'disabled' ? 'disabled' : 'enabled'; - - return '\n ' + overlayText + '\n '; - }; - - /** - * Create the template for a modal - * @param {Object} config - * @return {String} - */ - var createModal = function createModal(config) { - - var id = MODAL_JS_ID; - var modalClassName = config.modalPrefixClass + MODAL_CLASS_SUFFIX; - var buttonCloseClassName = config.modalPrefixClass + MODAL_BUTTON_CLASS_SUFFIX; - var buttonCloseInner = config.modalCloseImgPath ? '' : '\n ' + config.modalCloseText + '\n '; - var contentClassName = config.modalPrefixClass + MODAL_CONTENT_CLASS_SUFFIX; - var titleClassName = config.modalPrefixClass + MODAL_TITLE_CLASS_SUFFIX; - var title = config.modalTitle !== '' ? '\n ' + config.modalTitle + '\n ' : ''; - var button_close = '\n ' + buttonCloseInner + '\n '; - var content = config.modalText; - - // If there is no content but an id we try to fetch content id - if (content === '' && config.modalContentId) { - var contentFromId = findById(config.modalContentId); - if (contentFromId) { - content = '\n ' + contentFromId.innerHTML + '\n \n
\n ' + button_close + '\n
\n ' + title + '\n ' + content + '\n
\n
\n '; - }; - - var closeModal = function closeModal(config) { - - remove(config.modal); - remove(config.overlay); - - if (config.contentBackId !== '') { - var contentBack = findById(config.contentBackId); - if (contentBack) { - contentBack.innerHTML = config.modalContent; - } - } - - if (config.modalFocusBackId) { - var contentFocus = findById(config.modalFocusBackId); - if (contentFocus) { - contentFocus.focus(); - } - } - }; - - // Find all modals - var $listModals = function $listModals() { - return [].slice.call(doc.querySelectorAll('.' + MODAL_JS_CLASS)); - }; - - var onLoad = function onLoad() { - - $listModals().forEach(function (modal_node, index) { - - var iLisible = index + 1; - var wrapperBody = findById(WRAPPER_PAGE_JS); - var body = doc.querySelector('body'); - - modal_node.setAttribute('id', MODAL_ID_PREFIX + iLisible); - modal_node.setAttribute(ATTR_HASPOPUP, ATTR_HASPOPUP_VALUE); - - if (wrapperBody === null || wrapperBody.length === 0) { - var wrapper = doc.createElement('DIV'); - wrapper.setAttribute('id', WRAPPER_PAGE_JS); - wrapInner(body, wrapper); - } - }); - - // click on - ['click', 'keydown'].forEach(function (eventName) { - - doc.body.addEventListener(eventName, function (e) { - - // click on link modal - var parentModalLauncher = searchParent(e.target, MODAL_JS_CLASS); - if ((hasClass(e.target, MODAL_JS_CLASS) === true || parentModalLauncher !== '') && eventName === 'click') { - var body = doc.querySelector('body'); - var modalLauncher = parentModalLauncher !== '' ? findById(parentModalLauncher) : e.target; - var modalPrefixClass = modalLauncher.hasAttribute(MODAL_PREFIX_CLASS_ATTR) === true ? modalLauncher.getAttribute(MODAL_PREFIX_CLASS_ATTR) + '-' : ''; - var modalText = modalLauncher.hasAttribute(MODAL_TEXT_ATTR) === true ? modalLauncher.getAttribute(MODAL_TEXT_ATTR) : ''; - var modalContentId = modalLauncher.hasAttribute(MODAL_CONTENT_ID_ATTR) === true ? modalLauncher.getAttribute(MODAL_CONTENT_ID_ATTR) : ''; - var modalTitle = modalLauncher.hasAttribute(MODAL_TITLE_ATTR) === true ? modalLauncher.getAttribute(MODAL_TITLE_ATTR) : ''; - var modalCloseText = modalLauncher.hasAttribute(MODAL_CLOSE_TEXT_ATTR) === true ? modalLauncher.getAttribute(MODAL_CLOSE_TEXT_ATTR) : MODAL_OVERLAY_TXT; - var modalCloseTitle = modalLauncher.hasAttribute(MODAL_CLOSE_TITLE_ATTR) === true ? modalLauncher.getAttribute(MODAL_CLOSE_TITLE_ATTR) : modalCloseText; - var modalCloseImgPath = modalLauncher.hasAttribute(MODAL_CLOSE_IMG_ATTR) === true ? modalLauncher.getAttribute(MODAL_CLOSE_IMG_ATTR) : ''; - var backgroundEnabled = modalLauncher.hasAttribute(MODAL_DATA_BACKGROUND_ATTR) === true ? modalLauncher.getAttribute(MODAL_DATA_BACKGROUND_ATTR) : ''; - - var wrapperBody = findById(WRAPPER_PAGE_JS); - - // insert overlay - body.insertAdjacentHTML('beforeEnd', createOverlay({ - text: modalCloseTitle, - backgroundEnabled: backgroundEnabled, - prefixClass: modalPrefixClass - })); - - // insert modal - body.insertAdjacentHTML('beforeEnd', createModal({ - modalText: modalText, - modalPrefixClass: modalPrefixClass, - backgroundEnabled: modalContentId, - modalTitle: modalTitle, - modalCloseText: modalCloseText, - modalCloseTitle: modalCloseTitle, - modalCloseImgPath: modalCloseImgPath, - modalContentId: modalContentId, - modalFocusBackId: modalLauncher.getAttribute('id') - })); - - // hide page - wrapperBody.setAttribute(ATTR_HIDDEN, 'true'); - - // add class noscroll to body - addClass(body, NO_SCROLL_CLASS); - - // give focus to close button - var closeButton = findById(MODAL_BUTTON_JS_ID); - closeButton.focus(); - - e.preventDefault(); - } - - // click on close button or on overlay not blocked - var parentButton = searchParent(e.target, MODAL_BUTTON_JS_CLASS); - if ((e.target.getAttribute('id') === MODAL_BUTTON_JS_ID || parentButton !== '' || e.target.getAttribute('id') === MODAL_OVERLAY_ID) && eventName === 'click') { - var body = doc.querySelector('body'); - var wrapperBody = findById(WRAPPER_PAGE_JS); - var modal = findById(MODAL_JS_ID); - var modalContent = findById(MODAL_CONTENT_JS_ID) ? findById(MODAL_CONTENT_JS_ID).innerHTML : ''; - var overlay = findById(MODAL_OVERLAY_ID); - var modalButtonClose = findById(MODAL_BUTTON_JS_ID); - var modalFocusBackId = modalButtonClose.getAttribute(MODAL_BUTTON_FOCUS_BACK_ID); - var contentBackId = modalButtonClose.getAttribute(MODAL_BUTTON_CONTENT_BACK_ID); - var backgroundEnabled = overlay.getAttribute(MODAL_OVERLAY_BG_ENABLED_ATTR); - - if (!(e.target.getAttribute('id') === MODAL_OVERLAY_ID && backgroundEnabled === 'disabled')) { - - closeModal({ - modal: modal, - modalContent: modalContent, - overlay: overlay, - modalFocusBackId: modalFocusBackId, - contentBackId: contentBackId, - backgroundEnabled: backgroundEnabled, - fromId: e.target.getAttribute('id') - }); - - // show back page - wrapperBody.removeAttribute(ATTR_HIDDEN); - - // remove class noscroll to body - removeClass(body, NO_SCROLL_CLASS); - } - } - - // strike a key when modal opened - if (findById(MODAL_JS_ID) && eventName === 'keydown') { - var body = doc.querySelector('body'); - var wrapperBody = findById(WRAPPER_PAGE_JS); - var modal = findById(MODAL_JS_ID); - var modalContent = findById(MODAL_CONTENT_JS_ID) ? findById(MODAL_CONTENT_JS_ID).innerHTML : ''; - var overlay = findById(MODAL_OVERLAY_ID); - var modalButtonClose = findById(MODAL_BUTTON_JS_ID); - var modalFocusBackId = modalButtonClose.getAttribute(MODAL_BUTTON_FOCUS_BACK_ID); - var contentBackId = modalButtonClose.getAttribute(MODAL_BUTTON_CONTENT_BACK_ID); - var $listFocusables = [].slice.call(modal.querySelectorAll(FOCUSABLE_ELEMENTS_STRING)); - - // esc - if (e.keyCode === 27) { - - closeModal({ - modal: modal, - modalContent: modalContent, - overlay: overlay, - modalFocusBackId: modalFocusBackId, - contentBackId: contentBackId - }); - - // show back page - wrapperBody.removeAttribute(ATTR_HIDDEN); - - // remove class noscroll to body - removeClass(body, NO_SCROLL_CLASS); - } - - // tab or Maj Tab in modal => capture focus - if (e.keyCode === 9 && $listFocusables.indexOf(e.target) >= 0) { - - // maj-tab on first element focusable => focus on last - if (e.shiftKey) { - if (e.target === $listFocusables[0]) { - $listFocusables[$listFocusables.length - 1].focus(); - e.preventDefault(); - } - } else { - // tab on last element focusable => focus on first - if (e.target === $listFocusables[$listFocusables.length - 1]) { - $listFocusables[0].focus(); - e.preventDefault(); - } - } - } - - // tab outside modal => put it in focus - if (e.keyCode === 9 && $listFocusables.indexOf(e.target) === -1) { - e.preventDefault(); - $listFocusables[0].focus(); - } - } - }, true); - }); - document.removeEventListener('DOMContentLoaded', onLoad); - }; - - document.addEventListener('DOMContentLoaded', onLoad); -})(document); \ No newline at end of file From 2d731783772247d6a256713f755b95dc0e85a41d Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 2 Sep 2018 22:16:25 +0200 Subject: [PATCH 21/23] removed unused css file (van11y accessible modal) --- ...32-van11y-accessible-modal-window-aria.css | 198 ------------------ 1 file changed, 198 deletions(-) delete mode 100644 webapp/src/main/webapp/public/css/32-van11y-accessible-modal-window-aria.css diff --git a/webapp/src/main/webapp/public/css/32-van11y-accessible-modal-window-aria.css b/webapp/src/main/webapp/public/css/32-van11y-accessible-modal-window-aria.css deleted file mode 100644 index 571ac7aa..00000000 --- a/webapp/src/main/webapp/public/css/32-van11y-accessible-modal-window-aria.css +++ /dev/null @@ -1,198 +0,0 @@ - -/* needed for old browsers */ -dialog { - display: block; - border: 0; -} -/* removes scroll when modal is opened */ -.no-scroll { - overflow: hidden; -} - - -/* ********************************************************************** - ********************************************************************** */ - -/* overlay covers everything */ -.simple-modal-overlay, -.simple-animated-modal-overlay { - position: fixed; - top: 0; - bottom: 0; - right: 0; - left: 0; - background: #fff; - opacity: .8; - z-index: 666; - cursor: pointer; -} -.simple-modal-overlay[data-background-click="disabled"], -.simple-animated-modal-overlay[data-background-click="disabled"] { - cursor: auto; -} -.simple-animated-modal-overlay { - animation: fadewhite ease .5s 1 normal ; -} - -@keyframes fadewhite { - 0% { - opacity: 0; - } - 100% { - opacity: .8; - } -} -/* modal */ -.simple-modal, -.simple-animated-modal { - position: fixed; - left: 15%; - top: 5%; - width: 70%; - max-height: 98vh; - border: 2px solid #000; - background: #fff; - z-index: 667; - padding: 2em; - right: auto; - overflow: auto; -} -.simple-modal-close, -.simple-animated-modal-close { - float: right; - background: #128197; - border-radius: 1em; - color: #fff; - border: 0; - font: inherit; - padding: .25em .5em; - cursor: pointer; -} -.simple-modal-close:focus, -.simple-modal-close:hover, -.simple-modal-close:active { - outline: 1px dotted #fff; -} -.simple-modal-close:hover, -.simple-modal-close:active { - background: #4d287f; -} - -.simple-animated-modal { - animation: apparition ease .5s 1 normal ; -} - -@keyframes apparition { - 0% { - opacity: 0; - max-height: 0; - width: 0; - left: 50%; - } - 100% { - opacity: 1; - max-height: 100%; - width: 70%; - left: 15%; - } -} - -/* it can be easily adapted in media-queries for tablets/mobile */ - /* for this example: tablets */ - @media (max-width: 55.625em) { - .simple-modal, - .simple-animated-modal { - left: 5%; - top: 5%; - height: 90%; - width: 90%; - } - } - - /* for this example: mobile */ - @media (max-width: 44.375em) { - .simple-modal, - .simple-animated-modal { - left: 1%; - top: 1%; - width: 98%; - height: 98%; - } - } - - - -/* ********************************************************************** - ********************************************************************** */ - - -/* another modal styling example */ -/* tooltip modal for it’s easy button */ -.simple-left-modal-overlay { - position: fixed; - top: 0; - bottom: 0; - right: 0; - left: 0; - background: #fff; - opacity: .8; - z-index: 666; - cursor: pointer; -} -.simple-left-modal-overlay[data-background-click="disabled"] { - cursor: auto; -} - -.simple-left-modal-overlay { - position: fixed; - top: 0; - bottom: 0; - right: 0; - left: 0; - background: rgba(0, 0, 0, .8); - opacity: .8; - z-index: 666; - cursor: pointer; -} - -.simple-left-modal { - left: auto; - right: 0; - top: 0; - bottom: 0; - height: 100%; - z-index: 667; - position: fixed; - width: 40em; - max-width: 100%; - padding: 0 1em 1em 1em; - font-size: 1em; - border: 0; - overflow: auto; - background-color: #aaa ; /* fallback CSS IE9 */ - background-image: - -webkit-linear-gradient( - top, - #128197 3em, - #f7f7f7 3em - ); background-image: - linear-gradient( - to bottom, - #128197 3em, - #f7f7f7 3em - ); - background-attachment: local; -} -.simple-left-modal-close { - position: absolute; - top: .5em; - right: 0; - background: transparent; - color: #fff; - border: 0; - cursor: pointer; -} -.simple-left-modal-title { - color: #fff; - font-size: 1.5em; -} \ No newline at end of file From 8f3cad53d32d37c3b2e6fd66bab29824cc33dd4e Mon Sep 17 00:00:00 2001 From: Fabrice Gangler Date: Sun, 2 Sep 2018 23:37:17 +0200 Subject: [PATCH 22/23] Updating screenshots --- CHANGELOG.md | 6 +++--- README.md | 2 +- docker/RELEASE/README.md | 2 +- documentation/en/Howto-use.md | 2 +- documentation/en/README.md | 2 +- ....v0.5.2_2017-07-27_grey_kraken.io-lossy.png | Bin 0 -> 51848 bytes ..._contrast-finder.v0.9.1_2018-09-27_grey.png | Bin 0 -> 151126 bytes ....v0.9.1_2018-09-27_grey_kraken.io-lossy.png | Bin 0 -> 52638 bytes .../src/main/webapp/WEB-INF/template/head.jspf | 2 +- 9 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 documentation/en/images/screenshot/Archive/contrast-finder-v0.5.2/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png create mode 100644 documentation/en/images/screenshot/Archive/contrast-finder-v0.9.1/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey.png create mode 100644 documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png diff --git a/CHANGELOG.md b/CHANGELOG.md index d34b4789..a98ad397 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -Contrast-Finder 0.9.2, 2018-0x-xx +Contrast-Finder 0.9.2, 2018-09-xx --------------------------------- Upgrade-o-meter: just replace the .war file and restart Tomcat @@ -29,6 +29,7 @@ none ### Improvement - [#165 - Added some information to the MANIFEST.MF files : commit, buid timestamp](https://github.com/Asqatasun/Contrast-Finder/issues/165) +- [#172 - All maven plugins have their version specified](https://github.com/Asqatasun/Contrast-Finder/issues/172) ### Refactoring none @@ -38,11 +39,10 @@ none ### Documentation - [#179 - Transformed Debian packages documentation into markdown file](https://github.com/Asqatasun/Contrast-Finder/issues/179) +- Updating screenshots ### Task - [#171 - Webapp: added humans.txt file](https://github.com/Asqatasun/Contrast-Finder/issues/171) -- [#172 - All maven plugins have their version specified](https://github.com/Asqatasun/Contrast-Finder/issues/172) - Contrast-Finder 0.9.1, 2018-05-13 diff --git a/README.md b/README.md index 78e73d96..d05428b1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ ## Demo https://app.contrast-finder.org -[![Try Contrast-Finder](https://raw.githubusercontent.com/Asqatasun/Contrast-Finder/develop/documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png)](https://app.contrast-finder.org/?lang=en "Try Contrast-Finder : find good color for web accessibility") +[![Try Contrast-Finder](https://raw.githubusercontent.com/Asqatasun/Contrast-Finder/develop/documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png)](https://app.contrast-finder.org/?lang=en "Try Contrast-Finder : find good color for web accessibility") ## Why another contrast tool ? diff --git a/docker/RELEASE/README.md b/docker/RELEASE/README.md index aac539af..615549c3 100644 --- a/docker/RELEASE/README.md +++ b/docker/RELEASE/README.md @@ -34,7 +34,7 @@ In your browser, go to `http://localhost:8080/contrast-finder/` * More information on the website [Contrast-Finder.org](https://contrast-finder.org) * Demo : https://app.contrast-finder.org -![Screenshot - Contrast-Finder v0.5.2](https://raw.githubusercontent.com/Asqatasun/Contrast-Finder/develop/documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png) +![Screenshot - Contrast-Finder v0.9.1](https://raw.githubusercontent.com/Asqatasun/Contrast-Finder/develop/documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png) ## Tips and tricks ### Container available only on 127.0.0.1 (Linux users) #### diff --git a/documentation/en/Howto-use.md b/documentation/en/Howto-use.md index 7a324b6b..258afb9d 100644 --- a/documentation/en/Howto-use.md +++ b/documentation/en/Howto-use.md @@ -11,7 +11,7 @@ Contrast finder is designed to be used by webdesigners, webdeveloppers or e-acce ## How to use this tool? The interface is a form, with five fields. -![Screenshot - Contrast-Finder v0.5.2](images/screenshot/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png) +![Screenshot - Contrast-Finder v0.9.1](images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png) ## Text color diff --git a/documentation/en/README.md b/documentation/en/README.md index 1771ded0..7cb97a0a 100644 --- a/documentation/en/README.md +++ b/documentation/en/README.md @@ -25,6 +25,6 @@ ## Screenshots -![Screenshot - Contrast-Finder v0.5.2](images/screenshot/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png) +![Screenshot - Contrast-Finder v0.9.1](images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png) diff --git a/documentation/en/images/screenshot/Archive/contrast-finder-v0.5.2/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png b/documentation/en/images/screenshot/Archive/contrast-finder-v0.5.2/screenshot.EN_contrast-finder.v0.5.2_2017-07-27_grey_kraken.io-lossy.png new file mode 100644 index 0000000000000000000000000000000000000000..f725ae8b86a61b1b21730579ed4aa0a40e82bdc3 GIT binary patch literal 51848 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
@?v??~o>9v(TPsGPfk-xTVnCSzHUEdVEVpSG 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�h@DAlTYot_eu@qMps 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 literal 0 HcmV?d00001 diff --git a/documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png b/documentation/en/images/screenshot/screenshot.EN_contrast-finder.v0.9.1_2018-09-27_grey_kraken.io-lossy.png new file mode 100644 index 0000000000000000000000000000000000000000..618a7841c401f39c458401a551038cd781c74de1 GIT binary patch literal 52638 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

}x<=V$VcLs>a&lVM!VxPTo2IC2r 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

  • A#$+grHx?DNqT8r_{3B6v6TE ziX^x(aH&CrFQ4B~6S^KQ@U2<+*@%`OKATh9pjltucR#LTlM=0XNCjLVE}Y$YY9VSY zC@^qLwrobpIq<4&xOqh94V4uTamR;C!6@IERHawY;*YV?7MxI7*+%!hZ3QZncnXLD zmJemYM331?us8tOL3-OzqCd7r4=8lth{{3%7CcV3&B!NfvE>7P$RUs zZT?U&IW5z6mdE4V-YN1RZuAfFz@mVsFBadPEm@USQ?iYQd+2ZC-SKEV8tVyRhE9Q1 zQpa|9mn0)O<{M}Hu-_3^3Pu=pp|lXvSsas+9DPyS8q0l7LkJM1Yyk2|;;P|`4~%QT zPA68G+hB*~J;aUOnZt3)pgSa@{B|oS0Aku~M;;9w&NLgjk-IEx8@vkfJ-@Ox&UbK2gxSf1dsuu)mfOhhA4(VtMf$c}! zeT;BFH^|l+XzF@+9U7PqI|mG03t6;&RyKA3L1s)+9Rj2Jbmngm+v5eux!BQ@YP5K7 zs+NT#zR?qjVwB^vT-mOiW~-@tc8Q<#f!lCsfw99Hvt{QBv8=FVAOE&&ri-FF?Gxt&3b5Xv#^(x1wn~UX<~KiT zIVX`N_DxNXqSn7!A>+}^BnWERTaQmux85Z+ejZNVo^OUj4^2A7sAThtk4nc$O&bTr4!q9kab+HTb!PXdQ zi%G=ivZAU94wpsvy2qC{WCCqu@OoO_-3*%z79Vm(TT;mAo1-ae!?7(Grq@4R6Frq+ zaMmt5AtiQZB^u4#|HJMHbly+d>nvBI@BWV+rZZ?5xCo~0GNcJ5+{udP@=<*gvvdKu zXZx08ZI)Br&mC2@2;|worPo3Pb*^tfjZ{F|`F$SUPIJ29Z~(4+PzB6*x%#Rh)Kmez zMIl5T_c3;hvShp@H Date: Mon, 3 Sep 2018 00:28:53 +0200 Subject: [PATCH 23/23] set version to 0.9.2 --- CHANGELOG.md | 14 +------------- dist./debian_package/pom.xml | 4 ++-- dist./pom.xml | 4 ++-- docker/RELEASE/README.md | 4 ++-- docker/RELEASE/alpine_tomcat-7/Dockerfile | 10 +++++----- docker/RELEASE/alpine_tomcat-8.5/Dockerfile | 10 +++++----- docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile | 10 +++++----- docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile | 10 +++++----- docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile | 10 +++++----- .../distrib/alpine_tomcat-7/Dockerfile | 2 +- .../distrib/alpine_tomcat-8.5/Dockerfile | 2 +- .../distrib/alpine_tomcat-9/Dockerfile | 2 +- .../distrib/debian-9_tomcat-8.5/Dockerfile | 2 +- .../distrib/debian_tomcat-9_jre9/Dockerfile | 2 +- .../distrib/ubuntu-14.04_tomcat-7/Dockerfile | 2 +- .../distrib/ubuntu-16.04_tomcat-7/Dockerfile | 2 +- .../distrib/ubuntu-16.04_tomcat-8.0/Dockerfile | 2 +- .../distrib/ubuntu-18.04_tomcat-8.5/Dockerfile | 2 +- .../test_config-file/01.no.config.file/Dockerfile | 2 +- .../test_config-file/10.default.algo/Dockerfile | 2 +- .../test_config-file/20.debug.env/Dockerfile | 2 +- .../test_config-file/30.piwik/Dockerfile | 2 +- .../40.searchEngineIndex/Dockerfile | 2 +- .../pre-requisites_Alpine_tomcat-7/Dockerfile | 2 +- .../pre-requisites_Alpine_tomcat-8.5/Dockerfile | 2 +- .../pre-requisites_Alpine_tomcat-9/Dockerfile | 2 +- .../pre-requisites_Debian-9_tomcat-8.5/Dockerfile | 2 +- .../pre-requisites_Debian_tomcat-9_jre9/Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../Dockerfile | 2 +- .../en/10_Install_doc/webapp_Installation.md | 2 +- documentation/pom.xml | 4 ++-- engine/api/pom.xml | 4 ++-- engine/hsv/pom.xml | 4 ++-- engine/impl/pom.xml | 4 ++-- engine/pom.xml | 4 ++-- engine/utils/pom.xml | 4 ++-- pom.xml | 2 +- webapp/pom.xml | 4 ++-- .../WEB-INF/template/template_variables.jspf | 2 +- 42 files changed, 72 insertions(+), 84 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a98ad397..8f8b436e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,10 @@ # CHANGELOG -Contrast-Finder 0.9.2, 2018-09-xx +Contrast-Finder 0.9.2, 2018-09-03 --------------------------------- Upgrade-o-meter: just replace the .war file and restart Tomcat -### New Feature -none - -### Security -none - ### Outdated dependencies - [#163 - Upgraded SpringFramework (4.3.18 instead of 4.3.17)](https://github.com/Asqatasun/Contrast-Finder/issues/163) - [#162 - Upgraded spring--security (4.2.7 instead of 4.2.6)](https://github.com/Asqatasun/Contrast-Finder/issues/162) @@ -31,12 +25,6 @@ none - [#165 - Added some information to the MANIFEST.MF files : commit, buid timestamp](https://github.com/Asqatasun/Contrast-Finder/issues/165) - [#172 - All maven plugins have their version specified](https://github.com/Asqatasun/Contrast-Finder/issues/172) -### Refactoring -none - -### Configuration -none - ### Documentation - [#179 - Transformed Debian packages documentation into markdown file](https://github.com/Asqatasun/Contrast-Finder/issues/179) - Updating screenshots diff --git a/dist./debian_package/pom.xml b/dist./debian_package/pom.xml index a2ef80e5..917cdb0e 100644 --- a/dist./debian_package/pom.xml +++ b/dist./debian_package/pom.xml @@ -4,10 +4,10 @@ org.asqatasun dist - 0.9.2-SNAPSHOT + 0.9.2 contrast-finder-dist_debian-packages - 0.9.2-SNAPSHOT + 0.9.2 jar contrast-finder-dist_debian-packages diff --git a/dist./pom.xml b/dist./pom.xml index 9ae9e066..650a31ee 100644 --- a/dist./pom.xml +++ b/dist./pom.xml @@ -4,10 +4,10 @@ org.asqatasun contrast-finder - 0.9.2-SNAPSHOT + 0.9.2 dist - 0.9.2-SNAPSHOT + 0.9.2 pom contrast-finder-dist diff --git a/docker/RELEASE/README.md b/docker/RELEASE/README.md index 615549c3..24770eb0 100644 --- a/docker/RELEASE/README.md +++ b/docker/RELEASE/README.md @@ -14,8 +14,8 @@ Supported tags and respective `Dockerfile` links : * [pre-requisites_Alpine_tomcat-8.5](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile) ### Releases -* [latest, v0.9.2-SNAPSHOT, ubuntu-18.04](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile) -* [alpine, v0.9.2-SNAPSHOT_alpine, alpine_tomcat-8.5](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/alpine_tomcat-8.5/Dockerfile) +* [latest, v0.9.2, ubuntu-18.04](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile) +* [alpine, v0.9.2_alpine, alpine_tomcat-8.5](https://github.com/Asqatasun/Contrast-Finder/blob/master/docker/RELEASE/alpine_tomcat-8.5/Dockerfile) * [v0.9.1](https://github.com/Asqatasun/Contrast-Finder/blob/v0.9.1/docker/RELEASE/Dockerfile), [v0.9.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.9.0/docker/RELEASE/Dockerfile), [v0.8.6](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.6/docker/RELEASE/Dockerfile), [v0.8.5](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.5/docker/RELEASE/Dockerfile), [v0.8.4](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.4/docker/RELEASE/Dockerfile), [v0.8.3](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.3/docker/RELEASE/Dockerfile), [v0.8.2](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.2/docker/RELEASE/Dockerfile), [v0.8.1](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.1/docker/RELEASE/Dockerfile), [v0.8.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.8.0/docker/RELEASE/Dockerfile) * [v0.7.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.7.0/docker/RELEASE/Dockerfile), [v0.6.0](https://github.com/Asqatasun/Contrast-Finder/blob/v0.6.0/docker/RELEASE/Dockerfile), [v0.5.2](https://github.com/Asqatasun/Contrast-Finder/blob/v0.5.2/docker/RELEASE/Dockerfile) diff --git a/docker/RELEASE/alpine_tomcat-7/Dockerfile b/docker/RELEASE/alpine_tomcat-7/Dockerfile index 5d9f7e89..4d151728 100644 --- a/docker/RELEASE/alpine_tomcat-7/Dockerfile +++ b/docker/RELEASE/alpine_tomcat-7/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-7 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (tomcat7 < jdk7 < alpine 3.7)" \ - org.label-schema.version = "0.9.2-SNAPSHOT" \ + org.label-schema.version = "0.9.2" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder:alpine" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2 . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/contrast-finder-webapp_0.9.2.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -39,7 +39,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ARG CONTRAST_FINDER_RELEASE="0.9.2" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/alpine_tomcat-8.5/Dockerfile b/docker/RELEASE/alpine_tomcat-8.5/Dockerfile index a92c30ff..d45be300 100644 --- a/docker/RELEASE/alpine_tomcat-8.5/Dockerfile +++ b/docker/RELEASE/alpine_tomcat-8.5/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-8.5 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (tomcat 8.5 < jdk 8 < alpine 3.7)" \ - org.label-schema.version = "0.9.2-SNAPSHOT" \ + org.label-schema.version = "0.9.2" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder:alpine" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2 . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/contrast-finder-webapp_0.9.2.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -39,7 +39,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ARG CONTRAST_FINDER_RELEASE="0.9.2" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile b/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile index 56111ddb..55740140 100644 --- a/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile +++ b/docker/RELEASE/ubuntu-14.04_tomcat-7/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-14.04_tomcat-7 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (Ubuntu 14.04 - Tomcat 7)" \ - org.label-schema.version = "0.9.2-SNAPSHOT" \ + org.label-schema.version = "0.9.2" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2 . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/contrast-finder-webapp_0.9.2.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -37,7 +37,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ARG CONTRAST_FINDER_RELEASE="0.9.2" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile b/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile index 9c2fc5a3..b42e8446 100644 --- a/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile +++ b/docker/RELEASE/ubuntu-16.04_tomcat-7/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-16.04_tomcat-7 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (Ubuntu 16.04 - Tomcat 7)" \ - org.label-schema.version = "0.9.2-SNAPSHOT" \ + org.label-schema.version = "0.9.2" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2 . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/contrast-finder-webapp_0.9.2.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -37,7 +37,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ARG CONTRAST_FINDER_RELEASE="0.9.2" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile b/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile index b5dfc83d..7663d82e 100644 --- a/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile +++ b/docker/RELEASE/ubuntu-18.04_tomcat-8.5/Dockerfile @@ -1,7 +1,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 LABEL org.label-schema.schema-version = "1.0.0-rc.1" \ org.label-schema.name = "Contrast-Finder - WebApp (Ubuntu 18.04 - Tomcat 8.5, Java 10)" \ - org.label-schema.version = "0.9.2-SNAPSHOT" \ + org.label-schema.version = "0.9.2" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ org.label-schema.docker.cmd = "docker run -p 8087:8080 -d asqatasun/contrast-finder" \ @@ -13,9 +13,9 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" # # --- Building this docker image # docker build -t asqatasun/contrast-finder . -# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2-SNAPSHOT . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/ . -# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz . +# docker build -t asqatasun/contrast-finder --build-arg CONTRAST_FINDER_RELEASE=0.9.2 . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL_PREFIX=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/ . +# docker build -t asqatasun/contrast-finder --build-arg SRC_URL=https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/contrast-finder-webapp_0.9.2.tar.gz . # # --- Launch a container # docker run -p 127.0.0.1:8087:8080 --name contrast.finder -d asqatasun/contrast-finder @@ -37,7 +37,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" ################################################################### # build variables -ARG CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ARG CONTRAST_FINDER_RELEASE="0.9.2" ARG SRC_URL_PREFIX="https://github.com/Asqatasun/Contrast-Finder/releases/download/v${CONTRAST_FINDER_RELEASE}" ARG SRC_URL="${SRC_URL_PREFIX}/contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz" diff --git a/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile b/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile index 96755b4d..58f7d531 100644 --- a/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/alpine_tomcat-7/Dockerfile @@ -21,7 +21,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-7 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile b/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile index 50be0bac..5e2423ba 100644 --- a/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/alpine_tomcat-8.5/Dockerfile @@ -22,7 +22,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-8.5 # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile b/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile index 430c39e6..e6656958 100644 --- a/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/alpine_tomcat-9/Dockerfile @@ -22,7 +22,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Alpine_tomcat-9 # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile b/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile index 747b0a13..b657595c 100644 --- a/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/debian-9_tomcat-8.5/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Debian-9_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile b/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile index 47006e53..0b473c0d 100644 --- a/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/debian_tomcat-9_jre9/Dockerfile @@ -22,7 +22,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Debian_tomcat-9_jre9 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" ENV CONF_ENV="debug" # Add contrast-finder .war diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile index 72292e41..caf281c3 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-14.04_tomcat-7/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-14.04_tomcat-7 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile index 2179ab45..aed205b9 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-7/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-16.04_tomcat-7 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile index 39bddadb..4a92b0c7 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-16.04_tomcat-8.0/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-16.04_tomcat-8.0 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile b/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile index 3fb53d6d..3bbfa68f 100644 --- a/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile +++ b/docker/SNAPSHOT-local/distrib/ubuntu-18.04_tomcat-8.5/Dockerfile @@ -20,7 +20,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile b/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile index 3d8da2b9..bc565b2d 100644 --- a/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/01.no.config.file/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" # Add contrast-finder .war ADD contrast-finder-webapp_${CONTRAST_FINDER_RELEASE}.tar.gz /root diff --git a/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile b/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile index 90d5a101..3d906d8f 100644 --- a/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/10.default.algo/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" ENV CONF_DEFAULT_ALGO="Rgb" # ENV CONF_DEFAULT_ALGO="Rgb" # ENV CONF_DEFAULT_ALGO="HSV" diff --git a/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile b/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile index ebee5881..c7c097d0 100644 --- a/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/20.debug.env/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" ENV CONF_ENV="debug" # Add contrast-finder .war diff --git a/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile b/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile index f5e46d2a..c4d5a066 100644 --- a/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/30.piwik/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" ENV PIWIK_KEY="9" ENV PIWIK_URL="http://localhost/piwik/" diff --git a/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile b/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile index ad1876d4..7c0406b8 100644 --- a/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile +++ b/docker/SNAPSHOT-local/test_config-file/40.searchEngineIndex/Dockerfile @@ -19,7 +19,7 @@ FROM asqatasun/contrast-finder:pre-requisites_Ubuntu-18.04_tomcat-8.5 ################################################################### # environment variables -ENV CONTRAST_FINDER_RELEASE="0.9.2-SNAPSHOT" +ENV CONTRAST_FINDER_RELEASE="0.9.2" ENV SEARCH_ENGINGE="yes" # Add contrast-finder .war diff --git a/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile b/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile index 1b35944e..030ec642 100644 --- a/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Alpine_tomcat-7/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat7 < jdk7 < alpine 3.7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile b/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile index 875b9247..cd9923e9 100644 --- a/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Alpine_tomcat-8.5/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat 8.5 < jdk 8 < alpine 3.7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile b/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile index 7fd57673..abef6e9b 100644 --- a/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Alpine_tomcat-9/Dockerfile @@ -4,7 +4,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat 9 < jdk 8 < alpine 3.7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile b/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile index 5f094201..119bee43 100644 --- a/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Debian-9_tomcat-8.5/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Debian 9 - Tomcat 8.5)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile b/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile index d0cfb5b5..8467f3f0 100644 --- a/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Debian_tomcat-9_jre9/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (tomcat 9 < jdk 9 < debian SID)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile index b2900e2f..e6605ca5 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-14.04_tomcat-7/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 14.04 - Tomcat 7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile index ac05d3e3..13cb151f 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-7/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 16.04 - Tomcat 7)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile index 0745ca23..bc54b1ad 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-16.04_tomcat-8.0/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 16.04 - Tomcat 8.0)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile b/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile index 6ed17360..9fc745d1 100644 --- a/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile +++ b/docker/pre-requisites/pre-requisites_Ubuntu-18.04_tomcat-8.5/Dockerfile @@ -3,7 +3,7 @@ LABEL org.label-schema.schema-version = "1.0.0-rc.1" org.label-schema.name = "Contrast-Finder - WebApp pre-requisites (Ubuntu 18.04 - Tomcat 8.5, Java 10)" \ org.label-schema.url = "https://contrast-finder.org" \ org.label-schema.vcs-url = "https://github.com/Asqatasun/Contrast-Finder" \ - org.label-schema.version = "0.9.2-SNAPSHOT" + org.label-schema.version = "0.9.2" # ----> documentation http://label-schema.org/ # #### usage ###################################################### diff --git a/documentation/en/10_Install_doc/webapp_Installation.md b/documentation/en/10_Install_doc/webapp_Installation.md index 73fb5dad..9226e603 100644 --- a/documentation/en/10_Install_doc/webapp_Installation.md +++ b/documentation/en/10_Install_doc/webapp_Installation.md @@ -14,7 +14,7 @@ You just need to replace `tomcat7` with `tomcat8` in the following command lines ```bash cd /tmp -wget https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2-SNAPSHOT/contrast-finder-webapp_0.9.2-SNAPSHOT.tar.gz +wget https://github.com/Asqatasun/Contrast-Finder/releases/download/v0.9.2/contrast-finder-webapp_0.9.2.tar.gz tar -xzvf contrast-finder-webapp_*.tar.gz cd contrast-finder-webapp_*/ mv -v install/contrast-finder-webapp_*.war contrast-finder.war diff --git a/documentation/pom.xml b/documentation/pom.xml index e4a5fb51..e12ff123 100644 --- a/documentation/pom.xml +++ b/documentation/pom.xml @@ -4,11 +4,11 @@ org.asqatasun contrast-finder - 0.9.2-SNAPSHOT + 0.9.2 documentation pom - 0.9.2-SNAPSHOT + 0.9.2 contrast-finder-documentation diff --git a/engine/api/pom.xml b/engine/api/pom.xml index 5ae98bb8..c9cb9a83 100644 --- a/engine/api/pom.xml +++ b/engine/api/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.2-SNAPSHOT + 0.9.2 contrast-finder-api - 0.9.2-SNAPSHOT + 0.9.2 jar api diff --git a/engine/hsv/pom.xml b/engine/hsv/pom.xml index b0e8beb3..cc9d4066 100644 --- a/engine/hsv/pom.xml +++ b/engine/hsv/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.2-SNAPSHOT + 0.9.2 contrast-finder-hsv - 0.9.2-SNAPSHOT + 0.9.2 jar hsv diff --git a/engine/impl/pom.xml b/engine/impl/pom.xml index 8822d710..c89264a2 100644 --- a/engine/impl/pom.xml +++ b/engine/impl/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.2-SNAPSHOT + 0.9.2 contrast-finder-impl - 0.9.2-SNAPSHOT + 0.9.2 jar impl diff --git a/engine/pom.xml b/engine/pom.xml index 1db0aca9..24411eba 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -4,10 +4,10 @@ org.asqatasun contrast-finder - 0.9.2-SNAPSHOT + 0.9.2 engine - 0.9.2-SNAPSHOT + 0.9.2 pom contrast-finder-engine diff --git a/engine/utils/pom.xml b/engine/utils/pom.xml index a6e7cf59..56ec8b1e 100644 --- a/engine/utils/pom.xml +++ b/engine/utils/pom.xml @@ -4,10 +4,10 @@ org.asqatasun engine - 0.9.2-SNAPSHOT + 0.9.2 contrast-finder-utils - 0.9.2-SNAPSHOT + 0.9.2 jar utils diff --git a/pom.xml b/pom.xml index 8d039fc2..969b324e 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ org.asqatasun contrast-finder pom - 0.9.2-SNAPSHOT + 0.9.2 Contrast-Finder diff --git a/webapp/pom.xml b/webapp/pom.xml index 25c93e98..71be45c9 100644 --- a/webapp/pom.xml +++ b/webapp/pom.xml @@ -4,10 +4,10 @@ org.asqatasun contrast-finder - 0.9.2-SNAPSHOT + 0.9.2 webapp - 0.9.2-SNAPSHOT + 0.9.2 war contrast-finder-webapp diff --git a/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf b/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf index 9b81c18e..65c75043 100644 --- a/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf +++ b/webapp/src/main/webapp/WEB-INF/template/template_variables.jspf @@ -2,7 +2,7 @@ <%@ page pageEncoding="UTF-8" %> <%-- APP version --%> - + <%-- APP Name --%>