Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP4:SLECandidates
maven-native
0001-Require-Java-8.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Require-Java-8.patch of Package maven-native
From d24d45e6824b5afb77000f3eeb4abf1513dabb50 Mon Sep 17 00:00:00 2001 From: Sylwester Lachiewicz <slachiewicz@apache.org> Date: Thu, 21 Apr 2022 02:47:13 +0200 Subject: [PATCH] Require Java 8 --- maven-native-api/pom.xml | 4 - .../org/codehaus/mojo/natives/Dependency.java | 34 ++---- .../codehaus/mojo/natives/NativeSources.java | 24 ++-- .../natives/compiler/AbstractCompiler.java | 17 ++- .../compiler/AbstractMessageCompiler.java | 4 +- .../compiler/AbstractResourceCompiler.java | 4 +- .../codehaus/mojo/natives/javah/Javah.java | 2 +- .../mojo/natives/linker/AbstractLinker.java | 8 +- .../mojo/natives/linker/ArchiveLinker.java | 4 +- .../mojo/natives/parser/BranchState.java | 4 +- .../mojo/natives/parser/FilenameState.java | 6 +- .../codehaus/mojo/natives/util/EnvUtil.java | 6 +- .../codehaus/mojo/natives/util/FileSet.java | 4 +- .../codehaus/mojo/natives/util/FileUtil.java | 8 +- .../mojo/natives/AbstractDependencyTest.java | 1 - .../codehaus/mojo/natives/DependencyTest.java | 6 +- .../mojo/natives/NativeSourcesTest.java | 3 - .../natives/compiler/CompilerUtilTest.java | 2 - .../codehaus/mojo/natives/bcc/BCCLinker.java | 17 +-- .../codehaus/mojo/natives/bcc/TLibLinker.java | 4 +- .../mojo/natives/bcc/TLibLinkerTest.java | 1 - .../mojo/natives/c/AbstractCCompiler.java | 8 +- .../org/codehaus/mojo/natives/c/CLinker.java | 16 +-- .../mojo/natives/c/CCompilerClassicTest.java | 2 - .../mojo/natives/c/CCompilerTest.java | 7 -- .../codehaus/mojo/natives/c/CLinkerTest.java | 11 +- .../mojo/natives/javah/JavahExecutable.java | 2 +- .../natives/javah/JavahExecutableTest.java | 4 - .../natives/mingw/AbstractGccCompiler.java | 8 +- .../mojo/natives/mingw/GccLinker.java | 16 +-- .../mojo/natives/mingw/GccCompilerTest.java | 7 -- .../mojo/natives/mingw/GccLinkerTest.java | 11 +- ...AbstractMSVC2017CircaEnvFactoryHelper.java | 63 ++++++++++ .../natives/msvc/AbstractMSVCEnvFactory.java | 15 ++- .../natives/msvc/MSVC2019EnvFactoryTest.java | 110 +++++++++++++++++ .../mojo/natives/msvc/MSVCCompilerTest.java | 1 - .../mojo/natives/msvc/MSVCLinkerTest.java | 2 - .../codehaus/mojo/natives/test/TestUtils.java | 112 ++++++++++++++++++ .../natives/plugin/AbstractNativeMojo.java | 7 +- .../plugin/NativeBundleIncludeFilesMojo.java | 10 +- .../natives/plugin/NativeCompileMojo.java | 1 - .../mojo/natives/plugin/NativeJavahMojo.java | 14 +-- .../mojo/natives/plugin/NativeLinkMojo.java | 33 ++---- .../mojo/natives/plugin/NativeMojoUtils.java | 10 +- .../natives/plugin/NativeUnZipIncMojo.java | 6 +- .../mojo/natives/noop/NoopCompiler.java | 4 +- .../natives/plugin/NativeLinkerMojoTest.java | 4 +- pom.xml | 72 +++++------ 48 files changed, 430 insertions(+), 289 deletions(-) create mode 100644 maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVC2017CircaEnvFactoryHelper.java create mode 100644 maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVC2019EnvFactoryTest.java create mode 100644 maven-native-test/src/test/java/org/codehaus/mojo/natives/test/TestUtils.java diff --git a/maven-native-api/pom.xml b/maven-native-api/pom.xml index 38f8293..9c276bb 100644 --- a/maven-native-api/pom.xml +++ b/maven-native-api/pom.xml @@ -9,10 +9,6 @@ <artifactId>maven-native-api</artifactId> <name>Maven Native API</name> <dependencies> - <dependency> - <groupId>backport-util-concurrent</groupId> - <artifactId>backport-util-concurrent</artifactId> - </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-container-default</artifactId> diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/Dependency.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/Dependency.java index 344b192..5717085 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/Dependency.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/Dependency.java @@ -29,7 +29,6 @@ import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.util.ArrayList; -import java.util.Iterator; import org.codehaus.mojo.natives.parser.Parser; @@ -100,10 +99,8 @@ public class Dependency File[] resolvedIncludeFiles = resolveIncludeNames( includeNames ); - for ( int i = 0; i < resolvedIncludeFiles.length; ++i ) + for ( File fileName : resolvedIncludeFiles ) { - File fileName = resolvedIncludeFiles[i]; - Dependency depend = new Dependency( this, fileName, this.parser, this.includePaths ); if ( !this.getRoot().contains( depend ) ) @@ -141,12 +138,8 @@ public class Dependency { long currentLastModify = this.lastModified; - Iterator<Dependency> iterator = this.getDependencies().iterator(); - - while ( iterator.hasNext() ) + for ( Dependency dependency : this.getDependencies() ) { - Dependency dependency = iterator.next(); - long lastModified = dependency.getCompositeLastModified(); if ( lastModified > currentLastModify ) @@ -161,22 +154,11 @@ public class Dependency private String[] getIncludeNames() throws IOException { - Reader reader = null; - - try + try ( Reader reader = new BufferedReader( new FileReader( this.source ) ) ) { - reader = new BufferedReader( new FileReader( this.source ) ); parser.parse( reader ); - return parser.getIncludes(); } - finally - { - if ( reader != null ) - { - reader.close(); - } - } } /** @@ -189,9 +171,9 @@ public class Dependency { ArrayList<File> resolvedIncludeFiles = new ArrayList<>( includeNames.length ); - for ( int i = 0; i < includeNames.length; ++i ) + for ( String includeName : includeNames ) { - File resolvedFile = resolveSingleIncludeName( includeNames[i] ); + File resolvedFile = resolveSingleIncludeName( includeName ); if ( resolvedFile != null ) { @@ -242,16 +224,14 @@ public class Dependency * @param includeName * @param includePath * @return - * @throws IOException */ private File resolveSingleIncludeNameFromPaths( String includeName, File[] includePath ) - throws IOException { File includeFile = null; - for ( int i = 0; i < includePath.length; i++ ) + for ( File file : includePath ) { - File tmpFile = new File( includePath[i], includeName ); + File tmpFile = new File( file, includeName ); // make sure we dont pickup directory like STL which has no extension if ( tmpFile.exists() && tmpFile.isFile() ) diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/NativeSources.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/NativeSources.java index 2863582..dbf511f 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/NativeSources.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/NativeSources.java @@ -175,15 +175,15 @@ public class NativeSources } List<File> files = new ArrayList<>( filePaths.length + this.fileNames.length ); - for ( int i = 0; i < filePaths.length; ++i ) + for ( String filePath : filePaths ) { - files.add( new File( this.directory, filePaths[i] ) ); + files.add( new File( this.directory, filePath ) ); } // remove duplicate files - for ( int i = 0; i < this.fileNames.length; ++i ) + for ( String fileName : this.fileNames ) { - File file = new File( this.directory, this.fileNames[i] ); + File file = new File( this.directory, fileName ); boolean found = false; @@ -225,9 +225,9 @@ public class NativeSources List<File> sourceFiles = new ArrayList<>(); - for ( int i = 0; i < sources.length; ++i ) + for ( NativeSources source : sources ) { - sourceFiles.addAll( sources[i].getFiles() ); + sourceFiles.addAll( source.getFiles() ); } return sourceFiles.toArray( new File[sourceFiles.size()] ); @@ -242,11 +242,11 @@ public class NativeSources List<File> list = new ArrayList<>(); - for ( int i = 0; i < sources.length; ++i ) + for ( NativeSources source : sources ) { - if ( sources[i].getDependencyAnalysisParticipation() ) + if ( source.getDependencyAnalysisParticipation() ) { - list.add( sources[i].getDirectory() ); + list.add( source.getDirectory() ); } } @@ -262,11 +262,11 @@ public class NativeSources List<File> list = new ArrayList<>(); - for ( int i = 0; i < sources.length; ++i ) + for ( NativeSources source : sources ) { - if ( !sources[i].getDependencyAnalysisParticipation() ) + if ( !source.getDependencyAnalysisParticipation() ) { - list.add( sources[i].getDirectory() ); + list.add( source.getDirectory() ); } } diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractCompiler.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractCompiler.java index bf503f4..b5ba2e9 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractCompiler.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractCompiler.java @@ -24,6 +24,10 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import org.codehaus.mojo.natives.NativeBuildException; import org.codehaus.mojo.natives.SourceDependencyAnalyzer; @@ -36,11 +40,6 @@ import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.cli.Commandline; -import edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue; -import edu.emory.mathcs.backport.java.util.concurrent.RejectedExecutionException; -import edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor; -import edu.emory.mathcs.backport.java.util.concurrent.TimeUnit; - public abstract class AbstractCompiler extends AbstractLogEnabled implements Compiler @@ -69,10 +68,8 @@ public abstract class AbstractCompiler compilerThreadPoolExecutor = new CompilerThreadPoolExecutor( config.getNumberOfConcurrentCompilation() ); } - for ( int i = 0; i < sourceFiles.length; ++i ) + for ( File source : sourceFiles ) { - File source = sourceFiles[i]; - File objectFile = getObjectFile( source, config.getOutputDirectory(), config.getObjectFileExtension() ); compilerOutputFiles.add( objectFile ); @@ -205,7 +202,7 @@ public abstract class AbstractCompiler } private class CompilerThreadPoolExecutor - extends ThreadPoolExecutor + extends ThreadPoolExecutor { private boolean errorFound = false; @@ -221,7 +218,7 @@ public abstract class AbstractCompiler public CompilerThreadPoolExecutor( int corePoolSize ) { - super( corePoolSize, corePoolSize, 30, TimeUnit.SECONDS, new ArrayBlockingQueue( corePoolSize * 2 ) ); + super( corePoolSize, corePoolSize, 30, TimeUnit.SECONDS, new ArrayBlockingQueue<>( corePoolSize * 2 ) ); } @Override diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractMessageCompiler.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractMessageCompiler.java index 681e767..514f39c 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractMessageCompiler.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractMessageCompiler.java @@ -44,9 +44,9 @@ public abstract class AbstractMessageCompiler throws NativeBuildException { - for ( int i = 0; i < sourceFiles.length; ++i ) + for ( File sourceFile : sourceFiles ) { - Commandline cl = getCommandLine( config, sourceFiles[i] ); + Commandline cl = getCommandLine( config, sourceFile ); EnvUtil.setupCommandlineEnv( cl, config.getEnvFactory() ); diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractResourceCompiler.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractResourceCompiler.java index 5bbb71b..81fa44f 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractResourceCompiler.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/compiler/AbstractResourceCompiler.java @@ -57,10 +57,8 @@ public abstract class AbstractResourceCompiler List<File> compilerOutputFiles = new ArrayList<>( sourceFiles.length ); - for ( int i = 0; i < sourceFiles.length; ++i ) + for ( File src : sourceFiles ) { - File src = sourceFiles[i]; - if ( !"rc".equals( FileUtils.getExtension( src.getPath() ) ) ) { continue; diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/javah/Javah.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/javah/Javah.java index 3a3ce76..7c5f71e 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/javah/Javah.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/javah/Javah.java @@ -30,7 +30,7 @@ import org.codehaus.mojo.natives.NativeBuildException; */ public interface Javah { - static String ROLE = Javah.class.getName(); + String ROLE = Javah.class.getName(); void compile( JavahConfiguration configuration ) throws NativeBuildException; diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/AbstractLinker.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/AbstractLinker.java index c63c67c..ac37503 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/AbstractLinker.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/AbstractLinker.java @@ -72,14 +72,14 @@ public abstract class AbstractLinker if ( previousDestination.exists() ) { - for ( int i = 0; i < compilerOutputFiles.size(); ++i ) + for ( File compilerOutputFile : compilerOutputFiles ) { - if ( previousDestination.lastModified() < compilerOutputFiles.get( i ).lastModified() ) + if ( previousDestination.lastModified() < compilerOutputFile.lastModified() ) { if ( this.getLogger().isDebugEnabled() ) { getLogger().debug( "Stale relative to compilerOutputFiles: " - + compilerOutputFiles.get( i ).getAbsolutePath() ); + + compilerOutputFile.getAbsolutePath() ); } return true; @@ -89,7 +89,7 @@ public abstract class AbstractLinker for ( int i = 0; i < config.getExternalLibFileNames().size(); ++i ) { File extLib = new File( config.getExternalLibDirectory(), - (String) config.getExternalLibFileNames().get( i ) ); + config.getExternalLibFileNames().get( i ) ); if ( previousDestination.lastModified() < extLib.lastModified() ) { diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/ArchiveLinker.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/ArchiveLinker.java index e5de885..d8acfb5 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/ArchiveLinker.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/linker/ArchiveLinker.java @@ -70,10 +70,8 @@ public class ArchiveLinker cl.createArg().setFile( config.getOutputFile() ); - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); - cl.createArg().setValue( objFile.getPath() ); } diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/BranchState.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/BranchState.java index 4ba3b60..d557470 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/BranchState.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/BranchState.java @@ -29,8 +29,8 @@ public class BranchState AbstractParserState noMatchState ) { super( parser ); - this.branchChars = (char[]) branchChars.clone(); - this.branchStates = (AbstractParserState[]) branchStates.clone(); + this.branchChars = branchChars.clone(); + this.branchStates = branchStates.clone(); this.noMatchState = noMatchState; } diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/FilenameState.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/FilenameState.java index 52b99c2..46608c7 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/FilenameState.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/parser/FilenameState.java @@ -26,14 +26,14 @@ public class FilenameState public FilenameState( AbstractParser parser, char[] terminators ) { super( parser ); - this.terminators = (char[]) terminators.clone(); + this.terminators = terminators.clone(); } public AbstractParserState consume( char ch ) { - for ( int i = 0; i < terminators.length; i++ ) + for ( char terminator : terminators ) { - if ( ch == terminators[i] ) + if ( ch == terminator ) { getParser().addFilename( buf.toString() ); buf.setLength( 0 ); diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/EnvUtil.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/EnvUtil.java index c1bba68..05154a6 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/EnvUtil.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/EnvUtil.java @@ -1,6 +1,5 @@ package org.codehaus.mojo.natives.util; -import java.util.Iterator; import java.util.Map; import org.codehaus.mojo.natives.EnvFactory; import org.codehaus.mojo.natives.NativeBuildException; @@ -66,11 +65,8 @@ public class EnvUtil { Map<String, String> envs = envFactory.getEnvironmentVariables(); - Iterator<String> iter = envs.keySet().iterator(); - - while ( iter.hasNext() ) + for ( String key : envs.keySet() ) { - String key = iter.next(); cl.addEnvironment( key, envs.get( key ) ); } } diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileSet.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileSet.java index 7dd0c31..27c85ca 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileSet.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileSet.java @@ -51,7 +51,7 @@ public class FileSet includes = this.trimCommaSeparateString( includes ); - files = (File[]) FileUtils.getFiles( basedir, includes, excludes ).toArray( EMPTY_FILE_ARRAY ); + files = FileUtils.getFiles( basedir, includes, excludes ).toArray( EMPTY_FILE_ARRAY ); } public FileSet( File basedir, File[] files ) @@ -94,7 +94,7 @@ public class FileSet return ""; } - StringBuffer out = new StringBuffer(); + StringBuilder out = new StringBuilder(); String[] tokens = StringUtils.split( in, "," ); for ( int i = 0; i < tokens.length; ++i ) diff --git a/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileUtil.java b/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileUtil.java index 478a5b0..b21b24c 100644 --- a/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileUtil.java +++ b/maven-native-api/src/main/java/org/codehaus/mojo/natives/util/FileUtil.java @@ -59,7 +59,7 @@ public class FileUtil // // see if the prefixes are the same // - if ( canonicalBase.substring( 0, 2 ).equals( "\\\\" ) ) + if ( canonicalBase.startsWith( "\\\\" ) ) { // // UNC file name, if target file doesn't also start with same @@ -74,7 +74,7 @@ public class FileUtil } else { - if ( canonicalBase.substring( 1, 3 ).equals( ":\\" ) ) + if ( canonicalBase.startsWith( ":\\", 1 ) ) { int endPrefix = 2; String prefix1 = canonicalBase.substring( 0, endPrefix ); @@ -126,7 +126,7 @@ public class FileUtil } } - StringBuffer relativePath = new StringBuffer( 50 ); + StringBuilder relativePath = new StringBuilder( 50 ); // // walk from the first difference to the end of the base @@ -192,7 +192,7 @@ public class FileUtil */ public static String truncatePath( String path, String baseDirectory ) { - if ( path.indexOf( baseDirectory ) >= 0 ) + if ( path.contains( baseDirectory ) ) { path = path.substring( path.indexOf( baseDirectory ) + baseDirectory.length() ); if ( path.startsWith( File.separator ) ) diff --git a/maven-native-api/src/test/java/org/codehaus/mojo/natives/AbstractDependencyTest.java b/maven-native-api/src/test/java/org/codehaus/mojo/natives/AbstractDependencyTest.java index 5a403b8..fd5b273 100644 --- a/maven-native-api/src/test/java/org/codehaus/mojo/natives/AbstractDependencyTest.java +++ b/maven-native-api/src/test/java/org/codehaus/mojo/natives/AbstractDependencyTest.java @@ -71,7 +71,6 @@ public abstract class AbstractDependencyTest } protected void removeFile( String filePath ) - throws IOException { new File( filePath ).delete(); } diff --git a/maven-native-api/src/test/java/org/codehaus/mojo/natives/DependencyTest.java b/maven-native-api/src/test/java/org/codehaus/mojo/natives/DependencyTest.java index 3578b7d..712fc51 100644 --- a/maven-native-api/src/test/java/org/codehaus/mojo/natives/DependencyTest.java +++ b/maven-native-api/src/test/java/org/codehaus/mojo/natives/DependencyTest.java @@ -43,7 +43,7 @@ public class DependencyTest * Source has includes, but include path is not given **/ public void testNoneParticipateDepedencyAnalysisInclude() - throws IOException, InterruptedException + throws IOException { String testSrcDir = "target/test/testNoneParticipateDepedencyAnalysisInclude/c/"; String testSource = testSrcDir + "test1.c"; @@ -68,7 +68,7 @@ public class DependencyTest } public void testCyclicOnTheSameSource() - throws IOException, InterruptedException + throws IOException { String testIncDir = "target/test/testCyclicOnTheSameSource/h/"; String testSource = testIncDir + "test1.h"; @@ -137,7 +137,7 @@ public class DependencyTest assertEquals( 3, dependency.getDeepDependencyCount() ); - assertTrue( srcFile.lastModified() == dependency.getCompositeLastModified() ); + assertEquals( srcFile.lastModified(), dependency.getCompositeLastModified() ); } diff --git a/maven-native-api/src/test/java/org/codehaus/mojo/natives/NativeSourcesTest.java b/maven-native-api/src/test/java/org/codehaus/mojo/natives/NativeSourcesTest.java index 56507f6..54b5e4f 100644 --- a/maven-native-api/src/test/java/org/codehaus/mojo/natives/NativeSourcesTest.java +++ b/maven-native-api/src/test/java/org/codehaus/mojo/natives/NativeSourcesTest.java @@ -26,7 +26,6 @@ public class NativeSourcesTest } public void testFileNamesOnly() - throws Exception { NativeSources source = new NativeSources(); source.setDirectory( this.workDirectory ); @@ -39,7 +38,6 @@ public class NativeSourcesTest } public void testEmptyIncludes() - throws Exception { NativeSources source = new NativeSources(); source.setDirectory( this.workDirectory ); @@ -98,7 +96,6 @@ public class NativeSourcesTest } public void testEmpty() - throws Exception { NativeSources source = new NativeSources(); source.setDirectory( this.workDirectory ); diff --git a/maven-native-api/src/test/java/org/codehaus/mojo/natives/compiler/CompilerUtilTest.java b/maven-native-api/src/test/java/org/codehaus/mojo/natives/compiler/CompilerUtilTest.java index 60711e4..3ee01e7 100644 --- a/maven-native-api/src/test/java/org/codehaus/mojo/natives/compiler/CompilerUtilTest.java +++ b/maven-native-api/src/test/java/org/codehaus/mojo/natives/compiler/CompilerUtilTest.java @@ -10,7 +10,6 @@ public class CompilerUtilTest { public void testGetObjectFileFromSourceWithNoExtension() - throws Exception { File source; @@ -32,7 +31,6 @@ public class CompilerUtilTest } public void testGetObjectFileWithKnownExtension() - throws Exception { File source = new File( "target/somefile.c" ); diff --git a/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/BCCLinker.java b/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/BCCLinker.java index 0320d04..cb8a7ce 100644 --- a/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/BCCLinker.java +++ b/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/BCCLinker.java @@ -24,7 +24,6 @@ package org.codehaus.mojo.natives.bcc; import java.io.File; -import java.util.Iterator; import java.util.List; import org.codehaus.mojo.natives.NativeBuildException; import org.codehaus.mojo.natives.c.CLinker; @@ -65,18 +64,14 @@ public class BCCLinker cl.addArguments( config.getStartOptions() ); // objfiles - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); - cl.createArg().setValue( objFile.getPath() ); } - for ( Iterator<String> iter = config.getExternalLibFileNames().iterator(); iter.hasNext(); ) + for ( String fileName : config.getExternalLibFileNames() ) { - String fileName = iter.next(); - - if ( !FileUtils.getExtension( fileName ).toLowerCase().equals( "res" ) ) + if ( !FileUtils.getExtension( fileName ).equalsIgnoreCase( "res" ) ) { cl.createArg().setFile( new File( config.getExternalLibDirectory(), fileName ) ); } @@ -92,11 +87,9 @@ public class BCCLinker // res file cl.createArg().setValue( "," ); - for ( Iterator<String> iter = config.getExternalLibFileNames().iterator(); iter.hasNext(); ) + for ( String fileName : config.getExternalLibFileNames() ) { - String fileName = iter.next(); - - if ( FileUtils.getExtension( fileName ).toLowerCase().equals( "res" ) ) + if ( FileUtils.getExtension( fileName ).equalsIgnoreCase( "res" ) ) { cl.createArg().setFile( new File( config.getExternalLibDirectory(), fileName ) ); } diff --git a/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/TLibLinker.java b/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/TLibLinker.java index e3cb5fe..3eb1a74 100644 --- a/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/TLibLinker.java +++ b/maven-native-components/maven-native-bcc/src/main/java/org/codehaus/mojo/natives/bcc/TLibLinker.java @@ -64,10 +64,8 @@ public class TLibLinker cl.createArg().setValue( config.getStartOptions()[i] ); } - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); - cl.createArg().setValue( "+\"" + objFile.getPath() + "\"" ); } diff --git a/maven-native-components/maven-native-bcc/src/test/java/org/codehaus/mojo/natives/bcc/TLibLinkerTest.java b/maven-native-components/maven-native-bcc/src/test/java/org/codehaus/mojo/natives/bcc/TLibLinkerTest.java index 6f37521..aa9a726 100644 --- a/maven-native-components/maven-native-bcc/src/test/java/org/codehaus/mojo/natives/bcc/TLibLinkerTest.java +++ b/maven-native-components/maven-native-bcc/src/test/java/org/codehaus/mojo/natives/bcc/TLibLinkerTest.java @@ -39,7 +39,6 @@ public class TLibLinkerTest { public void testCommandLine() - throws Exception { TLibLinker linker = new TLibLinker(); diff --git a/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/AbstractCCompiler.java b/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/AbstractCCompiler.java index dc21a3b..2ac3bd9 100644 --- a/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/AbstractCCompiler.java +++ b/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/AbstractCCompiler.java @@ -90,9 +90,9 @@ public abstract class AbstractCCompiler { if ( options != null ) { - for ( int i = 0; i < options.length; ++i ) + for ( String option : options ) { - cl.createArg().setValue( options[i] ); + cl.createArg().setValue( option ); } } } @@ -116,9 +116,9 @@ public abstract class AbstractCCompiler { if ( includePaths != null ) { - for ( int i = 0; i < includePaths.length; ++i ) + for ( File includePath : includePaths ) { - cl.createArg().setValue( "-I" + includePaths[i].getPath() ); + cl.createArg().setValue( "-I" + includePath.getPath() ); } } } diff --git a/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/CLinker.java b/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/CLinker.java index a05ac99..6284362 100644 --- a/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/CLinker.java +++ b/maven-native-components/maven-native-generic-c/src/main/java/org/codehaus/mojo/natives/c/CLinker.java @@ -26,7 +26,6 @@ package org.codehaus.mojo.natives.c; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.util.Iterator; import java.util.List; import org.codehaus.mojo.natives.NativeBuildException; @@ -87,9 +86,8 @@ public class CLinker { File linkerFile = new File( config.getWorkingDirectory(), "objectsFile" ); FileWriter linkerFileWriter = new FileWriter( linkerFile, false /* Don't append */ ); - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); linkerFileWriter.write( objFile.getPath() + "\n" ); } linkerFileWriter.close(); @@ -104,10 +102,8 @@ public class CLinker else { // Normal behavior. - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); - // we need to shorten the command line since windows has limited command line length String objFilePath = FileUtil.truncatePath( objFile.getPath(), config.getWorkingDirectory().getPath() ); @@ -156,10 +152,8 @@ public class CLinker boolean hasUnixLinkage = false; - for ( Iterator<String> iter = config.getExternalLibFileNames().iterator(); iter.hasNext(); ) + for ( String libFileName : config.getExternalLibFileNames() ) { - String libFileName = iter.next(); - String ext = FileUtils.getExtension( libFileName ); if ( "o".equals( ext ) || "obj".equals( ext ) || "lib".equals( ext ) || "dylib".equals( ext ) ) @@ -180,10 +174,8 @@ public class CLinker cl.createArg().setValue( "-L" + config.getExternalLibDirectory() ); } - for ( Iterator<String> iter = config.getExternalLibFileNames().iterator(); iter.hasNext(); ) + for ( String libFileName : config.getExternalLibFileNames() ) { - String libFileName = iter.next(); - String ext = FileUtils.getExtension( libFileName ); if ( "a".equals( ext ) || "so".equals( ext ) || "sl".equals( ext ) ) diff --git a/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerClassicTest.java b/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerClassicTest.java index c5264b8..37c894c 100644 --- a/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerClassicTest.java +++ b/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerClassicTest.java @@ -14,10 +14,8 @@ public class CCompilerClassicTest /** * Simple test, note: -o option has no space * - * @throws Exception */ public void testSimpleCompilation() - throws Exception { CompilerConfiguration config = new CompilerConfiguration(); CCompilerClassic compiler = new CCompilerClassic(); diff --git a/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerTest.java b/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerTest.java index 2273f66..196b4b4 100644 --- a/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerTest.java +++ b/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CCompilerTest.java @@ -29,7 +29,6 @@ public class CCompilerTest } public void testSimpleCompilation() - throws Exception { Commandline cl = compiler.getCommandLine( sourceFile, objectFile, config ); assertArrayEquals( new String[] { "gcc", simpleArgv[0], simpleArgv[1], simpleArgv[2], simpleArgv[3] }, @@ -37,7 +36,6 @@ public class CCompilerTest } public void testNonDefaultExecutable() - throws Exception { this.config.setExecutable( "cc" ); Commandline cl = compiler.getCommandLine( sourceFile, objectFile, config ); @@ -46,7 +44,6 @@ public class CCompilerTest } public void testStartOptions() - throws Exception { String[] startOptions = { "-s1", "-s2" }; config.setStartOptions( startOptions ); @@ -59,7 +56,6 @@ public class CCompilerTest } public void testIncludePaths() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; @@ -73,7 +69,6 @@ public class CCompilerTest } public void testSystemIncludePaths() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; @@ -90,7 +85,6 @@ public class CCompilerTest } public void testMiddleOptions() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; config.setIncludePaths( includePaths ); @@ -107,7 +101,6 @@ public class CCompilerTest } public void testEndOptions() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; config.setIncludePaths( includePaths ); diff --git a/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CLinkerTest.java b/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CLinkerTest.java index dcd1751..70e7f3b 100644 --- a/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CLinkerTest.java +++ b/maven-native-components/maven-native-generic-c/src/test/java/org/codehaus/mojo/natives/c/CLinkerTest.java @@ -44,7 +44,6 @@ public class CLinkerTest } public void testDefaultLinkerExecutable() - throws Exception { Commandline cl = this.getCommandline(); @@ -54,7 +53,6 @@ public class CLinkerTest } public void testOverrideLinkerExecutable() - throws Exception { config.setExecutable( "ld" ); @@ -65,7 +63,6 @@ public class CLinkerTest } public void testObjectFileList() - throws Exception { Commandline cl = this.getCommandline(); @@ -75,17 +72,15 @@ public class CLinkerTest } public void testLinkerResponseFile() - throws Exception { this.config.setUsingLinkerResponseFile( true ); this.config.setWorkingDirectory( new File( getBasedir(), "target" ) ); Commandline cl = this.getCommandline(); - assertTrue( Arrays.asList( cl.getArguments() ).indexOf( "@objectsFile" ) >= 0 ); + assertTrue( Arrays.asList( cl.getArguments() ).contains( "@objectsFile" ) ); } public void testRelativeObjectFileList() - throws Exception { ArrayList<File> objectFiles = new ArrayList<>( 2 ); objectFiles.add( new File( config.getOutputDirectory(), "file1.o" ) ); @@ -100,7 +95,6 @@ public class CLinkerTest } public void testOptions() - throws Exception { String[] options = { "-o1", "-o2", "-o3" }; config.setStartOptions( options ); @@ -115,7 +109,6 @@ public class CLinkerTest } public void testExternalUnixLibraries() - throws Exception { config.setExternalLibDirectory( new File( "theLib" ) ); @@ -135,7 +128,7 @@ public class CLinkerTest config.setExternalLibFileNames( externalLibFileNames ); - Commandline cl = this.getCommandline( new ArrayList<File>( 0 ) ); + Commandline cl = this.getCommandline( new ArrayList<>( 0 ) ); int index = Arrays.asList( cl.getArguments() ).indexOf( "-LtheLib" ); assertTrue( index >= 0 ); diff --git a/maven-native-components/maven-native-javah/src/main/java/org/codehaus/mojo/natives/javah/JavahExecutable.java b/maven-native-components/maven-native-javah/src/main/java/org/codehaus/mojo/natives/javah/JavahExecutable.java index 9ce0264..bb25630 100644 --- a/maven-native-components/maven-native-javah/src/main/java/org/codehaus/mojo/natives/javah/JavahExecutable.java +++ b/maven-native-components/maven-native-javah/src/main/java/org/codehaus/mojo/natives/javah/JavahExecutable.java @@ -76,7 +76,7 @@ public class JavahExecutable String[] classPaths = config.getClassPaths(); - StringBuffer classPathBuffer = new StringBuffer(); + StringBuilder classPathBuffer = new StringBuilder(); for ( int i = 0; i < classPaths.length; ++i ) { diff --git a/maven-native-components/maven-native-javah/src/test/java/org/codehaus/mojo/natives/javah/JavahExecutableTest.java b/maven-native-components/maven-native-javah/src/test/java/org/codehaus/mojo/natives/javah/JavahExecutableTest.java index 66a4429..b0d5f62 100644 --- a/maven-native-components/maven-native-javah/src/test/java/org/codehaus/mojo/natives/javah/JavahExecutableTest.java +++ b/maven-native-components/maven-native-javah/src/test/java/org/codehaus/mojo/natives/javah/JavahExecutableTest.java @@ -29,7 +29,6 @@ public class JavahExecutableTest } public void testDefaultJavahExecutable() - throws Exception { JavahExecutable javah = new JavahExecutable(); Commandline cl = javah.createJavahCommand( config ); @@ -42,7 +41,6 @@ public class JavahExecutableTest } public void testConfiguredJavahExecutable() - throws Exception { File javaBin = new File( "/java/home/bin" ); @@ -58,7 +56,6 @@ public class JavahExecutableTest } public void testJavahExecutableDashoOption() - throws Exception { config.setFileName( "fileName" ); JavahExecutable javah = new JavahExecutable(); @@ -70,7 +67,6 @@ public class JavahExecutableTest } public void testWorkingDirectory() - throws Exception { JavahExecutable javah = new JavahExecutable(); diff --git a/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/AbstractGccCompiler.java b/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/AbstractGccCompiler.java index f3b6bbe..83f130f 100644 --- a/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/AbstractGccCompiler.java +++ b/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/AbstractGccCompiler.java @@ -91,9 +91,9 @@ public abstract class AbstractGccCompiler { if ( options != null ) { - for ( int i = 0; i < options.length; ++i ) + for ( String option : options ) { - cl.createArg().setValue( options[i] ); + cl.createArg().setValue( option ); } } } @@ -117,9 +117,9 @@ public abstract class AbstractGccCompiler { if ( includePaths != null ) { - for ( int i = 0; i < includePaths.length; ++i ) + for ( File includePath : includePaths ) { - cl.createArg().setValue( "-I" + includePaths[i].getPath() ); + cl.createArg().setValue( "-I" + includePath.getPath() ); } } } diff --git a/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/GccLinker.java b/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/GccLinker.java index 13c21a6..1c8a014 100644 --- a/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/GccLinker.java +++ b/maven-native-components/maven-native-mingw/src/main/java/org/codehaus/mojo/natives/mingw/GccLinker.java @@ -26,7 +26,6 @@ package org.codehaus.mojo.natives.mingw; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import java.util.Iterator; import java.util.List; import org.codehaus.mojo.natives.NativeBuildException; import org.codehaus.mojo.natives.linker.AbstractLinker; @@ -87,9 +86,8 @@ public final class GccLinker { File linkerFile = new File( config.getWorkingDirectory(), "objectsFile" ); FileWriter linkerFileWriter = new FileWriter( linkerFile, false /* Don't append */ ); - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); linkerFileWriter.write( objFile.getPath() + "\n" ); } linkerFileWriter.close(); @@ -104,10 +102,8 @@ public final class GccLinker else { // Normal behavior. - for ( int i = 0; i < objectFiles.size(); ++i ) + for ( File objFile : objectFiles ) { - File objFile = objectFiles.get( i ); - // we need to shorten the command line since windows has limited command line // length String objFilePath = FileUtil.truncatePath( objFile.getPath(), config.getWorkingDirectory().getPath() ); @@ -157,10 +153,8 @@ public final class GccLinker boolean hasUnixLinkage = false; - for ( Iterator<String> iter = config.getExternalLibFileNames().iterator(); iter.hasNext(); ) + for ( String libFileName : config.getExternalLibFileNames() ) { - String libFileName = iter.next(); - String ext = FileUtils.getExtension( libFileName ); if ( "o".equals( ext ) || "obj".equals( ext ) || "lib".equals( ext ) || "dylib".equals( ext ) ) @@ -181,10 +175,8 @@ public final class GccLinker cl.createArg().setValue( "-L" + config.getExternalLibDirectory() ); } - for ( Iterator<String> iter = config.getExternalLibFileNames().iterator(); iter.hasNext(); ) + for ( String libFileName : config.getExternalLibFileNames() ) { - String libFileName = iter.next(); - String ext = FileUtils.getExtension( libFileName ); if ( "a".equals( ext ) || "so".equals( ext ) || "sl".equals( ext ) ) diff --git a/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccCompilerTest.java b/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccCompilerTest.java index d16bad0..186a9cf 100644 --- a/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccCompilerTest.java +++ b/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccCompilerTest.java @@ -31,7 +31,6 @@ public class GccCompilerTest } public void testSimpleCompilation() - throws Exception { Commandline cl = compiler.getCommandLine( sourceFile, objectFile, config ); assertArrayEquals( new String[] { "gcc", simpleArgv[0], simpleArgv[1], simpleArgv[2], simpleArgv[3] }, @@ -39,7 +38,6 @@ public class GccCompilerTest } public void testNonDefaultExecutable() - throws Exception { this.config.setExecutable( "cc" ); Commandline cl = compiler.getCommandLine( sourceFile, objectFile, config ); @@ -48,7 +46,6 @@ public class GccCompilerTest } public void testStartOptions() - throws Exception { String[] startOptions = { "-s1", "-s2" }; config.setStartOptions( startOptions ); @@ -61,7 +58,6 @@ public class GccCompilerTest } public void testIncludePaths() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; @@ -75,7 +71,6 @@ public class GccCompilerTest } public void testSystemIncludePaths() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; @@ -92,7 +87,6 @@ public class GccCompilerTest } public void testMiddleOptions() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; config.setIncludePaths( includePaths ); @@ -109,7 +103,6 @@ public class GccCompilerTest } public void testEndOptions() - throws Exception { File[] includePaths = { new File( "p1" ), new File( "p2" ) }; config.setIncludePaths( includePaths ); diff --git a/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccLinkerTest.java b/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccLinkerTest.java index 1f77b9f..7d4acf4 100644 --- a/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccLinkerTest.java +++ b/maven-native-components/maven-native-mingw/src/test/java/org/codehaus/mojo/natives/mingw/GccLinkerTest.java @@ -44,7 +44,6 @@ public class GccLinkerTest } public void testDefaultLinkerExecutable() - throws Exception { Commandline cl = this.getCommandline(); @@ -54,7 +53,6 @@ public class GccLinkerTest } public void testOverrideLinkerExecutable() - throws Exception { config.setExecutable( "ld" ); @@ -63,7 +61,6 @@ public class GccLinkerTest } public void testObjectFileList() - throws Exception { Commandline cl = this.getCommandline(); @@ -74,16 +71,14 @@ public class GccLinkerTest } public void testLinkerResponseFile() - throws Exception { this.config.setUsingLinkerResponseFile( true ); this.config.setWorkingDirectory( new File( getBasedir(), "target" ) ); Commandline cl = this.getCommandline(); - assertTrue( cl.toString().indexOf( "@objectsFile" ) != -1 ); + assertTrue( cl.toString().contains( "@objectsFile" ) ); } public void testRelativeObjectFileList() - throws Exception { ArrayList<File> objectFiles = new ArrayList<>( 2 ); objectFiles.add( new File( config.getOutputDirectory(), "file1.o" ) ); @@ -98,7 +93,6 @@ public class GccLinkerTest } public void testOptions() - throws Exception { String[] options = { "-o1", "-o2", "-o3" }; config.setStartOptions( options ); @@ -113,7 +107,6 @@ public class GccLinkerTest } public void testExternalUnixLibraries() - throws Exception { config.setExternalLibDirectory( new File( "theLib" ) ); @@ -133,7 +126,7 @@ public class GccLinkerTest config.setExternalLibFileNames( externalLibFileNames ); - Commandline cl = this.getCommandline( new ArrayList<File>( 0 ) ); + Commandline cl = this.getCommandline( new ArrayList<>( 0 ) ); int index = Arrays.asList( cl.getArguments() ).indexOf( "-LtheLib" ); assertTrue( index >= 0 ); diff --git a/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVC2017CircaEnvFactoryHelper.java b/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVC2017CircaEnvFactoryHelper.java new file mode 100644 index 0000000..a8e42e6 --- /dev/null +++ b/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVC2017CircaEnvFactoryHelper.java @@ -0,0 +1,63 @@ +package org.codehaus.mojo.natives.msvc; + +import java.io.File; +import java.io.IOException; +import java.util.Map; + +import org.codehaus.mojo.natives.NativeBuildException; +import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.cli.CommandLineException; +import org.codehaus.plexus.util.cli.CommandLineUtils; +import org.codehaus.plexus.util.cli.Commandline; +import org.codehaus.plexus.util.cli.DefaultConsumer; +import org.codehaus.plexus.util.cli.StreamConsumer; + + +/** + * Encapsulate some behavior common to Visual Studio since 2017. + */ +class AbstractMSVC2017CircaEnvFactoryHelper { + + protected File createEnvWrapperFile(File vsInstallDir, String platform) + throws IOException + { + + File tmpFile = File.createTempFile( "msenv", ".bat" ); + + String buffer = "@echo off\r\n" + + "call \"" + vsInstallDir + "\"" + + "\\VC\\Auxiliary\\Build\\vcvarsall.bat " + platform + "\r\n" + + "echo " + EnvStreamConsumer.START_PARSING_INDICATOR + "\r\n" + + "set\r\n"; + FileUtils.fileWrite( tmpFile.getAbsolutePath(), buffer ); + + return tmpFile; + } + + protected Map<String, String> executeCommandLine(Commandline command) throws NativeBuildException + { + EnvStreamConsumer stdout = new EnvStreamConsumer(); + StreamConsumer stderr = new DefaultConsumer(); + + try + { + CommandLineUtils.executeCommandLine( command, stdout, stderr ); + } + catch ( CommandLineException e ) + { + throw new NativeBuildException( "Failed to execute vcvarsall.bat" ); + } + + return stdout.getParsedEnv(); + } + + protected String queryVSInstallPath(String version) + { + return RegQuery.getValue( + "REG_SZ", + "HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\VisualStudio\\SxS\\VS7", + version + ); + } + +} diff --git a/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVCEnvFactory.java b/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVCEnvFactory.java index 0ea2b78..2bb9ddd 100644 --- a/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVCEnvFactory.java +++ b/maven-native-components/maven-native-msvc/src/main/java/org/codehaus/mojo/natives/msvc/AbstractMSVCEnvFactory.java @@ -105,14 +105,13 @@ public abstract class AbstractMSVCEnvFactory File tmpFile = File.createTempFile( "msenv", ".bat" ); - StringBuffer buffer = new StringBuffer(); - buffer.append( "@echo off\r\n" ); - buffer.append( "call \"" ).append( vsInstallDir ).append( "\"" ) - .append( "\\VC\\vcvarsall.bat " + platform + "\n\r" ); - buffer.append( "echo " + EnvStreamConsumer.START_PARSING_INDICATOR ).append( "\r\n" ); - buffer.append( "set\n\r" ); - - FileUtils.fileWrite( tmpFile.getAbsolutePath(), buffer.toString() ); + String buffer = "@echo off\r\n" + + "call \"" + vsInstallDir + "\"" + "\\VC\\vcvarsall.bat " + + platform + "\n\r" + + "echo " + EnvStreamConsumer.START_PARSING_INDICATOR + "\r\n" + + "set\n\r"; + + FileUtils.fileWrite( tmpFile.getAbsolutePath(), buffer ); return tmpFile; } diff --git a/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVC2019EnvFactoryTest.java b/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVC2019EnvFactoryTest.java new file mode 100644 index 0000000..661c54c --- /dev/null +++ b/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVC2019EnvFactoryTest.java @@ -0,0 +1,110 @@ +package org.codehaus.mojo.natives.msvc; + +import org.codehaus.plexus.logging.Logger; +import org.codehaus.plexus.logging.LoggerManager; + +import java.util.Map; +import java.util.TreeMap; + +import org.codehaus.plexus.PlexusTestCase; +import org.junit.Assert; + + +public class MSVC2019EnvFactoryTest + extends PlexusTestCase +{ + private Logger logger; + + public Logger getLogger() + { + return logger; + } + + public void setUp() + throws Exception + { + super.setUp(); + + LoggerManager loggerManager = lookup( LoggerManager.class ); + + logger = loggerManager.getLoggerForComponent( this.getClass().toString() ); + } + + public void testMSVC2019x64Env() + { + + if ( System.getenv( "VS160COMNTOOLS" ) != null ) + { + MSVC2019x64EnvFactory envFact = new MSVC2019x64EnvFactory(); + Map<String, String> env = envFact.getEnvironmentVariables(); + logger.info( envFact.getClass().getName()+"env="+env ); + Map<String,String> envCaseInsenstiveKeys = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + envCaseInsenstiveKeys.putAll(env); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSINSTALLDIR" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "INCLUDE" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertEquals( "x64", envCaseInsenstiveKeys.get( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_TGT_ARCH" ) ); + Assert.assertEquals( "x64", envCaseInsenstiveKeys.get( "VSCMD_ARG_TGT_ARCH" ) ); + } + + } + + public void testMSVC2019x86Env() + { + + if ( System.getenv( "VS160COMNTOOLS" ) != null ) + { + MSVC2019x86EnvFactory envFact = new MSVC2019x86EnvFactory(); + Map<String, String> env = envFact.getEnvironmentVariables(); + logger.info( envFact.getClass().getName()+":env="+env ); + Map<String,String> envCaseInsenstiveKeys = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + envCaseInsenstiveKeys.putAll(env); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSINSTALLDIR" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "INCLUDE" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertEquals( "x86", envCaseInsenstiveKeys.get( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_TGT_ARCH" ) ); + Assert.assertEquals( "x86", envCaseInsenstiveKeys.get( "VSCMD_ARG_TGT_ARCH" ) ); + } + } + + public void testMSVC2019x86AMD64Env() + { + + if ( System.getenv( "VS160COMNTOOLS" ) != null ) + { + MSVC2019x86AMD64EnvFactory envFact = new MSVC2019x86AMD64EnvFactory(); + Map<String, String> env = envFact.getEnvironmentVariables(); + logger.info( envFact.getClass().getName()+":env="+env ); + Map<String,String> envCaseInsenstiveKeys = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + envCaseInsenstiveKeys.putAll(env); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSINSTALLDIR" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "INCLUDE" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertEquals( "x86", envCaseInsenstiveKeys.get( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_TGT_ARCH" ) ); + Assert.assertEquals( "x64", envCaseInsenstiveKeys.get( "VSCMD_ARG_TGT_ARCH" ) ); + } + } + + public void testMSVC2019AMD64x864Env() + { + + if ( System.getenv( "VS160COMNTOOLS" ) != null ) + { + MSVC2019AMD64x86EnvFactory envFact = new MSVC2019AMD64x86EnvFactory(); + Map<String, String> env = envFact.getEnvironmentVariables(); + logger.info( envFact.getClass().getName()+":env="+env ); + Map<String,String> envCaseInsenstiveKeys = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + envCaseInsenstiveKeys.putAll(env); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSINSTALLDIR" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "INCLUDE" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertEquals( "x64", envCaseInsenstiveKeys.get( "VSCMD_ARG_HOST_ARCH" ) ); + Assert.assertTrue( envCaseInsenstiveKeys.containsKey( "VSCMD_ARG_TGT_ARCH" ) ); + Assert.assertEquals( "x86", envCaseInsenstiveKeys.get( "VSCMD_ARG_TGT_ARCH" ) ); + } + } + +} diff --git a/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCCompilerTest.java b/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCCompilerTest.java index 7462d33..0143c2b 100644 --- a/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCCompilerTest.java +++ b/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCCompilerTest.java @@ -30,7 +30,6 @@ public class MSVCCompilerTest } public void testSimpleCompilation() - throws Exception { Commandline cl = compiler.getCommandLine( sourceFile, objectFile, config ); assertArrayEquals( new String[] { "cl.exe", simpleArgv[0], simpleArgv[1], simpleArgv[2] }, diff --git a/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCLinkerTest.java b/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCLinkerTest.java index d7f7ab7..ae2fbe2 100644 --- a/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCLinkerTest.java +++ b/maven-native-components/maven-native-msvc/src/test/java/org/codehaus/mojo/natives/msvc/MSVCLinkerTest.java @@ -44,7 +44,6 @@ public class MSVCLinkerTest } public void testDefaultLinkerExecutable() - throws Exception { Commandline cl = this.getCommandline(); assertEquals( "link.exe", cl.getLiteralExecutable() ); @@ -52,7 +51,6 @@ public class MSVCLinkerTest } public void testSimpleLinkerCommand() - throws Exception { Commandline cl = this.getCommandline(); assertArrayEquals( new String[] { "link.exe", "/out:" + config.getOutputFile(), "source1.obj", "source2.obj" }, diff --git a/maven-native-test/src/test/java/org/codehaus/mojo/natives/test/TestUtils.java b/maven-native-test/src/test/java/org/codehaus/mojo/natives/test/TestUtils.java new file mode 100644 index 0000000..4cb99e3 --- /dev/null +++ b/maven-native-test/src/test/java/org/codehaus/mojo/natives/test/TestUtils.java @@ -0,0 +1,112 @@ +package org.codehaus.mojo.natives.test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.codehaus.plexus.util.Os; + + +/** + * Contains utility methods used by tests. + */ +public class TestUtils +{ + + private static final String[] WINDOWS_COMMANDLINE_PARTS = {"cmd.exe", "/X", "/C"}; + + private static final List<String> WINDOWS_COMMANDLINE_PARTS_ASLIST = new ArrayList<>(); + + static + { + WINDOWS_COMMANDLINE_PARTS_ASLIST.addAll( Arrays.asList( WINDOWS_COMMANDLINE_PARTS ) ); + } + + + /** + * Adjusts commandline based on the platform. + * + * @param origCommandline Commandline to adjust. + * @return Commandline adjusted for platform. + */ + public static String[] formPlatformCommandline( String[] origCommandline ) + { + + if ( null == origCommandline ) + { + return null; + } + + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + return formWindowsCommandline( origCommandline ); + } + else + { + return origCommandline; + } + } + + /** + * Adjusts commandline for Windows platform. + * + * @param origCommandline Commandline to adjust. + * @return + */ + private static String[] formWindowsCommandline( String[] origCommandline ) + { + + if ( null == origCommandline ) + { + return null; + } + + List<String> origCommandlineAsList = new ArrayList<>(); + + // combine origCommandline with spaces in between + + final int SIZE_ORIG_COMMANDLINE = origCommandline.length; + int i = 1; + if ( SIZE_ORIG_COMMANDLINE > 0 ) + { + for ( String origCommandlineArg : origCommandline ) + { + if ( i == 1 ) + { + origCommandlineAsList.add( origCommandlineArg ); + } + else + { + origCommandlineAsList.add( " " ); + origCommandlineAsList.add( origCommandlineArg ); + } + i++; + } + } + + // now generate single quoted string of origCommandline + + StringBuilder buf = new StringBuilder(); + buf.append( "\"" ); + for ( String s : origCommandlineAsList ) + { + buf.append( s ); + } + buf.append( "\"" ); + + // prefix result with win commandline parts + List<String> result = new ArrayList<>( WINDOWS_COMMANDLINE_PARTS_ASLIST ); + // and add origCommandline to result + result.add( buf.toString() ); + + return result.toArray( new String[0] ); + } + + /** + * Utility class so hide constructor. + */ + private TestUtils() + { + } + +} diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/AbstractNativeMojo.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/AbstractNativeMojo.java index aeb2478..c114096 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/AbstractNativeMojo.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/AbstractNativeMojo.java @@ -99,12 +99,7 @@ public abstract class AbstractNativeMojo throws MojoExecutionException { List<File> allCompilerOutputFileList = getAllCompilersOutputFileList(); - - for ( int i = 0; i < filePaths.size(); ++i ) - { - File file = filePaths.get( i ); - allCompilerOutputFileList.add( file ); - } + allCompilerOutputFileList.addAll( filePaths ); } /** diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeBundleIncludeFilesMojo.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeBundleIncludeFilesMojo.java index 81ca660..41c8875 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeBundleIncludeFilesMojo.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeBundleIncludeFilesMojo.java @@ -89,15 +89,15 @@ public class NativeBundleIncludeFilesMojo ZipArchiver archiver = new ZipArchiver(); boolean zipIt = false; - for ( int i = 0; i < sources.length; ++i ) + for ( NativeSources source : sources ) { - if ( sources[i].isDeployable() ) + if ( source.isDeployable() ) { DefaultFileSet fileSet = new DefaultFileSet(); fileSet.setUsingDefaultExcludes( true ); - fileSet.setDirectory( sources[i].getDirectory() ); - fileSet.setIncludes( sources[i].getIncludes() ); - fileSet.setExcludes( sources[i].getExcludes() ); + fileSet.setDirectory( source.getDirectory() ); + fileSet.setIncludes( source.getIncludes() ); + fileSet.setExcludes( source.getExcludes() ); archiver.addFileSet( fileSet ); zipIt = true; } diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeCompileMojo.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeCompileMojo.java index 04a9d01..464328f 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeCompileMojo.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeCompileMojo.java @@ -207,7 +207,6 @@ public class NativeCompileMojo * item of source root ( ie ${project.build.directory}/classes since this plugin never use it. */ private void addAdditionalIncludePath() - throws MojoExecutionException { List<?> additionalIncludePaths = project.getCompileSourceRoots(); diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeJavahMojo.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeJavahMojo.java index 9e832a2..9c5521e 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeJavahMojo.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeJavahMojo.java @@ -207,10 +207,9 @@ public class NativeJavahMojo this.getJavah().compile( config ); } - for ( int i = 0; i < this.javahIncludes.size(); ++i ) + for ( JavahInclude javahInclude : this.javahIncludes ) { - JavahInclude javahInclude = this.javahIncludes.get( i ); - this.config = this.createProviderConfiguration( new String[] { javahInclude.getClassName() }, + this.config = this.createProviderConfiguration( new String[] {javahInclude.getClassName()}, javahInclude.getHeaderName() ); this.getJavah().compile( config ); } @@ -348,10 +347,8 @@ public class NativeJavahMojo List<Artifact> artifacts = this.getJavahArtifacts(); - for ( Iterator<Artifact> iter = artifacts.iterator(); iter.hasNext(); ) + for ( Artifact artifact : artifacts ) { - Artifact artifact = iter.next(); - this.getLog().info( "Parsing " + artifact.getFile() + " for native classes." ); try @@ -371,9 +368,9 @@ public class NativeJavahMojo Method[] methods = clazz.getMethods(); - for ( int j = 0; j < methods.length; ++j ) + for ( Method method : methods ) { - if ( methods[j].isNative() ) + if ( method.isNative() ) { javahClassNames.add( clazz.getClassName() ); @@ -397,7 +394,6 @@ public class NativeJavahMojo } private JavahConfiguration createProviderConfiguration( String[] classNames, String javahOutputFileName ) - throws MojoExecutionException { JavahConfiguration config = new JavahConfiguration(); config.setWorkingDirectory( this.workingDirectory ); diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeLinkMojo.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeLinkMojo.java index f56e237..9da2c76 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeLinkMojo.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeLinkMojo.java @@ -23,7 +23,6 @@ package org.codehaus.mojo.natives.plugin; import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Set; import org.apache.maven.artifact.Artifact; @@ -222,14 +221,10 @@ public class NativeLinkMojo Object unchecked = this.getPluginContext().put( AbstractNativeMojo.LINKER_OUTPUT_PATH, outputFile ); } - catch ( IOException ioe ) + catch ( IOException | NativeBuildException ioe ) { throw new MojoExecutionException( ioe.getMessage(), ioe ); } - catch ( NativeBuildException nbe ) - { - throw new MojoExecutionException( nbe.getMessage(), nbe ); - } if ( this.attach ) { @@ -342,13 +337,13 @@ public class NativeLinkMojo tokens = new String[0]; } - for ( int i = 0; i < tokens.length; ++i ) + for ( String token : tokens ) { // TODO: shouldn't need classifier Artifact artifact = artifactFactory.createArtifact( project.getGroupId(), project.getArtifactId(), - project.getVersion(), this.classifier, tokens[i].trim() ); + project.getVersion(), this.classifier, token.trim() ); artifact.setFile( new File( this.linkerOutputDirectory + "/" + this.project.getBuild().getFinalName() + "." - + tokens[i].trim() ) ); + + token.trim() ) ); project.addAttachedArtifact( artifact ); } @@ -362,10 +357,8 @@ public class NativeLinkMojo Set<Artifact> artifacts = this.project.getArtifacts(); - for ( Iterator<Artifact> iter = artifacts.iterator(); iter.hasNext(); ) + for ( Artifact artifact : artifacts ) { - Artifact artifact = iter.next(); - if ( INCZIP_TYPE.equals( artifact.getType() ) ) { continue; @@ -393,10 +386,8 @@ public class NativeLinkMojo if ( this.linkingOrderLibs != null ) { - for ( Iterator<String> i = linkingOrderLibs.iterator(); i.hasNext(); ) + for ( String element : linkingOrderLibs ) { - String element = i.next(); - Artifact artifact = lookupDependencyUsingGroupArtifactIdPair( element ); if ( artifact != null ) @@ -436,9 +427,8 @@ public class NativeLinkMojo Set<Artifact> allDependencyArtifacts = project.getDependencyArtifacts(); - for ( Iterator<Artifact> iter = allDependencyArtifacts.iterator(); iter.hasNext(); ) + for ( Artifact artifact : allDependencyArtifacts ) { - Artifact artifact = iter.next(); if ( INCZIP_TYPE.equals( artifact.getType() ) ) { continue; @@ -462,15 +452,12 @@ public class NativeLinkMojo if ( requestedOrderList.size() != 0 ) { // remove from original list first - for ( Iterator<String> i = requestedOrderList.iterator(); i.hasNext(); ) + for ( String s : requestedOrderList ) { - libs.remove( i.next() ); + libs.remove( s ); } - for ( Iterator<String> i = libs.iterator(); i.hasNext(); ) - { - requestedOrderList.add( i.next() ); - } + requestedOrderList.addAll( libs ); return requestedOrderList; } diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeMojoUtils.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeMojoUtils.java index caa1a14..2c34c21 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeMojoUtils.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeMojoUtils.java @@ -44,10 +44,8 @@ public class NativeMojoUtils List<String> tokenArray = new ArrayList<>(); - for ( int i = 0; i < args.size(); ++i ) + for ( String arg : args ) { - String arg = args.get( i ); - if ( arg == null || arg.length() == 0 ) { continue; @@ -55,14 +53,14 @@ public class NativeMojoUtils String[] tokens = StringUtils.split( arg ); - for ( int k = 0; k < tokens.length; ++k ) + for ( String token : tokens ) { - if ( tokens[k] == null || tokens[k].trim().length() == 0 ) + if ( token == null || token.trim().length() == 0 ) { continue; } - tokenArray.add( tokens[k].trim() ); + tokenArray.add( token.trim() ); } } diff --git a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeUnZipIncMojo.java b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeUnZipIncMojo.java index 391623e..1958cb7 100644 --- a/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeUnZipIncMojo.java +++ b/native-maven-plugin/src/main/java/org/codehaus/mojo/natives/plugin/NativeUnZipIncMojo.java @@ -69,7 +69,7 @@ public class NativeUnZipIncMojo if ( unpackIncZipDepenedencies() ) { @SuppressWarnings({ "unused", "unchecked" }) - Object unchecked = this.getPluginContext().put( AbstractNativeMojo.INCZIP_FOUND, new Boolean( "true" ) ); + Object unchecked = this.getPluginContext().put( AbstractNativeMojo.INCZIP_FOUND, Boolean.TRUE ); } } @@ -152,10 +152,8 @@ public class NativeUnZipIncMojo if ( artifacts != null ) { - for ( Iterator<Artifact> iter = artifacts.iterator(); iter.hasNext(); ) + for ( Artifact artifact : artifacts ) { - Artifact artifact = iter.next(); - // pick up only native header archive if ( !INCZIP_TYPE.equals( artifact.getType() ) ) { diff --git a/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/noop/NoopCompiler.java b/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/noop/NoopCompiler.java index d67d72b..d1a206a 100644 --- a/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/noop/NoopCompiler.java +++ b/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/noop/NoopCompiler.java @@ -23,9 +23,9 @@ public class NoopCompiler { List<File> compilerOutputFiles = new ArrayList<>( sourceFiles.length ); - for ( int i = 0; i < sourceFiles.length; ++i ) + for ( File sourceFile : sourceFiles ) { - File source = new File( sourceFiles[i].toString() ); + File source = new File( sourceFile.toString() ); File objectFile = this.getObjectFile( source, config ); diff --git a/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/plugin/NativeLinkerMojoTest.java b/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/plugin/NativeLinkerMojoTest.java index d708703..8a5851c 100644 --- a/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/plugin/NativeLinkerMojoTest.java +++ b/native-maven-plugin/src/test/java/org/codehaus/mojo/natives/plugin/NativeLinkerMojoTest.java @@ -47,7 +47,7 @@ public class NativeLinkerMojoTest mojo.getProject().setArtifact( artifact ); // simulate artifacts - mojo.getProject().setArtifacts( new HashSet<Artifact>() ); // no extern libs for now + mojo.getProject().setArtifacts( new HashSet<>() ); // no extern libs for now String linkerFinalName = "some-final-name"; setVariableValueToObject( mojo, "linkerFinalName", linkerFinalName ); @@ -84,7 +84,7 @@ public class NativeLinkerMojoTest mojo.getProject().setArtifact( artifact ); // simulate artifacts - mojo.getProject().setArtifacts( new HashSet<Artifact>() ); // no extern libs for now + mojo.getProject().setArtifacts( new HashSet<>() ); // no extern libs for now String linkerFinalName = "some-final-name"; setVariableValueToObject( mojo, "linkerFinalName", linkerFinalName ); diff --git a/pom.xml b/pom.xml index 0fa62cd..eef191d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.mojo</groupId> <artifactId>mojo-parent</artifactId> - <version>50</version> + <version>67</version> </parent> <groupId>org.codehaus.mojo.natives</groupId> <artifactId>maven-native</artifactId> @@ -51,19 +51,15 @@ </ciManagement> <properties> <maven.api.version>3.2.5</maven.api.version> + <project.build.outputTimestamp>2022-01-18T09:14:02Z</project.build.outputTimestamp> <scmpublish.content>${project.build.directory}/staging/maven-native</scmpublish.content> </properties> <dependencyManagement> <dependencies> - <dependency> - <groupId>backport-util-concurrent</groupId> - <artifactId>backport-util-concurrent</artifactId> - <version>3.1</version> - </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.12</version> + <version>4.13.2</version> </dependency> <dependency> <groupId>org.apache.bcel</groupId> @@ -73,7 +69,7 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> - <version>3.7</version> + <version>3.12.0</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> @@ -195,42 +191,34 @@ </plugin> </plugins> </pluginManagement> + <plugins> + <plugin> + <groupId>com.github.ekryd.sortpom</groupId> + <artifactId>sortpom-maven-plugin</artifactId> + <version>2.8.0</version> + <executions> + <execution> + <id>sort-pom</id> + <goals> + <goal>sort</goal> + </goals> + <phase>process-sources</phase> + <configuration> + <predefinedSortOrder>recommended_2008_06</predefinedSortOrder> + <createBackupFile>false</createBackupFile> + <lineSeparator>\n</lineSeparator> + <expandEmptyElements>false</expandEmptyElements> + <nrOfIndentSpace>2</nrOfIndentSpace> + <sortDependencies>scope,groupId,artifactId</sortDependencies> + <sortProperties>true</sortProperties> + <verifyFail>Stop</verifyFail> + </configuration> + </execution> + </executions> + </plugin> + </plugins> </build> <profiles> - <profile> - <id>jdk8</id> - <activation> - <jdk>[1.8,)</jdk> - </activation> - <build> - <plugins> - <plugin> - <groupId>com.github.ekryd.sortpom</groupId> - <artifactId>sortpom-maven-plugin</artifactId> - <version>2.8.0</version> - <executions> - <execution> - <id>sort-pom</id> - <goals> - <goal>sort</goal> - </goals> - <phase>process-sources</phase> - <configuration> - <predefinedSortOrder>recommended_2008_06</predefinedSortOrder> - <createBackupFile>false</createBackupFile> - <lineSeparator>\n</lineSeparator> - <expandEmptyElements>false</expandEmptyElements> - <nrOfIndentSpace>2</nrOfIndentSpace> - <sortDependencies>scope,groupId,artifactId</sortDependencies> - <sortProperties>true</sortProperties> - <verifyFail>Stop</verifyFail> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> <profile> <id>m2e</id> <activation> -- 2.36.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor