This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new f97b67b remove spotbugs warnings
f97b67b is described below
commit f97b67bbd39fc2582250245607e0bd41c36bc464
Author: Paul King <[email protected]>
AuthorDate: Sun Mar 15 15:39:24 2020 +1000
remove spotbugs warnings
---
.../tools/groovydoc/ArrayClassDocWrapper.java | 6 ++++++
.../groovy/tools/groovydoc/FileOutputTool.java | 24 +++++++++++++++++++---
.../tools/groovydoc/GroovyRootDocBuilder.java | 3 ++-
.../groovydoc/SimpleGroovyClassDocAssembler.java | 1 +
.../groovy/tools/groovydoc/SimpleGroovyDoc.java | 3 ++-
5 files changed, 32 insertions(+), 5 deletions(-)
diff --git
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
index 16a190a..74d16a5 100644
---
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
+++
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
@@ -294,4 +294,10 @@ public class ArrayClassDocWrapper implements
GroovyClassDoc {
public boolean equals(Object obj) {
return obj instanceof ArrayClassDocWrapper ?
delegate.equals(((ArrayClassDocWrapper) obj).delegate) : delegate.equals(obj);
}
+
+ @Override
+ public int hashCode() {
+ assert false : "hashCode not designed";
+ return 42; // any arbitrary constant will do
+ }
}
diff --git
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
index 93da202..2a9f515 100644
---
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
+++
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
@@ -21,16 +21,34 @@ package org.codehaus.groovy.tools.groovydoc;
import org.codehaus.groovy.runtime.ResourceGroovyMethods;
import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
public class FileOutputTool implements OutputTool {
public void makeOutputArea(String filename) {
- File dir = new File(filename);
- dir.mkdirs();
+ Path path = Paths.get(filename);
+ if (Files.exists(path)) {
+ return;
+ }
+ try {
+ Files.createDirectories(path);
+ } catch (IOException e) {
+ System.err.println("Unable to create directory '" + filename + "'
due to '" + e.getMessage() + "'; attempting to continue...");
+ }
}
public void writeToOutput(String fileName, String text, String charset)
throws Exception {
File file = new File(fileName);
- file.getParentFile().mkdirs();
+ Path path = file.getParentFile().toPath();
+ if (!Files.exists(path)) {
+ try {
+ Files.createDirectories(path);
+ } catch (IOException e) {
+ System.err.println("Unable to create parent directory '" +
path + "' due to '" + e.getMessage() + "'; attempting to continue...");
+ }
+ }
ResourceGroovyMethods.write(file, text, charset, true);
}
}
diff --git
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
index b739dae..832ae6c 100644
---
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
+++
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
@@ -27,6 +27,7 @@ import org.codehaus.groovy.tools.shell.util.Logger;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
@@ -56,7 +57,7 @@ public class GroovyRootDocBuilder {
}
public GroovyRootDocBuilder(String[] sourcepaths, List<LinkArgument>
links, Properties properties) {
- this.sourcepaths = sourcepaths;
+ this.sourcepaths = Arrays.copyOf(sourcepaths, sourcepaths.length);
this.links = links;
this.rootDoc = new SimpleGroovyRootDoc("root");
this.properties = properties;
diff --git
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
index 976d0b2..1147a5a 100644
---
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
+++
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
@@ -656,6 +656,7 @@ public class SimpleGroovyClassDocAssembler extends
VisitorAdapter implements Gro
case ABSTRACT:
memberOrClass.setAbstract(true);
break;
+ default:
}
currentModifier = currentModifier.getNextSibling();
}
diff --git
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
index 502bf17..8dffef1 100644
---
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
+++
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
@@ -23,6 +23,7 @@ import org.codehaus.groovy.groovydoc.GroovyTag;
import java.text.BreakIterator;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.regex.Matcher;
@@ -245,7 +246,7 @@ public class SimpleGroovyDoc implements GroovyDoc/*,
GroovyTokenTypes*/ {
// public GroovySeeTag[] seeTags() {/*todo*/return null;}
public GroovyTag[] tags() {
- return tags;
+ return Arrays.copyOf(tags, tags.length);
}
// public GroovyTag[] tags(String arg0) {/*todo*/return null;}