Bump to 2.12-SNAPSHOT and use of java.nio.Path
Change-Id: Idf9e20625d72f2acaa6b2fcbb4ba891b19c7282b
diff --git a/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginProvider.java b/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginProvider.java
index 97bd60e..915805e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginProvider.java
@@ -15,6 +15,7 @@
package com.googlesource.gerrit.plugins.scripting.groovyprovider;
import com.google.common.collect.Sets;
+import com.google.common.io.Files;
import com.google.gerrit.extensions.annotations.Listen;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.server.plugins.InvalidPluginException;
@@ -25,7 +26,7 @@
import org.eclipse.jgit.internal.storage.file.FileSnapshot;
-import java.io.File;
+import java.nio.file.Path;
import java.util.Set;
/**
@@ -64,7 +65,7 @@
}
@Override
- public ServerPlugin get(File srcFile, FileSnapshot snapshot,
+ public ServerPlugin get(Path srcFile, FileSnapshot snapshot,
PluginDescription description) throws InvalidPluginException {
GroovyPluginScriptEngine scriptEngine = scriptEngineProvider.get();
return new ServerPlugin(getPluginName(srcFile), description.canonicalUrl,
@@ -74,16 +75,14 @@
}
@Override
- public boolean handles(File srcFile) {
- String srcFileName = srcFile.getName();
- String scriptExtension =
- srcFileName.substring(srcFileName.lastIndexOf('.') + 1).toLowerCase();
- return GROOVY_EXTENSIONS.contains(scriptExtension.toLowerCase());
+ public boolean handles(Path srcFile) {
+ String scriptExtension = Files.getFileExtension(srcFile.toString()).toLowerCase();
+ return GROOVY_EXTENSIONS.contains(scriptExtension);
}
@Override
- public String getPluginName(File srcFile) {
- String srcFileName = srcFile.getName();
+ public String getPluginName(Path srcFile) {
+ String srcFileName = srcFile.getFileName().toString();
int dashPos = srcFileName.lastIndexOf('-');
int dotPos = srcFileName.lastIndexOf('.');
return srcFileName.substring(0, dashPos > 0 ? dashPos:dotPos);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScanner.java b/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScanner.java
index 1f5f017..77bfcfd 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScanner.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScanner.java
@@ -27,12 +27,12 @@
import org.codehaus.groovy.runtime.InvokerHelper;
-import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
@@ -40,13 +40,13 @@
public class GroovyPluginScanner extends AbstractPreloadedPluginScanner {
- public GroovyPluginScanner(String pluginName, GroovyPluginScriptEngine scriptEngine, File srcFile)
+ public GroovyPluginScanner(String pluginName, GroovyPluginScriptEngine scriptEngine, Path srcFile)
throws InvalidPluginException {
super(pluginName, getPluginVersion(srcFile), load(scriptEngine, srcFile), ApiType.PLUGIN);
}
- private static String getPluginVersion(File srcFile) {
- String srcFileName = srcFile.getName();
+ private static String getPluginVersion(Path srcFile) {
+ String srcFileName = srcFile.getFileName().toString();
int dashPos = srcFileName.lastIndexOf('-');
int dotPos = srcFileName.lastIndexOf('.');
return dashPos > 0 ? srcFileName.substring(dashPos + 1, dotPos) : "0";
@@ -68,10 +68,9 @@
return Collections.emptyEnumeration();
}
- public static Set<Class<?>> load(GroovyPluginScriptEngine scriptEngine, File srcFile) throws InvalidPluginException {
+ public static Set<Class<?>> load(GroovyPluginScriptEngine scriptEngine, Path srcFile) throws InvalidPluginException {
try {
- return scanGroovyScriptBindings(scriptEngine.loadScriptByName(srcFile
- .getName()));
+ return scanGroovyScriptBindings(scriptEngine.loadScriptByName(srcFile.toString()));
} catch (ResourceException | ScriptException e) {
throw new InvalidPluginException(
"Cannot compile and execute Groovy script " + srcFile, e);
@@ -85,7 +84,7 @@
try {
Method mainMethod = scriptClass.getMethod("main", String[].class);
int modifiers = mainMethod.getModifiers();
- if (mainMethod != null && Modifier.isPublic(modifiers)
+ if (Modifier.isPublic(modifiers)
&& Modifier.isStatic(modifiers)) {
classes.addAll(getMainBindings(scriptClass));
}
@@ -99,8 +98,7 @@
return classes;
}
- private static Set<Class<?>> getMainBindings(Class<?> scriptClass)
- throws InvalidPluginException {
+ private static Set<Class<?>> getMainBindings(Class<?> scriptClass) {
Set<Class<?>> classes = Sets.newHashSet();
Binding binding = new Binding();
Script script = InvokerHelper.createScript(scriptClass, binding);
@@ -122,8 +120,7 @@
return classes;
}
- private static Set<Class<?>> scanArrayOfObjectOrClass(Object value)
- throws InvalidPluginException {
+ private static Set<Class<?>> scanArrayOfObjectOrClass(Object value) {
Set<Class<?>> classes = Sets.newHashSet();
ArrayList<?> list = (ArrayList<?>) value;
for (Object element : list) {
@@ -135,8 +132,7 @@
return classes;
}
- private static Class<?> scanObjectOrClass(Object element)
- throws InvalidPluginException {
+ private static Class<?> scanObjectOrClass(Object element) {
if (Class.class.isAssignableFrom(element.getClass())) {
return (Class<?>) element;
} else {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScriptEngine.java b/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScriptEngine.java
index e26ca86..1462bc4 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScriptEngine.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/scripting/groovyprovider/GroovyPluginScriptEngine.java
@@ -26,6 +26,6 @@
@Inject
public GroovyPluginScriptEngine(SitePaths sitePaths)
throws MalformedURLException {
- super(new URL[] {sitePaths.plugins_dir.toURI().toURL()});
+ super(new URL[] {sitePaths.plugins_dir.toUri().toURL()});
}
}