[MRESOLVER-367] Update Redisson and related documentation (#296)
This PR updates only redisson module: redisson dependency, simplifies
installation by providing a "bundle" ZIP and updates site page.
Upgrade:
* redisson 3.21.3
Furthermore, replace "manual installation" (downloads dependency by dependency) with a "bundle" zip that contains all the dependency user needs to extract into lib/ext/redisson. Update doco accordingly.
---
https://issues.apache.org/jira/browse/MRESOLVER-367
diff --git a/maven-resolver-named-locks-redisson/pom.xml b/maven-resolver-named-locks-redisson/pom.xml
index a6a76dc..21752f5 100644
--- a/maven-resolver-named-locks-redisson/pom.xml
+++ b/maven-resolver-named-locks-redisson/pom.xml
@@ -34,25 +34,29 @@
<properties>
<Automatic-Module-Name>org.apache.maven.resolver.named.redisson</Automatic-Module-Name>
<Bundle-SymbolicName>${Automatic-Module-Name}</Bundle-SymbolicName>
- <!-- Used in site also -->
- <redissonVersion>3.17.7</redissonVersion>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-named-locks</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
- <version>${redissonVersion}</version>
+ <version>3.21.3</version>
<exclusions>
<exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
</exclusion>
@@ -85,7 +89,7 @@
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
- <optional>true</optional>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
@@ -128,6 +132,25 @@
</archive>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>3.5.0</version>
+ <executions>
+ <execution>
+ <id>bundle</id>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assembly/bundle.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
diff --git a/maven-resolver-named-locks-redisson/src/assembly/bundle.xml b/maven-resolver-named-locks-redisson/src/assembly/bundle.xml
new file mode 100644
index 0000000..af0323c
--- /dev/null
+++ b/maven-resolver-named-locks-redisson/src/assembly/bundle.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.1 https://maven.apache.org/xsd/assembly-2.1.1.xsd">
+ <id>bundle</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <dependencySets>
+ <dependencySet/>
+ </dependencySets>
+</assembly>
\ No newline at end of file
diff --git a/maven-resolver-named-locks-redisson/src/site/markdown/index.md.vm b/maven-resolver-named-locks-redisson/src/site/markdown/index.md.vm
index 31f455d..f98d231 100644
--- a/maven-resolver-named-locks-redisson/src/site/markdown/index.md.vm
+++ b/maven-resolver-named-locks-redisson/src/site/markdown/index.md.vm
@@ -42,31 +42,10 @@
${esc.hash}${esc.hash} Installation/Testing
-#set( $jacksonVersion = "2.13.4" )
-#set( $jbossMarshallingVersion = "2.0.11.Final" )
-#set( $nettyVersion = "4.1.82.Final" )
-#set( $snakeyamlVersion = "1.31" )
-
-- Create the directory `${maven.home}/lib/ext/redisson/`.
-- Copy the following dependencies from Maven Central to `${maven.home}/lib/ext/redisson/`:
+- Create the directory `${maven.home}/lib/ext/redisson/` (if it does not exist).
+- Unzip the following bundle from Maven Central to `${maven.home}/lib/ext/redisson/`:
<pre class="source">
- ├── <a href="https://repo1.maven.org/maven2/org/apache/maven/resolver/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar">${project.artifactId}-${project.version}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/org/redisson/redisson/${redissonVersion}/redisson-${redissonVersion}.jar">redisson-${redissonVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/${jacksonVersion}/jackson-annotations-${jacksonVersion}.jar">jackson-annotations-${jacksonVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/${jacksonVersion}/jackson-core-${jacksonVersion}.jar">jackson-core-${jacksonVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/${jacksonVersion}/jackson-databind-${jacksonVersion}.jar">jackson-databind-${jacksonVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/${jacksonVersion}/jackson-dataformat-yaml-${jacksonVersion}.jar">jackson-dataformat-yaml-${jacksonVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/org/jboss/marshalling/jboss-marshalling/${jbossMarshallingVersion}/jboss-marshalling-${jbossMarshallingVersion}.jar">jboss-marshalling-${jbossMarshallingVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/org/jboss/marshalling/jboss-marshalling-river/${jbossMarshallingVersion}/jboss-marshalling-river-${jbossMarshallingVersion}.jar">jboss-marshalling-river-${jbossMarshallingVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-buffer/${nettyVersion}/netty-buffer-${nettyVersion}.jar">netty-buffer-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-codec/${nettyVersion}/netty-codec-${nettyVersion}.jar">netty-codec-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-codec-dns/${nettyVersion}/netty-codec-dns-${nettyVersion}.jar">netty-codec-dns-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-common/${nettyVersion}/netty-common-${nettyVersion}.jar">netty-common-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-handler/${nettyVersion}/netty-handler-${nettyVersion}.jar">netty-handler-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-resolver/${nettyVersion}/netty-resolver-${nettyVersion}.jar">netty-resolver-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-resolver-dns/${nettyVersion}/netty-resolver-dns-${nettyVersion}.jar">netty-resolver-dns-${nettyVersion}.jar</a>
- ├── <a href="https://repo1.maven.org/maven2/io/netty/netty-transport/${nettyVersion}/netty-transport-${nettyVersion}.jar">netty-transport-${nettyVersion}.jar</a>
- └── <a href="https://repo1.maven.org/maven2/org/yaml/snakeyaml/${snakeyamlVersion}/snakeyaml-${snakeyamlVersion}.jar">snakeyaml-${snakeyamlVersion}.jar</a></pre>
+ └── <a href="https://repo.maven.apache.org/maven2/org/apache/maven/resolver/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-bundle.zip">${project.artifactId}-${project.version}-bundle.zip</a>
- Start your Redis instance on `localhost` or configure a remote instance with `${maven.conf}/maven-resolver-redisson.yaml`.
- Now start a multithreaded Maven build or multiple builds (e.g., CI server) on your project.