[groovyscripting] Update Groovy to 4.0.9 and support slurpers (#14499)
Updates Groovy from 4.0.7 to 4.0.9. For release notes, see: https://groovy-lang.org/changelogs/changelog-4.0.8.html https://groovy-lang.org/changelogs/changelog-4.0.9.html Adds dependencies and service loader config so JSON, XML and YAML can be more easily parsed using the JsonSlurper, XmlSlurper and YamlSlurper. Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Groovy Scripting
|
||||
|
||||
This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.7 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.
|
||||
This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.9 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.
|
||||
|
||||
## Creating Groovy Scripts
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
<name>openHAB Add-ons :: Bundles :: Automation :: Groovy Scripting</name>
|
||||
|
||||
<properties>
|
||||
<bnd.importpackage>com.ibm.icu.*;resolution:=optional,groovy.runtime.metaclass;resolution:=optional,groovyjarjarantlr4.stringtemplate;resolution:=optional,org.abego.treelayout.*;resolution:=optional,org.apache.ivy.*;resolution:=optional,org.stringtemplate.v4.*;resolution:=optional</bnd.importpackage>
|
||||
<groovy.version>4.0.7</groovy.version>
|
||||
<bnd.importpackage>com.ibm.icu.*;resolution:=optional,groovy.runtime.metaclass;resolution:=optional,groovyjarjarantlr4.stringtemplate;resolution:=optional,org.abego.treelayout.*;resolution:=optional,org.apache.ivy.*;resolution:=optional,org.fusesource.jansi.*;resolution:=optional,org.stringtemplate.v4.*;resolution:=optional</bnd.importpackage>
|
||||
<groovy.version>4.0.9</groovy.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@@ -32,12 +32,48 @@
|
||||
<version>${groovy.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.groovy</groupId>
|
||||
<artifactId>groovy-json</artifactId>
|
||||
<version>${groovy.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.groovy</groupId>
|
||||
<artifactId>groovy-xml</artifactId>
|
||||
<version>${groovy.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.groovy</groupId>
|
||||
<artifactId>groovy-yaml</artifactId>
|
||||
<version>${groovy.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>biz.aQute.bnd</groupId>
|
||||
<artifactId>bnd-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<bnd><![CDATA[${oh.bndDefaults}
|
||||
Require-Capability:
|
||||
osgi.extender:=
|
||||
filter:="(osgi.extender=osgi.serviceloader.processor)",
|
||||
osgi.serviceloader:=
|
||||
filter:="(osgi.serviceloader=org.apache.groovy.json.FastStringServiceFactory)";
|
||||
cardinality:=multiple
|
||||
SPI-Provider: *
|
||||
SPI-Consumer: *
|
||||
]]>
|
||||
</bnd>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
||||
@@ -44,7 +44,7 @@ public class GroovyScriptEngineFactory extends AbstractScriptEngineFactory {
|
||||
.flatMap(List::stream) //
|
||||
.collect(Collectors.toUnmodifiableList());
|
||||
|
||||
private final GroovyClassLoader gcl = new GroovyClassLoader();
|
||||
private final GroovyClassLoader gcl = new GroovyClassLoader(GroovyScriptEngineFactory.class.getClassLoader());
|
||||
|
||||
public GroovyScriptEngineFactory() {
|
||||
String scriptDir = OpenHAB.getConfigFolder() + File.separator + FILE_DIRECTORY;
|
||||
|
||||
Reference in New Issue
Block a user