Skip to content

Commit

Permalink
[MINVOKER-304] Use only common groovy modules - xml, json
Browse files Browse the repository at this point in the history
- changed dependencies in pom
- added documentation about groovy versions
  • Loading branch information
slawekjaranowski committed May 22, 2022
1 parent e3cb4b9 commit f1d27bb
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 25 deletions.
39 changes: 15 additions & 24 deletions pom.xml
Expand Up @@ -71,7 +71,6 @@ under the License.
<beanshell-artifactId>bsh</beanshell-artifactId>
<beanshell-version>2.0b6</beanshell-version>
<groovy-groupId>org.codehaus.groovy</groovy-groupId>
<groovy-artifactId>groovy-all</groovy-artifactId>
<groovy-version>3.0.10</groovy-version>
<surefire.version>2.22.2</surefire.version>
<project.build.outputTimestamp>2021-02-14T00:04:14Z</project.build.outputTimestamp>
Expand Down Expand Up @@ -137,7 +136,7 @@ under the License.
<artifactId>maven-script-interpreter</artifactId>
<version>1.3</version>
<exclusions>
<!-- there's already a direct dependency to groovy-all -->
<!-- there's already a direct dependency to groovy -->
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
Expand All @@ -163,32 +162,24 @@ under the License.
<version>${beanshell-version}</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>${groovy-groupId}</groupId>
<artifactId>${groovy-artifactId}</artifactId>
<artifactId>groovy</artifactId>
<version>${groovy-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>${groovy-groupId}</groupId>
<artifactId>groovy-json</artifactId>
<version>${groovy-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>${groovy-groupId}</groupId>
<artifactId>groovy-xml</artifactId>
<version>${groovy-version}</version>
<type>pom</type>
<scope>runtime</scope>
<exclusions>
<exclusion> <!-- pulls in jline with shaded org.fusesource.jansi.Ansi, causing invalid output for M3.5.0- -->
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-groovysh</artifactId>
</exclusion>
<!-- MINVOKER-285 - exclude additional tests frameworks -->
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-test</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-test-junit5</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-testng</artifactId>
</exclusion>
<!-- /MINVOKER-285 -->
</exclusions>
</dependency>

<dependency>
Expand Down
2 changes: 1 addition & 1 deletion src/it/script-classpath-duplicates/pom.xml
Expand Up @@ -42,7 +42,7 @@ under the License.
</dependency>
<dependency>
<groupId>@groovy-groupId@</groupId>
<artifactId>@groovy-artifactId@</artifactId>
<artifactId>groovy</artifactId>
<version>@groovy-version@</version>
<type>pom</type>
<scope>test</scope>
Expand Down
78 changes: 78 additions & 0 deletions src/site/apt/groovy-version.apt.vm
@@ -0,0 +1,78 @@
------
Groovy version and extensions
------
Slawomir Jaranowski
------
2022-05-22
------

~~ 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.

~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html

Groovy version and extensions

<<NOTICE>>: Plugin <<<maven-invoker-plugin>>> in versions older than <<<3.3.0>>> has dependency
on <<<groovy-all>>> artifact from <<<Groovy 2>>>.

Plugin <<<maven-invoker-plugin>>> in version <<<3.3.0>>> has only dependency on <<<Groovy 3>>> core add common extensions:

* <<<org.codehaus.groovy:groovy:3.0.10>>>

* <<<org.codehaus.groovy:groovy-json:3.0.10>>>

* <<<org.codehaus.groovy:groovy-xml:3.0.10>>>

[]

If you need additional <<<Groovy>>> extension in your scripts ( post, pre, setup, ... )
you must add a dependency to plugin definition, eg:

+------------------
<project>
<build>
<plugins>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>${project.version}</version>
.....
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-yaml</artifactId>
<version>3.0.10</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
+------------------

<<NOTICE>>: In plugin version <<<3.3.0>>> only <<<Groovy 3>>> extensions can be used.

Groovy 4

Please be noted that in <<<Groovy 4>>> maven <<<groupId>>> was changed
from <<org.codehaus.groovy>> to <<org.apache.groovy>>.

Plugin has dependency on <<<Groovy 3>>> artifacts with old <<<groupId>>>,
what causes that <<<Groovy 4>>> can not by used in scripts.

Next version of <<<maven-invoker-plugin>>> can contains <<<Groovy 4>>> as default.
1 change: 1 addition & 0 deletions src/site/site.xml
Expand Up @@ -27,6 +27,7 @@ under the License.
<item name="Introduction" href="index.html"/>
<item name="Goals" href="plugin-info.html"/>
<item name="Usage" href="usage.html"/>
<item name="Groovy version" href="groovy-version.html"/>
<item name="FAQ" href="faq.html"/>
<!-- According to https://issues.apache.org/jira/browse/MNGSITE-152 -->
<item name="License" href="https://www.apache.org/licenses/"/>
Expand Down

0 comments on commit f1d27bb

Please sign in to comment.