You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2024/09/20 06:12:36 UTC
(maven-archetype) branch master updated: [ARCHETYPE-678] Code cleanups
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
The following commit(s) were added to refs/heads/master by this push:
new 4f652a79 [ARCHETYPE-678] Code cleanups
4f652a79 is described below
commit 4f652a79f64d28ce1814370354894b0eb6e9c8d2
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Thu Sep 19 20:01:55 2024 +0200
[ARCHETYPE-678] Code cleanups
---
.../maven/archetype/DefaultArchetypeManager.java | 4 +-
.../archetype/common/ArchetypeArtifactManager.java | 1 -
.../archetype/common/ArchetypeFilesResolver.java | 1 -
.../apache/maven/archetype/common/Constants.java | 41 +++++++++----------
.../common/DefaultArchetypeArtifactManager.java | 7 ++--
.../common/DefaultArchetypeFilesResolver.java | 5 +--
.../maven/archetype/common/DefaultPomManager.java | 18 ++++-----
.../maven/archetype/common/util/ListScanner.java | 6 +--
.../archetype/common/util/NamespaceStack.java | 3 +-
.../maven/archetype/common/util/XMLOutputter.java | 13 +++---
.../maven/archetype/creator/ArchetypeCreator.java | 1 -
.../archetype/creator/FilesetArchetypeCreator.java | 42 +++++++++----------
.../exception/ArchetypeSelectionFailure.java | 9 -----
.../DefaultFilesetArchetypeGenerator.java | 17 ++++----
.../archetype/old/ArchetypeNotFoundException.java | 39 ------------------
.../old/ArchetypeTemplateProcessingException.java | 4 --
.../maven/archetype/old/DefaultOldArchetype.java | 37 +++++++++--------
.../apache/maven/archetype/old/OldArchetype.java | 4 +-
.../DefaultRepositoryCrawler.java | 4 +-
.../source/CatalogArchetypeDataSource.java | 5 +--
archetype-common/src/main/mdo/archetype.mdo | 8 ++--
.../archetype/common/util/TestXMLOutputter.java | 2 +-
.../generator/DefaultArchetypeGeneratorTest.java | 16 ++++----
.../archetype/old/descriptor/ArchetypeXsdTest.java | 2 +-
.../src/main/mdo/archetype-catalog.mdo | 12 +++---
.../src/main/mdo/archetype-descriptor.mdo | 8 ++--
.../java/org/apache/maven/plugins/HelloMojo.java | 3 +-
.../maven/archetype/mojos/CrawlRepositoryMojo.java | 5 +--
.../mojos/CreateArchetypeFromProjectMojo.java | 17 ++++----
.../mojos/CreateProjectFromArchetypeMojo.java | 15 ++-----
.../maven/archetype/mojos/IntegrationTestMojo.java | 25 ++++++------
.../org/apache/maven/archetype/mojos/JarMojo.java | 5 +--
.../maven/archetype/ui/ArchetypeFactory.java | 1 -
.../ui/creation/ArchetypeCreationConfigurator.java | 6 +--
.../ui/creation/ArchetypeCreationQueryer.java | 1 -
.../DefaultArchetypeCreationConfigurator.java | 47 +++-------------------
.../creation/DefaultArchetypeCreationQueryer.java | 4 +-
.../ui/generation/ArchetypeSelectionQueryer.java | 3 --
.../DefaultArchetypeSelectionQueryer.java | 13 +-----
.../ui/generation/DefaultArchetypeSelector.java | 2 +-
.../DefaultArchetypeGenerationQueryerTest.java | 4 +-
.../DefaultArchetypeSelectionQueryerTest.java | 2 +-
42 files changed, 161 insertions(+), 301 deletions(-)
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
index 44e429dc..dae46667 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
@@ -24,8 +24,8 @@ import javax.inject.Singleton;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
+import java.nio.file.Files;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
@@ -95,7 +95,7 @@ public class DefaultArchetypeManager extends AbstractLogEnabled implements Arche
getLogger().warn("Could not create new file \"" + archive.getPath() + "\" or the file already exists.");
}
- try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(archive))) {
+ try (ZipOutputStream zos = new ZipOutputStream(Files.newOutputStream(archive.toPath()))) {
zos.setLevel(9);
zipper(zos, sourceDirectory.getAbsolutePath().length(), sourceDirectory);
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
index 25669732..96b49c26 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
@@ -31,7 +31,6 @@ import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.RemoteRepository;
public interface ArchetypeArtifactManager {
- String ROLE = ArchetypeArtifactManager.class.getName();
Model getArchetypePom(File jar) throws XmlPullParserException, UnknownArchetype, IOException;
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java
index a9ef6b9b..bbbed3f6 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java
@@ -26,7 +26,6 @@ import org.apache.maven.archetype.metadata.FileSet;
/** @author rafale */
public interface ArchetypeFilesResolver {
- String ROLE = ArchetypeFilesResolver.class.getName();
List<String> getFilesWithExtension(List<String> files, String extension);
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java
index 888e04d0..3b98aea5 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java
@@ -55,25 +55,24 @@ public interface Constants {
String EXCLUDE_PATTERNS = "excludePatterns";
- List<String> DEFAULT_FILTERED_EXTENSIONS = Arrays.asList(new String[] {
- "java",
- "xml",
- "txt",
- "groovy",
- "cs",
- "mdo",
- "aj",
- "jsp",
- "gsp",
- "vm",
- "html",
- "xhtml",
- "properties",
- ".classpath",
- ".project"
- });
-
- List<String> DEFAULT_LANGUAGES = Arrays.asList(new String[] {"java", "groovy", "csharp", "aspectj"});
+ List<String> DEFAULT_FILTERED_EXTENSIONS = Arrays.asList(
+ "java",
+ "xml",
+ "txt",
+ "groovy",
+ "cs",
+ "mdo",
+ "aj",
+ "jsp",
+ "gsp",
+ "vm",
+ "html",
+ "xhtml",
+ "properties",
+ ".classpath",
+ ".project");
+
+ List<String> DEFAULT_LANGUAGES = Arrays.asList("java", "groovy", "csharp", "aspectj");
String GROUP_ID = "groupId";
@@ -91,12 +90,8 @@ public interface Constants {
String PARENT_ARTIFACT_ID = "parentArtifactId";
- String POM_PATH = Constants.ARCHETYPE_RESOURCES + "/" + Constants.ARCHETYPE_POM;
-
String RESOURCES = "resources";
- String SITE = "site";
-
String SRC = "src";
String TEST = "test";
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
index 3325640f..e06d4f3d 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
@@ -25,10 +25,12 @@ import javax.inject.Singleton;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
@@ -46,7 +48,6 @@ import org.apache.maven.archetype.metadata.io.xpp3.ArchetypeDescriptorXpp3Reader
import org.apache.maven.archetype.old.descriptor.ArchetypeDescriptorBuilder;
import org.apache.maven.model.Model;
import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.RemoteRepository;
@@ -265,7 +266,7 @@ public class DefaultArchetypeArtifactManager extends AbstractLogEnabled implemen
}
private boolean isFileSetArchetype(ZipFile zipFile) throws IOException {
- try (Reader reader = getArchetypeDescriptorReader(zipFile); ) {
+ try (Reader reader = getArchetypeDescriptorReader(zipFile)) {
return (reader != null);
}
}
@@ -330,7 +331,7 @@ public class DefaultArchetypeArtifactManager extends AbstractLogEnabled implemen
throw new IOException("The " + descriptor + " descriptor cannot be read in " + zipFile.getName() + ".");
}
- return ReaderFactory.newReader(is, ReaderFactory.UTF_8);
+ return new InputStreamReader(is, StandardCharsets.UTF_8);
}
private ZipEntry searchEntry(ZipFile zipFile, String searchString) {
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
index 1315189d..1130b2cd 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
@@ -24,7 +24,6 @@ import javax.inject.Singleton;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -271,14 +270,14 @@ public class DefaultArchetypeFilesResolver extends AbstractLogEnabled implements
}
private List<String> resolveFiles(File basedir, List<String> languages) throws IOException {
- String[] languagesArray = languages.toArray(new String[languages.size()]);
+ String[] languagesArray = languages.toArray(new String[0]);
String[] languagesPathesArray = new String[languagesArray.length];
for (int i = 0; i < languagesArray.length; i++) {
languagesPathesArray[i] = "**/src/**/" + languagesArray[i] + "/**";
}
String excludes = "target";
- for (String defaultExclude : Arrays.asList(ListScanner.DEFAULTEXCLUDES)) {
+ for (String defaultExclude : ListScanner.DEFAULTEXCLUDES) {
excludes += "," + defaultExclude + "/**";
}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java
index f6bed59e..4b2a1352 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java
@@ -24,7 +24,6 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -33,6 +32,7 @@ import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -56,8 +56,8 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.Xpp3DomUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -73,7 +73,7 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager
throws IOException, ParserConfigurationException, TransformerException, SAXException, InvalidPackaging,
ArchetypeTemplateProcessingException {
StringWriter out = new StringWriter();
- boolean found = PomUtils.addNewModule(artifactId, ReaderFactory.newXmlReader(pom), out);
+ boolean found = PomUtils.addNewModule(artifactId, new XmlStreamReader(pom), out);
if (found) {
FileUtils.fileWrite(pom.getAbsolutePath(), out.toString());
}
@@ -182,7 +182,7 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager
@Override
public Model readPom(final File pomFile) throws IOException, XmlPullParserException {
- try (Reader pomReader = ReaderFactory.newXmlReader(pomFile)) {
+ try (Reader pomReader = new XmlStreamReader(pomFile)) {
MavenXpp3Reader reader = new MavenXpp3Reader();
return reader.read(pomReader);
@@ -191,7 +191,7 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager
@Override
public Model readPom(InputStream pomStream) throws IOException, XmlPullParserException {
- try (Reader pomReader = ReaderFactory.newXmlReader(pomStream)) {
+ try (Reader pomReader = new XmlStreamReader(pomStream)) {
MavenXpp3Reader reader = new MavenXpp3Reader();
return reader.read(pomReader);
@@ -203,7 +203,7 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager
String fileEncoding = StringUtils.isEmpty(model.getModelEncoding()) ? "UTF-8" : model.getModelEncoding();
org.jdom2.Document doc;
- try (InputStream inputStream = new FileInputStream(initialPomFile)) {
+ try (InputStream inputStream = Files.newInputStream(initialPomFile.toPath())) {
SAXBuilder builder = new SAXBuilder();
doc = builder.build(inputStream);
} catch (JDOMException exc) {
@@ -225,7 +225,7 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager
} catch (FileNotFoundException e) {
getLogger().debug("Creating pom file " + pomFile);
- try (Writer pomWriter = new OutputStreamWriter(new FileOutputStream(pomFile), fileEncoding)) {
+ try (Writer pomWriter = new OutputStreamWriter(Files.newOutputStream(pomFile.toPath()), fileEncoding)) {
MavenXpp3Writer writer = new MavenXpp3Writer();
writer.write(pomWriter, model);
}
@@ -253,13 +253,13 @@ public class DefaultPomManager extends AbstractLogEnabled implements PomManager
private void mergeProfiles(Model model, Model generatedModel) {
List<Profile> generatedProfiles = generatedModel.getProfiles();
- if (generatedProfiles != null && generatedProfiles.size() > 0) {
+ if (generatedProfiles != null && !generatedProfiles.isEmpty()) {
List<Profile> modelProfiles = model.getProfiles();
Map<String, Profile> modelProfileIdMap = new HashMap<>();
if (modelProfiles == null) {
modelProfiles = new ArrayList<>();
model.setProfiles(modelProfiles);
- } else if (modelProfiles.size() > 0) {
+ } else if (!modelProfiles.isEmpty()) {
// add profile ids from the model for later lookups to the modelProfileIds set
for (Profile modelProfile : modelProfiles) {
modelProfileIdMap.put(modelProfile.getId(), modelProfile);
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/ListScanner.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/ListScanner.java
index b3fb5536..79dc983b 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/ListScanner.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/ListScanner.java
@@ -334,7 +334,7 @@ public class ListScanner {
* elements must be non-<code>null</code>.
*/
public void setExcludes(List<String> excludesList) {
- String[] excludes = excludesList.toArray(new String[excludesList.size()]);
+ String[] excludes = excludesList.toArray(new String[0]);
if (excludes == null) {
this.excludes = null;
} else {
@@ -362,7 +362,7 @@ public class ListScanner {
* elements must be non-<code>null</code>.
*/
public void setIncludes(List<String> includesList) {
- String[] includes = includesList.toArray(new String[includesList.size()]);
+ String[] includes = includesList.toArray(new String[0]);
if (includes == null) {
this.includes = null;
} else {
@@ -449,7 +449,7 @@ public class ListScanner {
String path = null;
String baseDir = getBasedir();
- if (baseDir.length() > 0) {
+ if (!baseDir.isEmpty()) {
baseDir = baseDir.concat(File.separator);
}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java
index 25b708df..0eea3c59 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/NamespaceStack.java
@@ -140,8 +140,7 @@ class NamespaceStack {
if (index == -1) {
return null;
}
- String uri = uris.elementAt(index);
- return uri;
+ return uris.elementAt(index);
}
/**
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java
index b470ec99..afcf8e0a 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/common/util/XMLOutputter.java
@@ -350,8 +350,7 @@ public class XMLOutputter implements Cloneable {
/** Get an OutputStreamWriter, use specified encoding. */
private static Writer makeWriter(OutputStream out, String enc) throws java.io.UnsupportedEncodingException {
- Writer writer = new BufferedWriter((new OutputStreamWriter(new BufferedOutputStream(out), enc)));
- return writer;
+ return new BufferedWriter((new OutputStreamWriter(new BufferedOutputStream(out), enc)));
}
// * * * * * * * * * * Output to a Writer * * * * * * * * * *
@@ -1271,12 +1270,12 @@ public class XMLOutputter implements Cloneable {
// Determine if a string starts with a XML whitespace.
private boolean startsWithWhite(String str) {
- return ((str != null) && (str.length() > 0) && isWhitespace(str.charAt(0)));
+ return ((str != null) && (!str.isEmpty()) && isWhitespace(str.charAt(0)));
}
// Determine if a string ends with a XML whitespace.
private boolean endsWithWhite(String str) {
- return ((str != null) && (str.length() > 0) && isWhitespace(str.charAt(str.length() - 1)));
+ return ((str != null) && (!str.isEmpty()) && isWhitespace(str.charAt(str.length() - 1)));
}
// Determine if a character is a XML whitespace.
@@ -1486,7 +1485,7 @@ public class XMLOutputter implements Cloneable {
+ "omitEncoding = " + userFormat.omitEncoding + ", "
+ "indent = '" + userFormat.indent + "'" + ", "
+ "expandEmptyElements = " + userFormat.expandEmptyElements + ", "
- + "lineSeparator = '" + buffer.toString() + "', "
+ + "lineSeparator = '" + buffer + "', "
+ "textMode = " + userFormat.mode + "]");
}
@@ -1508,12 +1507,12 @@ public class XMLOutputter implements Cloneable {
* declare a NamespaceStack parameter, but we don't want to
* declare the parent NamespaceStack class as public.
*/
- protected class NamespaceStack extends org.apache.maven.archetype.common.util.NamespaceStack {}
+ protected static class NamespaceStack extends org.apache.maven.archetype.common.util.NamespaceStack {}
// Support method to print a name without using elt.getQualifiedName()
// and thus avoiding a StringBuilder creation and memory churn
private void printQualifiedName(Writer out, Element e) throws IOException {
- if (e.getNamespace().getPrefix().length() == 0) {
+ if (e.getNamespace().getPrefix().isEmpty()) {
out.write(e.getName());
} else {
out.write(e.getNamespace().getPrefix());
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/creator/ArchetypeCreator.java b/archetype-common/src/main/java/org/apache/maven/archetype/creator/ArchetypeCreator.java
index e1c988a6..63d7785c 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/creator/ArchetypeCreator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/creator/ArchetypeCreator.java
@@ -25,7 +25,6 @@ import org.apache.maven.archetype.ArchetypeCreationResult;
* Create an archetype from a project.
*/
public interface ArchetypeCreator {
- String ROLE = ArchetypeCreator.class.getName();
void createArchetype(ArchetypeCreationRequest request, ArchetypeCreationResult result);
}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
index 021b6cc6..48be58dc 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
@@ -23,14 +23,12 @@ import javax.inject.Named;
import javax.inject.Singleton;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -73,9 +71,9 @@ import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
+import org.codehaus.plexus.util.xml.XmlStreamWriter;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -180,7 +178,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
List<String> excludePatterns = configurationProperties.getProperty(Constants.EXCLUDE_PATTERNS) != null
? Arrays.asList(
StringUtils.split(configurationProperties.getProperty(Constants.EXCLUDE_PATTERNS), ","))
- : Collections.<String>emptyList();
+ : Collections.emptyList();
List<String> fileNames = resolveFileNames(pom, basedir, excludePatterns);
if (getLogger().isDebugEnabled()) {
@@ -252,7 +250,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
keepParent);
getLogger().debug("Created Archetype " + archetypeDescriptor.getName() + " template pom(s)");
- try (Writer out = WriterFactory.newXmlWriter(archetypeDescriptorFile)) {
+ try (Writer out = new XmlStreamWriter(archetypeDescriptorFile)) {
ArchetypeDescriptorXpp3Writer writer = new ArchetypeDescriptorXpp3Writer();
writer.write(out, archetypeDescriptor);
@@ -329,7 +327,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
}
try (InputStream in = FilesetArchetypeCreator.class.getResourceAsStream("archetype.properties");
- OutputStream out = new FileOutputStream(archetypePropertiesFile)) {
+ OutputStream out = Files.newOutputStream(archetypePropertiesFile.toPath())) {
Properties archetypeProperties = new Properties();
archetypeProperties.load(in);
@@ -449,7 +447,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
}
try (InputStream in = FilesetArchetypeCreator.class.getResourceAsStream(name);
- OutputStream out = new FileOutputStream(destination)) {
+ OutputStream out = Files.newOutputStream(destination.toPath())) {
IOUtil.copy(in, out);
}
}
@@ -489,7 +487,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
File archetypeFilesDirectory,
boolean preserveCData,
boolean keepParent)
- throws FileNotFoundException, IOException, XmlPullParserException {
+ throws IOException, XmlPullParserException {
Model pom = pomManager.readPom(FileUtils.resolveFile(basedir, Constants.ARCHETYPE_POM));
String parentArtifactId = pomReversedProperties.getProperty(Constants.PARENT_ARTIFACT_ID);
@@ -538,7 +536,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
Properties pomReversedProperties,
boolean preserveCData,
boolean keepParent)
- throws IOException, FileNotFoundException, XmlPullParserException {
+ throws IOException, XmlPullParserException {
setArtifactId(pomReversedProperties, pom.getArtifactId());
for (String moduleId : pom.getModules()) {
@@ -735,7 +733,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
List<String> result = new ArrayList<>(toConcatenate.size());
for (String concatenate : toConcatenate) {
- result.add(((with.length() > 0) ? (with + "/" + concatenate) : concatenate));
+ result.add(((!with.isEmpty()) ? (with + "/" + concatenate) : concatenate));
}
return result;
@@ -850,8 +848,8 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
outputFile.getParentFile().mkdirs();
- try (Reader in = ReaderFactory.newXmlReader(inputFile);
- Writer out = WriterFactory.newXmlWriter(outputFile)) {
+ try (Reader in = new XmlStreamReader(inputFile);
+ Writer out = new XmlStreamWriter(outputFile)) {
String initialcontent = IOUtil.toString(in);
String content = getReversedContent(initialcontent, pomReversedProperties);
@@ -881,7 +879,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
pomManager.writePom(pom, outputFile, initialPomFile);
}
- try (Reader in = ReaderFactory.newXmlReader(initialPomFile)) {
+ try (Reader in = new XmlStreamReader(initialPomFile)) {
String initialcontent = IOUtil.toString(in);
Iterator<?> properties = pomReversedProperties.keySet().iterator();
@@ -1000,7 +998,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
List<String> excludePatterns = reverseProperties.getProperty(Constants.EXCLUDE_PATTERNS) != null
? Arrays.asList(StringUtils.split(reverseProperties.getProperty(Constants.EXCLUDE_PATTERNS), ","))
- : Collections.<String>emptyList();
+ : Collections.emptyList();
List<String> fileNames = resolveFileNames(pom, basedir, excludePatterns);
@@ -1075,8 +1073,8 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
outputFile.getParentFile().mkdirs();
- try (Reader in = ReaderFactory.newXmlReader(inputFile);
- Writer out = WriterFactory.newXmlWriter(outputFile)) {
+ try (Reader in = new XmlStreamReader(inputFile);
+ Writer out = new XmlStreamWriter(outputFile)) {
String initialcontent = IOUtil.toString(in);
String content = getReversedContent(initialcontent, pomReversedProperties);
@@ -1126,7 +1124,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
pomManager.writePom(pom, outputFile, initialPomFile);
}
- try (Reader in = ReaderFactory.newXmlReader(initialPomFile)) {
+ try (Reader in = new XmlStreamReader(initialPomFile)) {
String initialcontent = IOUtil.toString(in);
for (Iterator<?> properties = pomReversedProperties.keySet().iterator(); properties.hasNext(); ) {
@@ -1160,7 +1158,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
directory = StringUtils.replace(directory, File.separator, "/");
if (!groups.containsKey(directory)) {
- groups.put(directory, new ArrayList<String>());
+ groups.put(directory, new ArrayList<>());
}
List<String> group = groups.get(directory);
@@ -1266,7 +1264,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
String fileEncoding = detector.isFound() ? detector.getCharset() : defaultEncoding;
- String initialcontent = IOUtil.toString(new FileInputStream(inputFile), fileEncoding);
+ String initialcontent = IOUtil.toString(Files.newInputStream(inputFile.toPath()), fileEncoding);
for (Iterator<?> properties = reverseProperties.keySet().iterator(); properties.hasNext(); ) {
String property = (String) properties.next();
@@ -1291,7 +1289,7 @@ public class FilesetArchetypeCreator extends AbstractLogEnabled implements Arche
.warn("Could not create new file \"" + outputFile.getPath() + "\" or the file already exists.");
}
- try (OutputStream os = new FileOutputStream(outputFile)) {
+ try (OutputStream os = Files.newOutputStream(outputFile.toPath())) {
write(content, os, fileEncoding);
}
}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeSelectionFailure.java b/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeSelectionFailure.java
index 3227f066..9791b7ae 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeSelectionFailure.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeSelectionFailure.java
@@ -19,17 +19,8 @@
package org.apache.maven.archetype.exception;
public class ArchetypeSelectionFailure extends ArchetypeException {
- public ArchetypeSelectionFailure() {}
public ArchetypeSelectionFailure(String msg) {
super(msg);
}
-
- public ArchetypeSelectionFailure(Throwable cause) {
- super(cause);
- }
-
- public ArchetypeSelectionFailure(String msg, Throwable cause) {
- super(msg, cause);
- }
}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
index 15239199..c57eb8f6 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
@@ -25,14 +25,13 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -184,7 +183,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
}
}
- if (archetypeDescriptor.getModules().size() > 0) {
+ if (!archetypeDescriptor.getModules().isEmpty()) {
getLogger().info("Modules ignored in partial mode");
}
} else {
@@ -282,7 +281,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
}
try (InputStream inputStream = archetypeZipFile.getInputStream(input);
- OutputStream out = new FileOutputStream(outFile)) {
+ OutputStream out = Files.newOutputStream(outFile.toPath())) {
IOUtil.copy(inputStream, out);
}
}
@@ -301,7 +300,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
String moduleOffset,
boolean failIfExists,
Context context)
- throws OutputFileExists, FileNotFoundException, IOException {
+ throws OutputFileExists, IOException {
int count = 0;
for (String template : fileSetResources) {
@@ -358,7 +357,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
while (matcher.find()) {
String propertyToken = matcher.group(1);
String contextPropertyValue = (String) context.get(propertyToken);
- if (contextPropertyValue != null && contextPropertyValue.trim().length() > 0) {
+ if (contextPropertyValue != null && !contextPropertyValue.trim().isEmpty()) {
if (getLogger().isDebugEnabled()) {
getLogger()
.debug("Replacing property '" + propertyToken + "' in file path '" + filePath
@@ -463,7 +462,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
Context context,
String packageName,
File outputDirectoryFile)
- throws OutputFileExists, ArchetypeGenerationFailure, FileNotFoundException, IOException {
+ throws OutputFileExists, ArchetypeGenerationFailure, IOException {
processTemplates(
packageName,
outputDirectoryFile,
@@ -483,7 +482,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
Context context,
String packageName,
File outputDirectoryFile)
- throws OutputFileExists, ArchetypeGenerationFailure, FileNotFoundException, IOException {
+ throws OutputFileExists, ArchetypeGenerationFailure, IOException {
processTemplates(
packageName,
outputDirectoryFile,
@@ -739,7 +738,7 @@ public class DefaultFilesetArchetypeGenerator extends AbstractLogEnabled impleme
getLogger().debug("Merging into " + outFile);
- try (Writer writer = new OutputStreamWriter(new FileOutputStream(outFile), encoding)) {
+ try (Writer writer = new OutputStreamWriter(Files.newOutputStream(outFile.toPath()), encoding)) {
StringWriter stringWriter = new StringWriter();
velocity.getEngine().mergeTemplate(templateFileName, encoding, context, stringWriter);
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeNotFoundException.java b/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeNotFoundException.java
deleted file mode 100644
index 3b4a6980..00000000
--- a/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeNotFoundException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.
- */
-package org.apache.maven.archetype.old;
-
-import org.apache.maven.archetype.exception.ArchetypeGenerationFailure;
-
-/**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @version $Id$
- */
-public class ArchetypeNotFoundException extends ArchetypeGenerationFailure {
- public ArchetypeNotFoundException(String message) {
- super(message);
- }
-
- public ArchetypeNotFoundException(Throwable cause) {
- super(cause);
- }
-
- public ArchetypeNotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeTemplateProcessingException.java b/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeTemplateProcessingException.java
index 7d822e13..f90cf56b 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeTemplateProcessingException.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/old/ArchetypeTemplateProcessingException.java
@@ -29,10 +29,6 @@ public class ArchetypeTemplateProcessingException extends ArchetypeGenerationFai
super(message);
}
- public ArchetypeTemplateProcessingException(Throwable cause) {
- super(cause);
- }
-
public ArchetypeTemplateProcessingException(String message, Throwable cause) {
super(message, cause);
}
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java b/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
index 470ca4af..9f51255d 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
@@ -25,7 +25,6 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -36,11 +35,11 @@ import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.nio.file.Files;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import org.apache.commons.io.input.XmlStreamReader;
import org.apache.maven.archetype.ArchetypeGenerationRequest;
import org.apache.maven.archetype.common.ArchetypeArtifactManager;
import org.apache.maven.archetype.common.Constants;
@@ -61,9 +60,9 @@ import org.apache.velocity.context.Context;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
+import org.codehaus.plexus.util.xml.XmlStreamWriter;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.codehaus.plexus.velocity.VelocityComponent;
import org.xml.sax.SAXException;
@@ -259,7 +258,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
Model parentModel = null;
if (creating) {
if (parentPomFile.exists()) {
- try (Reader fileReader = ReaderFactory.newXmlReader(parentPomFile)) {
+ try (Reader fileReader = new XmlStreamReader(parentPomFile)) {
MavenXpp3Reader reader = new MavenXpp3Reader();
parentModel = reader.read(fileReader);
if (!"pom".equals(parentModel.getPackaging())) {
@@ -306,14 +305,14 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
boolean added;
StringWriter w = new StringWriter();
- try (Reader fileReader = ReaderFactory.newXmlReader(parentPomFile)) {
+ try (Reader fileReader = new XmlStreamReader(parentPomFile)) {
added = addModuleToParentPom(artifactId, fileReader, w);
} catch (IOException | SAXException | ParserConfigurationException | TransformerException e) {
throw new ArchetypeTemplateProcessingException("Unable to rewrite parent POM", e);
}
if (added) {
- try (Writer out = WriterFactory.newXmlWriter(parentPomFile)) {
+ try (Writer out = new XmlStreamWriter(parentPomFile)) {
IOUtil.copy(w.toString(), out);
} catch (IOException e) {
throw new ArchetypeTemplateProcessingException("Unable to rewrite parent POM", e);
@@ -368,7 +367,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
Model generatedModel;
- try (Reader pomReader = ReaderFactory.newXmlReader(pomFile)) {
+ try (Reader pomReader = new XmlStreamReader(pomFile)) {
MavenXpp3Reader reader = new MavenXpp3Reader();
generatedModel = reader.read(pomReader);
@@ -389,7 +388,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
generatedModel.setParent(parent);
- try (Writer pomWriter = WriterFactory.newXmlWriter(pomFile)) {
+ try (Writer pomWriter = new XmlStreamWriter(pomFile)) {
MavenXpp3Writer writer = new MavenXpp3Writer();
writer.write(pomWriter, generatedModel);
} catch (IOException e) {
@@ -444,7 +443,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
// create resource director(y/ies) if specified in POM
- if (foundBuildElement && build.getResources().size() > 0) {
+ if (foundBuildElement && !build.getResources().isEmpty()) {
getLogger().debug("Overriding default resource directory ");
overrideResourceDir = true;
@@ -475,7 +474,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
// create test resource directory if specified in POM
- if (foundBuildElement && build.getTestResources().size() > 0) {
+ if (foundBuildElement && !build.getTestResources().isEmpty()) {
getLogger().debug("Overriding default test resource directory ");
overrideTestResourceDir = true;
@@ -501,7 +500,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
// Main
// ----------------------------------------------------------------------
- if (descriptor.getSources().size() > 0) {
+ if (!descriptor.getSources().isEmpty()) {
if (!overrideSrcDir) {
FileUtils.mkdir(outputDirectory + DEFAULT_SOURCE_DIR);
processSources(outputDirectory, context, descriptor, packageName, DEFAULT_SOURCE_DIR);
@@ -510,7 +509,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
}
- if (descriptor.getResources().size() > 0) {
+ if (!descriptor.getResources().isEmpty()) {
if (!overrideResourceDir) {
FileUtils.mkdir(outputDirectory + DEFAULT_RESOURCE_DIR);
}
@@ -521,7 +520,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
// Test
// ----------------------------------------------------------------------
- if (descriptor.getTestSources().size() > 0) {
+ if (!descriptor.getTestSources().isEmpty()) {
if (!overrideTestSrcDir) {
FileUtils.mkdir(outputDirectory + DEFAULT_TEST_SOURCE_DIR);
processTestSources(outputDirectory, context, descriptor, packageName, DEFAULT_TEST_SOURCE_DIR);
@@ -530,7 +529,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
}
- if (descriptor.getTestResources().size() > 0) {
+ if (!descriptor.getTestResources().isEmpty()) {
if (!overrideTestResourceDir) {
FileUtils.mkdir(outputDirectory + DEFAULT_TEST_RESOURCE_DIR);
}
@@ -541,7 +540,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
// Site
// ----------------------------------------------------------------------
- if (descriptor.getSiteResources().size() > 0) {
+ if (!descriptor.getSiteResources().isEmpty()) {
processSiteResources(outputDirectory, context, descriptor, packageName);
}
}
@@ -677,7 +676,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
if (extraPackages.startsWith("/")) {
extraPackages = extraPackages.substring(1);
}
- if (extraPackages.length() > 0) {
+ if (!extraPackages.isEmpty()) {
path += "/" + extraPackages;
}
@@ -695,7 +694,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
if (descriptor.isFiltered()) {
- try (Writer writer = new OutputStreamWriter(new FileOutputStream(f), descriptor.getEncoding())) {
+ try (Writer writer = new OutputStreamWriter(Files.newOutputStream(f.toPath()), descriptor.getEncoding())) {
StringWriter stringWriter = new StringWriter();
template = ARCHETYPE_RESOURCES + "/" + template;
@@ -708,7 +707,7 @@ public class DefaultOldArchetype extends AbstractLogEnabled implements OldArchet
}
} else {
try (InputStream is = getStream(ARCHETYPE_RESOURCES + "/" + template, null);
- OutputStream fos = new FileOutputStream(f)) {
+ OutputStream fos = Files.newOutputStream(f.toPath())) {
IOUtil.copy(is, fos);
} catch (Exception e) {
throw new ArchetypeTemplateProcessingException("Error copying file", e);
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java b/archetype-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java
index 4b8c25cb..d721a8ca 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java
@@ -46,8 +46,8 @@ public interface OldArchetype {
* Download an archetype then create a project from it.
*/
void createArchetype(ArchetypeGenerationRequest request)
- throws UnknownArchetype, ArchetypeNotFoundException, ArchetypeDescriptorException,
- ArchetypeTemplateProcessingException, InvalidPackaging;
+ throws UnknownArchetype, ArchetypeDescriptorException, ArchetypeTemplateProcessingException,
+ InvalidPackaging;
/**
* Create a project from an archetype file.
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java b/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java
index 830d9348..b56e7ad8 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/repositorycrawler/DefaultRepositoryCrawler.java
@@ -36,7 +36,7 @@ import org.apache.maven.archetype.exception.UnknownArchetype;
import org.apache.maven.model.Model;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.XmlStreamWriter;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
/**
@@ -131,7 +131,7 @@ public class DefaultRepositoryCrawler extends AbstractLogEnabled implements Repo
public boolean writeCatalog(ArchetypeCatalog archetypeCatalog, File archetypeCatalogFile) {
ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer();
- try (Writer fileWriter = WriterFactory.newXmlWriter(archetypeCatalogFile)) {
+ try (Writer fileWriter = new XmlStreamWriter(archetypeCatalogFile)) {
catalogWriter.write(fileWriter, archetypeCatalog);
return true;
} catch (IOException ex) {
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
index 0581c432..6cd6b115 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
@@ -27,17 +27,16 @@ import org.apache.maven.archetype.catalog.ArchetypeCatalog;
import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Reader;
import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.XmlStreamWriter;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
/**
* @author Jason van Zyl
*/
public abstract class CatalogArchetypeDataSource extends AbstractLogEnabled implements ArchetypeDataSource {
- public static final String ARCHETYPE_CATALOG_PROPERTY = "file";
protected void writeLocalCatalog(ArchetypeCatalog catalog, File catalogFile) throws ArchetypeDataSourceException {
- try (Writer writer = WriterFactory.newXmlWriter(catalogFile)) {
+ try (Writer writer = new XmlStreamWriter(catalogFile)) {
ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer();
catalogWriter.write(writer, catalog);
diff --git a/archetype-common/src/main/mdo/archetype.mdo b/archetype-common/src/main/mdo/archetype.mdo
index 0f7ea76c..948db05e 100644
--- a/archetype-common/src/main/mdo/archetype.mdo
+++ b/archetype-common/src/main/mdo/archetype.mdo
@@ -19,10 +19,10 @@ specific language governing permissions and limitations
under the License.
-->
-<model xmlns="https://codehaus-plexus.github.io/MODELLO/1.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://codehaus-plexus.github.io/MODELLO/1.8.0 https://codehaus-plexus.github.io/modello/xsd/modello-1.8.0.xsd"
- xml.namespace="https://maven.apache.org/plugins/maven-archetype-plugin/archetype/${version}"
- xml.schemaLocation="https://maven.apache.org/xsd/archetype-${version}.xsd">
+<model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd"
+ xml.namespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/${version}"
+ xml.schemaLocation="http://maven.apache.org/xsd/archetype-catalog-${version}.xsd">
<id>archetype</id>
<name>Archetype</name>
<description>
diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/common/util/TestXMLOutputter.java b/archetype-common/src/test/java/org/apache/maven/archetype/common/util/TestXMLOutputter.java
index f3495c79..98c1d134 100644
--- a/archetype-common/src/test/java/org/apache/maven/archetype/common/util/TestXMLOutputter.java
+++ b/archetype-common/src/test/java/org/apache/maven/archetype/common/util/TestXMLOutputter.java
@@ -41,7 +41,7 @@ public class TestXMLOutputter extends TestCase {
StringWriter sw = new StringWriter();
new XMLOutputter().output(doc, sw);
- System.out.println("Resulting content is:\n\n\'" + sw.toString() + "\'\n\n");
+ System.out.println("Resulting content is:\n\n\'" + sw + "\'\n\n");
assertTrue(sw.toString().indexOf(content) > -1);
}
diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
index 5bc61059..fb9d5cc0 100644
--- a/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
+++ b/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
@@ -19,11 +19,10 @@
package org.apache.maven.archetype.generator;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
+import java.nio.file.Files;
import java.util.Properties;
import org.apache.maven.archetype.ArchetypeGenerationRequest;
@@ -33,7 +32,7 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
@@ -586,7 +585,7 @@ public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase {
assertEquals("${packageInPathFormat}", properties.getProperty("packageInPathFormat"));
}
- private void copy(final File in, final File out) throws IOException, FileNotFoundException {
+ private void copy(final File in, final File out) throws IOException {
assertTrue(!out.exists() || out.delete());
assertFalse(out.exists());
@@ -596,9 +595,9 @@ public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase {
assertTrue(in.exists());
}
- private Properties loadProperties(File propertyFile) throws IOException, FileNotFoundException {
+ private Properties loadProperties(File propertyFile) throws IOException {
Properties properties = new Properties();
- try (InputStream in = new FileInputStream(propertyFile)) {
+ try (InputStream in = Files.newInputStream(propertyFile.toPath())) {
properties.load(in);
return properties;
}
@@ -610,8 +609,7 @@ public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase {
fail("Missing File: " + templateFile);
}
- Properties properties = loadProperties(templateFile);
- return properties;
+ return loadProperties(templateFile);
}
private File getProjectFile() {
@@ -623,7 +621,7 @@ public class DefaultArchetypeGeneratorTest extends AbstractMojoTestCase {
}
private Model readPom(final File pomFile) throws IOException, XmlPullParserException {
- try (Reader pomReader = ReaderFactory.newXmlReader(pomFile)) {
+ try (Reader pomReader = new XmlStreamReader(pomFile)) {
MavenXpp3Reader reader = new MavenXpp3Reader();
return reader.read(pomReader);
diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java b/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java
index d6a451f0..cc4dfa63 100644
--- a/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java
+++ b/archetype-common/src/test/java/org/apache/maven/archetype/old/descriptor/ArchetypeXsdTest.java
@@ -44,7 +44,7 @@ public class ArchetypeXsdTest extends PlexusTestCase {
"http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
saxParser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", archetypeXsd);
- try (InputStream in = getClass().getResourceAsStream("sample-archetype.xml"); ) {
+ try (InputStream in = getClass().getResourceAsStream("sample-archetype.xml")) {
saxParser.parse(new InputSource(in), new Handler());
}
}
diff --git a/archetype-models/archetype-catalog/src/main/mdo/archetype-catalog.mdo b/archetype-models/archetype-catalog/src/main/mdo/archetype-catalog.mdo
index 268198f5..541f88c9 100644
--- a/archetype-models/archetype-catalog/src/main/mdo/archetype-catalog.mdo
+++ b/archetype-models/archetype-catalog/src/main/mdo/archetype-catalog.mdo
@@ -17,10 +17,10 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<model xmlns="https://codehaus-plexus.github.io/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://codehaus-plexus.github.io/MODELLO/1.4.0 https://codehaus-plexus.github.io/modello/xsd/modello-1.4.0.xsd"
- xml.namespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/${version}"
- xml.schemaLocation="http://maven.apache.org/xsd/archetype-catalog-${version}.xsd">
+<model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd"
+ xml.namespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/${version}"
+ xml.schemaLocation="http://maven.apache.org/xsd/archetype-catalog-${version}.xsd">
<id>archetype-catalog</id>
<name>ArchetypeCatalog</name>
<description>
@@ -56,7 +56,7 @@
<type>Archetype</type>
<multiplicity>*</multiplicity>
</association>
- <description>List of Acthetypes available in this catalog.</description>
+ <description>List of Archetypes available in this catalog.</description>
</field>
</fields>
<codeSegments>
@@ -73,7 +73,7 @@
<class>
<name>Archetype</name>
- <description>Informations to point to an Archetype referenced in the catalog.</description>
+ <description>Information to point to an Archetype referenced in the catalog.</description>
<fields>
<field>
<name>groupId</name>
diff --git a/archetype-models/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo b/archetype-models/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo
index b35579f7..9977c2f1 100644
--- a/archetype-models/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo
+++ b/archetype-models/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo
@@ -19,10 +19,10 @@
-->
<!-- START SNIPPET: modello-model --><!-- for https://maven.apache.org/guides/mini/guide-using-modello.html -->
-<model xmlns="https://codehaus-plexus.github.io/MODELLO/1.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://codehaus-plexus.github.io/MODELLO/1.8.0 https://codehaus-plexus.github.io/modello/xsd/modello-1.8.0.xsd"
- xml.namespace="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/${version}"
- xml.schemaLocation="http://maven.apache.org/xsd/archetype-descriptor-${version}.xsd">
+<model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd"
+ xml.namespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/${version}"
+ xml.schemaLocation="http://maven.apache.org/xsd/archetype-catalog-${version}.xsd">
<id>archetype-descriptor</id>
<name>ArchetypeDescriptor</name>
<description>
diff --git a/archetype-samples/mojo/src/main/java/org/apache/maven/plugins/HelloMojo.java b/archetype-samples/mojo/src/main/java/org/apache/maven/plugins/HelloMojo.java
index c1ee1d19..a94eedc1 100644
--- a/archetype-samples/mojo/src/main/java/org/apache/maven/plugins/HelloMojo.java
+++ b/archetype-samples/mojo/src/main/java/org/apache/maven/plugins/HelloMojo.java
@@ -2,7 +2,6 @@ package org.apache.maven.plugins;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
/**
* Says Hello to someone.
@@ -16,7 +15,7 @@ public class HelloMojo extends AbstractMojo {
*/
String toWhom;
- public void execute() throws MojoExecutionException, MojoFailureException {
+ public void execute() throws MojoExecutionException {
getLog().info("Hello " + toWhom + "!");
}
}
\ No newline at end of file
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java
index 92be7763..df752445 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CrawlRepositoryMojo.java
@@ -24,7 +24,6 @@ import org.apache.maven.archetype.catalog.ArchetypeCatalog;
import org.apache.maven.archetype.repositorycrawler.RepositoryCrawler;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@@ -52,11 +51,11 @@ public class CrawlRepositoryMojo extends AbstractMojo {
private File repository;
@Override
- public void execute() throws MojoExecutionException, MojoFailureException {
+ public void execute() throws MojoExecutionException {
getLog().debug("repository " + repository + ", catalogFile " + catalogFile);
if (repository == null) {
- throw new MojoFailureException("The repository is not defined. Use -Drepository=/path/to/repository");
+ throw new MojoExecutionException("The repository is not defined. Use -Drepository=/path/to/repository");
}
ArchetypeCatalog catalog = crawler.crawl(repository);
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
index dbd76efd..f5db439e 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
@@ -33,7 +33,6 @@ import org.apache.maven.archetype.ui.creation.ArchetypeCreationConfigurator;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -220,8 +219,11 @@ public class CreateArchetypeFromProjectMojo extends AbstractMojo {
private MavenSession session;
@Override
- public void execute() throws MojoExecutionException, MojoFailureException {
- Properties executionProperties = session.getExecutionProperties();
+ public void execute() throws MojoExecutionException {
+
+ Properties executionProperties = new Properties(session.getSystemProperties());
+ executionProperties.putAll(session.getUserProperties());
+
try {
if (propertyFile != null) {
propertyFile.getParentFile().mkdirs();
@@ -253,10 +255,7 @@ public class CreateArchetypeFromProjectMojo extends AbstractMojo {
ArchetypeCreationResult result = manager.createArchetypeFromProject(request);
if (result.getCause() != null) {
- throw new MojoFailureException(
- result.getCause(),
- result.getCause().getMessage(),
- result.getCause().getMessage());
+ throw new MojoExecutionException(result.getCause().getMessage(), result.getCause());
}
getLog().info("Archetype project created in " + outputDirectory);
@@ -273,10 +272,8 @@ public class CreateArchetypeFromProjectMojo extends AbstractMojo {
// This of course would be strung together from the outside.
}
- } catch (MojoFailureException ex) {
- throw ex;
} catch (Exception ex) {
- throw new MojoFailureException(ex, ex.getMessage(), ex.getMessage());
+ throw new MojoExecutionException(ex.getMessage(), ex);
}
}
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
index 6cc53e07..c095be35 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
@@ -32,7 +32,6 @@ import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.ContextEnabled;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -164,7 +163,7 @@ public class CreateProjectFromArchetypeMojo extends AbstractMojo implements Cont
private String filter;
@Override
- public void execute() throws MojoExecutionException, MojoFailureException {
+ public void execute() throws MojoExecutionException {
Properties executionProperties = session.getUserProperties();
ArchetypeGenerationRequest request = new ArchetypeGenerationRequest()
@@ -196,15 +195,10 @@ public class CreateProjectFromArchetypeMojo extends AbstractMojo implements Cont
ArchetypeGenerationResult generationResult = manager.generateProjectFromArchetype(request);
if (generationResult.getCause() != null) {
- throw new MojoFailureException(
- generationResult.getCause(),
- generationResult.getCause().getMessage(),
- generationResult.getCause().getMessage());
+ throw new MojoExecutionException(generationResult.getCause().getMessage(), generationResult.getCause());
}
- } catch (MojoFailureException ex) {
- throw ex;
} catch (Exception ex) {
- throw (MojoFailureException) new MojoFailureException(ex.getMessage()).initCause(ex);
+ throw new MojoExecutionException(ex.getMessage(), ex);
}
String artifactId = request.getArtifactId();
@@ -220,8 +214,7 @@ public class CreateProjectFromArchetypeMojo extends AbstractMojo implements Cont
}
}
- private void invokePostArchetypeGenerationGoals(String goals, String artifactId)
- throws MojoExecutionException, MojoFailureException {
+ private void invokePostArchetypeGenerationGoals(String goals, String artifactId) throws MojoExecutionException {
getLog().info("Invoking post-archetype-generation goals: " + goals);
File projectBasedir = new File(outputDirectory, artifactId);
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
index 86e3015b..4543ed4c 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
@@ -20,7 +20,6 @@ package org.apache.maven.archetype.mojos;
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
@@ -28,6 +27,7 @@ import java.io.InputStream;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
+import java.nio.file.Files;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -49,7 +49,6 @@ import org.apache.maven.archetype.generator.ArchetypeGenerator;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@@ -66,10 +65,10 @@ import org.apache.maven.shared.scriptinterpreter.ScriptRunner;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.InterpolationFilterReader;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.WriterFactory;
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
+import org.codehaus.plexus.util.xml.XmlStreamReader;
+import org.codehaus.plexus.util.xml.XmlStreamWriter;
import org.slf4j.LoggerFactory;
/**
@@ -273,7 +272,7 @@ public class IntegrationTestMojo extends AbstractMojo {
private Map<String, String> properties = new HashMap<>();
@Override
- public void execute() throws MojoExecutionException, MojoFailureException {
+ public void execute() throws MojoExecutionException {
if (skip) {
return;
}
@@ -287,7 +286,7 @@ public class IntegrationTestMojo extends AbstractMojo {
File archetypeFile = project.getArtifact().getFile();
if (archetypeFile == null) {
- throw new MojoFailureException("Unable to get the archetypes' artifact which should have just been built:"
+ throw new MojoExecutionException("Unable to get the archetypes' artifact which should have just been built:"
+ " you probably launched 'mvn archetype:integration-test' instead of"
+ " 'mvn integration-test'.");
}
@@ -295,7 +294,7 @@ public class IntegrationTestMojo extends AbstractMojo {
try {
List<File> projectsGoalFiles = FileUtils.getFiles(testProjectsDirectory, "**/goal.txt", "");
- if (projectsGoalFiles.size() == 0) {
+ if (projectsGoalFiles.isEmpty()) {
getLog().warn("No Archetype IT projects: no directory with goal.txt found.");
return;
@@ -317,7 +316,7 @@ public class IntegrationTestMojo extends AbstractMojo {
throw new MojoExecutionException(errors);
}
} catch (IOException ex) {
- throw new MojoFailureException(ex, ex.getMessage(), ex.getMessage());
+ throw new MojoExecutionException(ex.getMessage(), ex);
}
}
@@ -419,7 +418,7 @@ public class IntegrationTestMojo extends AbstractMojo {
private Properties loadProperties(final File propertiesFile) throws IOException {
Properties properties = new Properties();
- try (InputStream in = new FileInputStream(propertiesFile)) {
+ try (InputStream in = Files.newInputStream(propertiesFile.toPath())) {
properties.load(in);
}
@@ -671,7 +670,7 @@ public class IntegrationTestMojo extends AbstractMojo {
return logger;
}
- class IntegrationTestFailure extends Exception {
+ static class IntegrationTestFailure extends Exception {
IntegrationTestFailure() {
super();
}
@@ -720,12 +719,12 @@ public class IntegrationTestMojo extends AbstractMojo {
// interpolation with token @...@
Map<String, Object> composite = getInterpolationValueSource();
- try (Reader xmlStreamReader = ReaderFactory.newXmlReader(originalFile);
+ try (Reader xmlStreamReader = new XmlStreamReader(originalFile);
Reader reader = new InterpolationFilterReader(xmlStreamReader, composite, "@", "@")) {
xml = IOUtil.toString(reader);
}
- try (Writer writer = WriterFactory.newXmlWriter(interpolatedFile)) {
+ try (Writer writer = new XmlStreamWriter(interpolatedFile)) {
interpolatedFile.getParentFile().mkdirs();
writer.write(xml);
@@ -760,7 +759,7 @@ public class IntegrationTestMojo extends AbstractMojo {
throw new IllegalArgumentException("no project specified");
}
this.mavenProject = mavenProject;
- this.properties = properties == null ? (Map) new Properties() : properties;
+ this.properties = properties == null ? new HashMap<>() : properties;
}
/**
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java
index a3bd0e1e..599c6609 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/JarMojo.java
@@ -31,7 +31,6 @@ import org.apache.maven.archiver.MavenArchiver;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
@@ -123,7 +122,7 @@ public class JarMojo extends AbstractMojo {
private ArchetypeArtifactManager archetypeArtifactManager;
@Override
- public void execute() throws MojoExecutionException, MojoFailureException {
+ public void execute() throws MojoExecutionException {
File jarFile = new File(outputDirectory, finalName + ".jar");
getLog().info("Building archetype jar: " + jarFile);
@@ -135,7 +134,7 @@ public class JarMojo extends AbstractMojo {
archiver.setArchiver((JarArchiver) archivers.get("jar"));
// configure for Reproducible Builds based on outputTimestamp value
- archiver.configureReproducible(outputTimestamp);
+ archiver.configureReproducibleBuild(outputTimestamp);
try {
DefaultFileSet fs = DefaultFileSet.fileSet(archetypeDirectory)
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeFactory.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeFactory.java
index 13adcf31..2461e867 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeFactory.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeFactory.java
@@ -23,7 +23,6 @@ import java.util.Properties;
import org.apache.maven.project.MavenProject;
public interface ArchetypeFactory {
- String ROLE = ArchetypeFactory.class.getName();
ArchetypeDefinition createArchetypeDefinition(Properties properties);
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationConfigurator.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationConfigurator.java
index 90b70932..30c8f647 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationConfigurator.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationConfigurator.java
@@ -19,14 +19,12 @@
package org.apache.maven.archetype.ui.creation;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import java.util.Properties;
import org.apache.maven.archetype.exception.ArchetypeNotConfigured;
import org.apache.maven.archetype.exception.ArchetypeNotDefined;
-import org.apache.maven.archetype.exception.TemplateCreationException;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.components.interactivity.PrompterException;
@@ -34,7 +32,6 @@ import org.codehaus.plexus.components.interactivity.PrompterException;
* Configurator component to organize steps for archetype creation from a project.
*/
public interface ArchetypeCreationConfigurator {
- String ROLE = ArchetypeCreationConfigurator.class.getName();
Properties configureArchetypeCreation(
MavenProject project,
@@ -42,6 +39,5 @@ public interface ArchetypeCreationConfigurator {
Properties commandLineProperties,
File propertyFile,
List<String> languages)
- throws FileNotFoundException, IOException, ArchetypeNotDefined, ArchetypeNotConfigured, PrompterException,
- TemplateCreationException;
+ throws IOException, ArchetypeNotDefined, ArchetypeNotConfigured, PrompterException;
}
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationQueryer.java
index a0e07248..ead9f987 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationQueryer.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/ArchetypeCreationQueryer.java
@@ -27,7 +27,6 @@ import org.codehaus.plexus.components.interactivity.PrompterException;
* TODO this interface is bound to its implementation through the prompter exception
*/
public interface ArchetypeCreationQueryer {
- String ROLE = ArchetypeCreationQueryer.class.getName();
/**
*/
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java
index 7aa0f529..11f76ab9 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationConfigurator.java
@@ -23,13 +23,10 @@ import javax.inject.Named;
import javax.inject.Singleton;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Iterator;
+import java.nio.file.Files;
+import java.nio.file.NoSuchFileException;
import java.util.List;
import java.util.Properties;
@@ -37,7 +34,6 @@ import org.apache.maven.archetype.common.ArchetypeFilesResolver;
import org.apache.maven.archetype.common.Constants;
import org.apache.maven.archetype.exception.ArchetypeNotConfigured;
import org.apache.maven.archetype.exception.ArchetypeNotDefined;
-import org.apache.maven.archetype.exception.TemplateCreationException;
import org.apache.maven.archetype.ui.ArchetypeConfiguration;
import org.apache.maven.archetype.ui.ArchetypeDefinition;
import org.apache.maven.archetype.ui.ArchetypeFactory;
@@ -65,8 +61,7 @@ public class DefaultArchetypeCreationConfigurator extends AbstractLogEnabled imp
Properties commandLineProperties,
File propertyFile,
List<String> languages)
- throws IOException, ArchetypeNotDefined, ArchetypeNotConfigured, PrompterException,
- TemplateCreationException {
+ throws IOException, ArchetypeNotDefined, ArchetypeNotConfigured, PrompterException {
Properties properties = initialiseArchetypeProperties(commandLineProperties, propertyFile);
ArchetypeDefinition archetypeDefinition = archetypeFactory.createArchetypeDefinition(properties);
@@ -250,46 +245,16 @@ public class DefaultArchetypeCreationConfigurator extends AbstractLogEnabled imp
return archetypeFactory.createArchetypeConfiguration(project, archetypeDefinition, properties);
}
- public void readProperties(Properties properties, File propertyFile) throws IOException {
+ private void readProperties(Properties properties, File propertyFile) throws IOException {
getLogger().debug("Reading property file " + propertyFile);
- try (InputStream is = new FileInputStream(propertyFile)) {
+ try (InputStream is = Files.newInputStream(propertyFile.toPath())) {
properties.load(is);
getLogger().debug("Read " + properties.size() + " properties");
}
}
- public void writeProperties(Properties properties, File propertyFile) throws IOException {
- Properties storedProperties = new Properties();
- try {
- readProperties(storedProperties, propertyFile);
- } catch (FileNotFoundException ex) {
- getLogger().debug("Property file not found. Creating a new one");
- }
-
- getLogger().debug("Adding " + properties.size() + " properties");
-
- Iterator<?> propertiesIterator = properties.keySet().iterator();
- while (propertiesIterator.hasNext()) {
- String propertyKey = (String) propertiesIterator.next();
- storedProperties.setProperty(propertyKey, properties.getProperty(propertyKey));
- }
-
- propertyFile.getParentFile().mkdirs();
-
- if (!propertyFile.exists() && !propertyFile.createNewFile()) {
- getLogger()
- .warn("Could not create new file \"" + propertyFile.getPath() + "\" or the file already exists.");
- }
-
- try (OutputStream os = new FileOutputStream(propertyFile)) {
- storedProperties.store(os, "");
-
- getLogger().debug("Stored " + storedProperties.size() + " properties");
- }
- }
-
private Properties initialiseArchetypeProperties(Properties commandLineProperties, File propertyFile)
throws IOException {
Properties properties = new Properties();
@@ -297,7 +262,7 @@ public class DefaultArchetypeCreationConfigurator extends AbstractLogEnabled imp
if (propertyFile != null) {
try {
readProperties(properties, propertyFile);
- } catch (FileNotFoundException ex) {
+ } catch (NoSuchFileException ex) {
getLogger().debug(propertyFile.getName() + " does not exist");
}
}
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java
index 500e95e8..f9481b98 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/creation/DefaultArchetypeCreationQueryer.java
@@ -69,9 +69,7 @@ public class DefaultArchetypeCreationQueryer extends AbstractLogEnabled implemen
public String askNewPropertyKey() throws PrompterException {
String query = "Define property key";
- String answer = prompter.prompt(query);
-
- return answer;
+ return prompter.prompt(query);
}
@Override
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/ArchetypeSelectionQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/ArchetypeSelectionQueryer.java
index fa7f6472..c419c815 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/ArchetypeSelectionQueryer.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/ArchetypeSelectionQueryer.java
@@ -31,12 +31,9 @@ import org.codehaus.plexus.components.interactivity.PrompterException;
* TODO this interface is bound to its implementation through the prompter exception
*/
public interface ArchetypeSelectionQueryer {
- String ROLE = ArchetypeSelectionQueryer.class.getName();
Archetype selectArchetype(Map<String, List<Archetype>> map) throws PrompterException;
- boolean confirmSelection(ArchetypeDefinition archetypeDefinition) throws PrompterException;
-
/**
* Select an archetype from the given map.
*
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java
index 6bc551de..59b1c85e 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryer.java
@@ -23,7 +23,6 @@ import javax.inject.Named;
import javax.inject.Singleton;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -49,16 +48,6 @@ public class DefaultArchetypeSelectionQueryer extends AbstractLogEnabled impleme
@Named("archetype")
private Prompter prompter;
- @Override
- public boolean confirmSelection(ArchetypeDefinition archetypeDefinition) throws PrompterException {
- String query = "Confirm archetype selection: \n" + archetypeDefinition.getGroupId() + "/"
- + archetypeDefinition.getName() + "\n";
-
- String answer = prompter.prompt(query, Arrays.asList(new String[] {"Y", "N"}), "Y");
-
- return "Y".equalsIgnoreCase(answer);
- }
-
@Override
public Archetype selectArchetype(Map<String, List<Archetype>> catalogs) throws PrompterException {
return selectArchetype(catalogs, null);
@@ -128,7 +117,7 @@ public class DefaultArchetypeSelectionQueryer extends AbstractLogEnabled impleme
answer = prompter.prompt(query.toString(), Integer.toString(defaultSelection));
}
- if (NumberUtils.isNumber(answer)) {
+ if (NumberUtils.isCreatable(answer)) {
selection = archetypeAnswerMap.get(answer);
} else {
// not a number so apply filter and ask again
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java
index 00c68022..a58a2549 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelector.java
@@ -133,7 +133,7 @@ public class DefaultArchetypeSelector extends AbstractLogEnabled implements Arch
definition.setArtifactId(DEFAULT_ARCHETYPE_ARTIFACTID);
}
- if (interactiveMode.booleanValue() && (archetypes.size() > 0)) {
+ if (interactiveMode.booleanValue() && (!archetypes.isEmpty())) {
Archetype selectedArchetype = archetypeSelectionQueryer.selectArchetype(archetypes, definition);
updateDefinition(definition, selectedArchetype);
diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java
index 3b7b113b..65d404a4 100644
--- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java
+++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationQueryerTest.java
@@ -45,8 +45,8 @@ public class DefaultArchetypeGenerationQueryerTest extends PlexusTestCase {
public void testPropertyRegexValidationRetry() throws PrompterException {
Prompter prompter = EasyMock.createMock(Prompter.class);
- EasyMock.expect(prompter.prompt(EasyMock.<String>anyObject())).andReturn("invalid-answer");
- EasyMock.expect(prompter.prompt(EasyMock.<String>anyObject())).andReturn("valid-answer");
+ EasyMock.expect(prompter.prompt(EasyMock.anyObject())).andReturn("invalid-answer");
+ EasyMock.expect(prompter.prompt(EasyMock.anyObject())).andReturn("valid-answer");
EasyMock.replay(prompter);
queryer.setPrompter(prompter);
diff --git a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java
index 922d8358..17f8df21 100644
--- a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java
+++ b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeSelectionQueryerTest.java
@@ -43,7 +43,7 @@ public class DefaultArchetypeSelectionQueryerTest extends PlexusTestCase {
public void setUp() throws Exception {
super.setUp();
- queryer = (DefaultArchetypeSelectionQueryer) lookup(ArchetypeSelectionQueryer.ROLE);
+ queryer = (DefaultArchetypeSelectionQueryer) lookup(ArchetypeSelectionQueryer.class);
}
public void testDefaultArchetypeInMapOtherSelection() throws PrompterException {