Return-Path: X-Original-To: apmail-maven-dev-archive@www.apache.org Delivered-To: apmail-maven-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1485910F6C for ; Wed, 8 May 2013 07:35:11 +0000 (UTC) Received: (qmail 31426 invoked by uid 500); 8 May 2013 07:35:10 -0000 Delivered-To: apmail-maven-dev-archive@maven.apache.org Received: (qmail 31112 invoked by uid 500); 8 May 2013 07:35:05 -0000 Mailing-List: contact dev-help@maven.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Maven Developers List" Reply-To: "Maven Developers List" Delivered-To: mailing list dev@maven.apache.org Received: (qmail 31069 invoked by uid 99); 8 May 2013 07:35:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 May 2013 07:35:03 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE X-Spam-Check-By: apache.org Received-SPF: error (athena.apache.org: local policy) Received: from [82.216.111.40] (HELO smtp4.tech.numericable.fr) (82.216.111.40) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 May 2013 07:34:57 +0000 Received: from herve-desktop.localnet (81-64-107-131.rev.numericable.fr [81.64.107.131]) by smtp4.tech.numericable.fr (Postfix) with ESMTP id BCD5812A806 for ; Wed, 8 May 2013 09:34:14 +0200 (CEST) From: =?ISO-8859-1?Q?Herv=E9?= BOUTEMY To: dev@maven.apache.org Subject: Re: git commit: Added jsr305 annotations Date: Wed, 08 May 2013 09:34:15 +0200 Message-ID: <2644575.ZruNftDFqv@herve-desktop> User-Agent: KMail/4.10.2 (Linux/3.8.0-19-generic; KDE/4.10.2; x86_64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeeifedrieejucetufdoteggodetrfcurfhrohhfihhlvgemucfpfgfogfftkfevteeunffgnecuuegrihhlohhuthemuceftddtnecu X-Virus-Checked: Checked by ClamAV on apache.org I like this: could we define it as the standard way to add such annotat= ions in=20 whole Maven components? Any problem if we do it in Maven core itself? I'm not a JSR-305 expert, any basic explanation on the=20 com.google.code.findbugs:jsr305 choice is good to know then we could add it to maven parent pom dependencyManagement section, = and=20 write something into "Maven Developer Centre" Regards, Herv=E9 Le mardi 7 mai 2013 16:49:25 krosenvold@apache.org a =E9crit : > Updated Branches: > refs/heads/master 231773324 -> 7b330f584 >=20 >=20 > Added jsr305 annotations >=20 >=20 > Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo > Commit: > http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/7b330f58= Tree: > http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/7b330f58 D= iff: > http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/7b330f58 >=20 > Branch: refs/heads/master > Commit: 7b330f5845d9952a75ff5949d5f46fa913254308 > Parents: 2317733 > Author: Kristian Rosenvold > Authored: Tue May 7 18:49:15 2013 +0200 > Committer: Kristian Rosenvold > Committed: Tue May 7 18:49:15 2013 +0200 >=20 > ---------------------------------------------------------------------= - > maven-surefire-common/pom.xml | 4 ++++ > .../plugin/surefire/AbstractSurefireMojo.java | 7 +++++-- > .../maven/plugin/surefire/ClasspathCache.java | 6 ++++-- > .../maven/plugin/surefire/CommonReflector.java | 8 +++++--- > .../apache/maven/plugin/surefire/ProviderInfo.java | 3 +++ > .../surefire/booterclient/ForkConfiguration.java | 4 ++-- > .../plugin/surefire/util/DependencyScanner.java | 4 +++- > .../maven/plugin/surefire/util/Relocator.java | 12 ++++++++--= -- > .../maven/plugin/surefire/util/ScannerUtil.java | 10 ++++++----= > pom.xml | 6 ++++++ > 10 files changed, 46 insertions(+), 18 deletions(-) > ---------------------------------------------------------------------= - >=20 >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/pom.xml > ---------------------------------------------------------------------= - diff > --git a/maven-surefire-common/pom.xml b/maven-surefire-common/pom.xml= index > 1330eec..bed467b 100644 > --- a/maven-surefire-common/pom.xml > +++ b/maven-surefire-common/pom.xml > @@ -91,6 +91,10 @@ > commons-lang3 > > > + com.google.code.findbugs > + jsr305 > + > + > org.apache.maven.shared > maven-common-artifact-filters > 1.3 >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/Abstract= Surefir > eMojo.java > ---------------------------------------------------------------------= - diff > --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Abst > ractSurefireMojo.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Abst > ractSurefireMojo.java index bcd5737..bb1f6ff 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Abst > ractSurefireMojo.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Abst > ractSurefireMojo.java @@ -88,6 +88,8 @@ import > org.apache.maven.surefire.util.RunOrder; > import org.apache.maven.toolchain.Toolchain; > import org.apache.maven.toolchain.ToolchainManager; >=20 > +import javax.annotation.Nonnull; > + > /** > * Abstract base class for running tests using Surefire. > * > @@ -1266,7 +1268,7 @@ public abstract class AbstractSurefireMojo > } > } >=20 > - private List getExcludeList() > + private @Nonnull List getExcludeList() > { > List excludes =3D null; > if ( isSpecificTestSpecified() ) > @@ -1339,7 +1341,7 @@ public abstract class AbstractSurefireMojo > return filterNulls( includes ); > } >=20 > - private List filterNulls( List toFilter ) > + private @Nonnull List filterNulls( @Nonnull List= > toFilter ) { > List result =3D new ArrayList( toFilter.size= () ); > for ( String item : toFilter ) > @@ -2130,6 +2132,7 @@ public abstract class AbstractSurefireMojo > return new DynamicProviderInfo( providerName ); > } >=20 > + @Nonnull > public String getProviderName() > { > return providerName; >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/Classpat= hCache. > java ----------------------------------------------------------------= ------ > diff --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Clas > spathCache.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Clas > spathCache.java index 1bcb065..ea250c2 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Clas > spathCache.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Clas > spathCache.java @@ -21,6 +21,8 @@ package org.apache.maven.plugin.sur= efire; > import java.util.concurrent.ConcurrentHashMap; > import org.apache.maven.surefire.booter.Classpath; >=20 > +import javax.annotation.Nonnull; > + > /** > * @author Kristian Rosenvold > */ > @@ -29,12 +31,12 @@ public class ClasspathCache > private static final ConcurrentHashMap classp= aths =3D > new ConcurrentHashMap( 4 ); >=20 > - public static Classpath getCachedClassPath( String artifactId ) > + public static Classpath getCachedClassPath( @Nonnull String arti= factId > ) { > return classpaths.get( artifactId ); > } >=20 > - public static void setCachedClasspath( String key, Classpath cla= sspath > ) + public static void setCachedClasspath( @Nonnull String key, @N= onnull > Classpath classpath ) { > classpaths.put( key, classpath ); > } >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/CommonRe= flector > .java ---------------------------------------------------------------= ------- > diff --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Comm > onReflector.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Comm > onReflector.java index 538b7e0..6851539 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Comm > onReflector.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Comm > onReflector.java @@ -25,6 +25,8 @@ import > org.apache.maven.plugin.surefire.report.DefaultReporterFactory; impor= t > org.apache.maven.surefire.util.ReflectionUtils; > import org.apache.maven.surefire.util.SurefireReflectionException; >=20 > +import javax.annotation.Nonnull; > + > /** > * @author Kristian Rosenvold > */ > @@ -34,7 +36,7 @@ public class CommonReflector >=20 > private final ClassLoader surefireClassLoader; >=20 > - public CommonReflector( ClassLoader surefireClassLoader ) > + public CommonReflector( @Nonnull ClassLoader surefireClassLoader= ) > { > this.surefireClassLoader =3D surefireClassLoader; >=20 > @@ -48,7 +50,7 @@ public class CommonReflector > } > } >=20 > - public Object createReportingReporterFactory( > StartupReportConfiguration startupReportConfiguration ) + public O= bject > createReportingReporterFactory( @Nonnull StartupReportConfiguration > startupReportConfiguration ) { > Class[] args =3D new Class[]{ this.startupReportConfigura= tion }; > Object src =3D createStartupReportConfiguration( > startupReportConfiguration ); @@ -58,7 +60,7 @@ public class > CommonReflector > } >=20 >=20 > - Object createStartupReportConfiguration( StartupReportConfigurat= ion > reporterConfiguration ) + Object createStartupReportConfiguration(= > @Nonnull StartupReportConfiguration reporterConfiguration ) { > Constructor constructor =3D ReflectionUtils.getConstructo= r( > this.startupReportConfiguration, new Class[]{ boolean.class, boolean.= class, >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/Provider= Info.ja > va ------------------------------------------------------------------= ---- > diff --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Prov > iderInfo.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Prov > iderInfo.java index 57069d8..50de7ea 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Prov > iderInfo.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/Prov > iderInfo.java @@ -24,11 +24,14 @@ import > org.apache.maven.artifact.resolver.ArtifactResolutionException; impor= t > org.apache.maven.plugin.MojoExecutionException; > import org.apache.maven.surefire.booter.Classpath; >=20 > +import javax.annotation.Nonnull; > + > /** > * @author Kristian Rosenvold > */ > public interface ProviderInfo > { > + @Nonnull > String getProviderName(); >=20 > boolean isApplicable(); >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/bootercl= ient/Fo > rkConfiguration.java > ---------------------------------------------------------------------= - diff > --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/boot > erclient/ForkConfiguration.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/boot > erclient/ForkConfiguration.java index 8f6f3c9..ba1aa27 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/boot > erclient/ForkConfiguration.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/boot > erclient/ForkConfiguration.java @@ -119,7 +119,7 @@ public class > ForkConfiguration >=20 > /** > * @param classPath cla the classpath arguments > - * @param startupConfiguration > + * @param startupConfiguration The startup configuration > * @param threadNumber the thread number, to be the repl= acement > in the argLine @return A commandline * @throws > org.apache.maven.surefire.booter.SurefireBooterForkException * = =20 > when unable to perform the fork > @@ -208,7 +208,7 @@ public class ForkConfiguration > * for all classpath elements. > * > * @param classPath List<String> of all classpath elemen= ts. > - * @param startClassName > + * @param startClassName The classname to start (main-class) > * @return The file pointint to the jar > * @throws java.io.IOException When a file operation fails. > */ >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/util/Dep= endency > Scanner.java > ---------------------------------------------------------------------= - diff > --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /DependencyScanner.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /DependencyScanner.java index b50f295..b2e8ab8 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /DependencyScanner.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /DependencyScanner.java @@ -34,6 +34,8 @@ import > org.apache.maven.plugin.MojoExecutionException; import > org.apache.maven.shared.utils.io.MatchPatterns; > import org.apache.maven.surefire.util.DefaultScanResult; >=20 > +import javax.annotation.Nullable; > + > /** > * Scans dependencies looking for tests. > * > @@ -141,7 +143,7 @@ public class DependencyScanner { >=20 > =09=09private SpecificFileFilter specificTestFilter; >=20 > -=09=09public Matcher(List includes, List excludes,=20= List > specificTests) +=09=09public Matcher(@Nullable List includes,= =20 @Nullable > List excludes, @Nullable List specificTests) { > =09=09=09String[] specific =3D specificTests =3D=3D null ? new Strin= g[0] : > processIncludesExcludes( specificTests ); specificTestFilter =3D new > SpecificFileFilter( specific ); >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/util/Rel= ocator. > java ----------------------------------------------------------------= ------ > diff --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /Relocator.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /Relocator.java index 31dde5d..76da9de 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /Relocator.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /Relocator.java @@ -19,6 +19,10 @@ package > org.apache.maven.plugin.surefire.util; > * under the License. > */ >=20 > +import com.sun.istack.internal.NotNull; > + > +import javax.annotation.Nullable; > + > /** > * Relocates class names when running with relocated provider > * > @@ -26,12 +30,12 @@ package org.apache.maven.plugin.surefire.util; > */ > public class Relocator > { > - private final String relocation; > + private final @Nullable String relocation; >=20 > private static final String relocationBase =3D > "org.apache.maven.surefire."; >=20 >=20 > - public Relocator( String relocation ) > + public Relocator( @Nullable String relocation ) > { > this.relocation =3D relocation; > } > @@ -41,12 +45,12 @@ public class Relocator > relocation =3D "shadefire"; > } >=20 > - private String getRelocation() > + private @Nullable String getRelocation() > { > return relocation; > } >=20 > - public String relocate( String className ) > + public @NotNull String relocate( @NotNull String className ) > { > if ( relocation =3D=3D null ) > { >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/m= aven-su > refire-common/src/main/java/org/apache/maven/plugin/surefire/util/Sca= nnerUti > l.java > ---------------------------------------------------------------------= - diff > --git > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /ScannerUtil.java > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /ScannerUtil.java index 3498e63..8b80301 100644 > --- > a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /ScannerUtil.java +++ > b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefir= e/util > /ScannerUtil.java @@ -25,6 +25,8 @@ import java.util.List; >=20 > import org.apache.commons.lang3.StringUtils; >=20 > +import javax.annotation.Nonnull; > + > final class ScannerUtil { >=20 > =09private ScannerUtil() {} > @@ -35,22 +37,22 @@ final class ScannerUtil { >=20 > private static final String JAVA_CLASS_FILE_EXTENSION =3D ".clas= s"; >=20 > - public static String convertToJavaClassName( String test ) > + public static @Nonnull String convertToJavaClassName( @Nonnull S= tring > test ) { > return StringUtils.removeEnd( test, ".class" ).replace( FS, = "." ); > } >=20 > - public static String convertJarFileResourceToJavaClassName( Stri= ng test > ) + public static @Nonnull String convertJarFileResourceToJavaClas= sName( > @Nonnull String test ) { > return StringUtils.removeEnd( test, ".class" ).replace( "/",= "." ); > } >=20 > - public static String stripBaseDir( String basedir, String test )= > + public static @Nonnull String stripBaseDir( String basedir, Stri= ng test > ) { > return StringUtils.removeStart( test, basedir ); > } >=20 > - public static String[] processIncludesExcludes( List lis= t ) > + public static @Nonnull String[] processIncludesExcludes( @Nonnul= l > List list ) { > List newList =3D new ArrayList(); > for ( Object aList : list ) >=20 > http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/7b330f58/p= om.xml > ---------------------------------------------------------------------= - > diff --git a/pom.xml b/pom.xml > index 677b367..c60f378 100644 > --- a/pom.xml > +++ b/pom.xml > @@ -265,6 +265,12 @@ > 3.8.1 > test > > + > + com.google.code.findbugs > + jsr305 > + 2.0.1 > + provided > + > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org For additional commands, e-mail: dev-help@maven.apache.org