JCRVLT-365 switch to Jetbrains Null annotations

This closes #34

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/commons/filevault-package-maven-plugin/trunk@1870468 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 2594196..ee29803 100644
--- a/pom.xml
+++ b/pom.xml
@@ -379,9 +379,9 @@
             <version>2.6</version>
         </dependency>
         <dependency>
-            <groupId>com.google.code.findbugs</groupId>
-            <artifactId>jsr305</artifactId>
-            <version>2.0.1</version>
+            <groupId>org.jetbrains</groupId>
+            <artifactId>annotations</artifactId>
+            <version>18.0.0</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -637,4 +637,4 @@
             </build>
         </profile>
     </profiles>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java
index 0ebf13f..c230ac9 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/MavenBasedPackageDependency.java
@@ -22,10 +22,6 @@
 import java.net.URISyntaxException;
 import java.util.Collection;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
 import org.apache.jackrabbit.vault.packaging.PackageId;
 import org.apache.jackrabbit.vault.packaging.PackageInfo;
 import org.apache.jackrabbit.vault.packaging.VersionRange;
@@ -35,6 +31,8 @@
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * This class represents a dependency to another content package.
@@ -234,7 +232,7 @@
         return dependency;
     }
 
-    @CheckForNull
+    @Nullable
     public URI getLocation() {
         if (groupId != null && artifactId != null && mavenVersion != null) {
             // which version?
@@ -255,7 +253,7 @@
         return sb.toString();
     }
 
-    public static URI mavenCoordinatesToUri(@Nonnull String groupId, @Nonnull String artifactId, @Nonnull String version, String classifier) {
+    public static URI mavenCoordinatesToUri(@NotNull String groupId, @NotNull String artifactId, @NotNull String version, String classifier) {
         StringBuilder ssp = new StringBuilder();
         ssp.append(groupId).append(":").append(artifactId).append(":").append(version).append(":zip");
         if (StringUtils.isNotEmpty(classifier)) {
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/SimpleEmbedded.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/SimpleEmbedded.java
index 9cfce0c..2fef4b8 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/SimpleEmbedded.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/SimpleEmbedded.java
@@ -21,14 +21,13 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
 import org.apache.jackrabbit.filevault.maven.packaging.impl.StringFilterSet;
 import org.apache.jackrabbit.vault.fs.config.ConfigurationException;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.project.MavenProject;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 /**
  * Abstract base class for all kinds of embeds (both OSGi bundles as well as subpackages)
@@ -140,7 +139,7 @@
         return matches;
     }
 
-    @Nonnull
+    @NotNull
     public StringBuilder toString(@Nullable StringBuilder builder) {
         if (builder == null) {
             builder = new StringBuilder();
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
index 5ec6f4a..05acaeb 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/VaultMojo.java
@@ -33,8 +33,6 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.annotation.Nonnull;
-
 import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
 import org.apache.jackrabbit.vault.fs.config.ConfigurationException;
 import org.apache.jackrabbit.vault.util.Constants;
@@ -63,6 +61,7 @@
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
+import org.jetbrains.annotations.NotNull;
 
 /** Build a content package. */
 @Mojo(name = "package", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE, threadSafe = true)
@@ -196,8 +195,8 @@
      * @param directory the directory
      * @param prefix the prefix
      * @return the fileset */
-    @Nonnull
-    protected DefaultFileSet createFileSet(@Nonnull File directory, @Nonnull String prefix) {
+    @NotNull
+    protected DefaultFileSet createFileSet(@NotNull File directory, @NotNull String prefix) {
         return createFileSet(directory, prefix, null);
     }
 
@@ -207,8 +206,8 @@
      * @param prefix the prefix
      * @param additionalExcludes excludes
      * @return the fileset */
-    @Nonnull
-    protected DefaultFileSet createFileSet(@Nonnull File directory, @Nonnull String prefix, List<String> additionalExcludes) {
+    @NotNull
+    protected DefaultFileSet createFileSet(@NotNull File directory, @NotNull String prefix, List<String> additionalExcludes) {
         List<String> excludes = new LinkedList<>(this.excludes);
         if (additionalExcludes != null) {
             excludes.addAll(additionalExcludes);
@@ -275,7 +274,7 @@
         archiver.addFileSet(fileSet);
     }
 
-    private @Nonnull File applyFiltering(MavenResourcesExecution mavenResourcesExecution, Resource resource) throws MavenFilteringException {
+    private @NotNull File applyFiltering(MavenResourcesExecution mavenResourcesExecution, Resource resource) throws MavenFilteringException {
         File targetPath = new File(project.getBuild().getDirectory(), "filteredFiles");
         // which path to set as target (is a temporary path)
         getLog().debug("Applying filtering to resource " + resource);
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/ImportPackageBuilder.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/ImportPackageBuilder.java
index 41d362b..d5e3f24 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/ImportPackageBuilder.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/ImportPackageBuilder.java
@@ -38,15 +38,14 @@
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
 
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 import aQute.bnd.header.Attrs;
 import aQute.bnd.header.Parameters;
@@ -133,7 +132,7 @@
      * @param classes the directory
      * @return this.
      */
-    @Nonnull
+    @NotNull
     public ImportPackageBuilder withClassFileDirectory(File classes) {
         classFileDirectory = classes;
         return this;
@@ -145,8 +144,8 @@
      * @param project the maven project
      * @return this
      */
-    @Nonnull
-    public ImportPackageBuilder withDependenciesFromProject(@Nonnull MavenProject project) {
+    @NotNull
+    public ImportPackageBuilder withDependenciesFromProject(@NotNull MavenProject project) {
         artifacts = new ArrayList<Artifact>();
         for (Artifact a : project.getDependencyArtifacts()) {
             if (!filter.include(a)) {
@@ -170,7 +169,7 @@
      * @param includeUnused {@code true} to include unused.
      * @return this
      */
-    @Nonnull
+    @NotNull
     public ImportPackageBuilder withIncludeUnused(boolean includeUnused) {
         this.includeUnused = includeUnused;
         return this;
@@ -181,8 +180,8 @@
      * @param filter the filter
      * @return this
      */
-    @Nonnull
-    public ImportPackageBuilder withFilter(@Nonnull ArtifactFilter filter) {
+    @NotNull
+    public ImportPackageBuilder withFilter(@NotNull ArtifactFilter filter) {
         this.filter = filter;
         return this;
     }
@@ -192,7 +191,7 @@
      * @return this
      * @throws IOException if an error occurrs.
      */
-    @Nonnull
+    @NotNull
     public ImportPackageBuilder analyze() throws IOException {
         initClassFiles();
         initAnalyzer();
@@ -207,7 +206,7 @@
      * returns the import parameter header. only available after {@link #analyze()}
      * @return the parameters
      */
-    @Nonnull
+    @NotNull
     public Map<String, Attrs> getImportParameters() {
         return importParameters;
     }
@@ -216,7 +215,7 @@
      * generates a package report
      * @return the report
      */
-    @Nonnull
+    @NotNull
     public String createExportPackageReport() {
         TreeSet<String> unusedBundles = new TreeSet<String>(bundles.keySet());
         StringBuilder report = new StringBuilder("Export package report:\n\n");
@@ -532,7 +531,7 @@
          * e.g. {@code /some/package/name/ClassFile.class}.
          * @return the paths.
          */
-        @Nonnull
+        @NotNull
         Collection<String> getClassFiles() throws IOException;
     }
 
@@ -556,7 +555,7 @@
         }
 
         @Override
-        @Nonnull
+        @NotNull
         public Collection<String> getClassFiles() throws IOException {
             List<String> fileNames = new LinkedList<>();
             try (JarFile jar = new JarFile(this.file)) {
@@ -602,7 +601,7 @@
         }
 
         @Override
-        @Nonnull
+        @NotNull
         public Collection<String> getClassFiles() throws IOException {
             Collection<File> files = listFiles(this.directory, new String[]{"class"}, true);
             String basePath = this.directory.getCanonicalPath();
@@ -632,4 +631,4 @@
             return clazz.getFQN();
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java
index 87cbae8..1a43016 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DependencyResolver.java
@@ -24,8 +24,6 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.annotation.CheckForNull;
-
 import org.apache.jackrabbit.filevault.maven.packaging.MavenBasedPackageDependency;
 import org.apache.jackrabbit.vault.packaging.Dependency;
 import org.apache.jackrabbit.vault.packaging.PackageId;
@@ -40,6 +38,7 @@
 import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.repository.RepositorySystem;
+import org.jetbrains.annotations.Nullable;
 
 /** Allows to resolve a {@link Dependency} from the underlying Maven repository (first local, then remote). */
 public class DependencyResolver {
@@ -93,7 +92,7 @@
         return packageInfos;
     }
 
-    public @CheckForNull PackageInfo resolve(Dependency dependency, Log log) throws IOException {
+    public @Nullable PackageInfo resolve(Dependency dependency, Log log) throws IOException {
         // resolving a version range is not supported with Maven API, but only with lower level Aether API (requires Maven 3.5 or newer)
         // https://github.com/eclipse/aether-demo/blob/master/aether-demo-snippets/src/main/java/org/eclipse/aether/examples/FindAvailableVersions.java
         // therefore do an best effort resolve instead
@@ -126,7 +125,7 @@
         return info;
     }
 
-    private @CheckForNull PackageInfo resolve(String groupId, String artifactId, String version, Log log) throws IOException {
+    private @Nullable PackageInfo resolve(String groupId, String artifactId, String version, Log log) throws IOException {
         Artifact artifact = repositorySystem.createArtifact(groupId, artifactId, version, "zip");
         File file = resolve(artifact, log);
         if (file != null) {
@@ -136,7 +135,7 @@
         }
     }
 
-    private @CheckForNull File resolve(Artifact artifact, Log log) {
+    private @Nullable File resolve(Artifact artifact, Log log) {
         ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest(repositoryRequest);
         resolutionRequest.setArtifact(artifact);
         ArtifactResolutionResult result = repositorySystem.resolve(resolutionRequest);
diff --git a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java
index 77de124..85dfbb4 100644
--- a/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java
+++ b/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/validator/impl/context/DirectoryValidationContext.java
@@ -24,8 +24,6 @@
 import java.util.Collection;
 import java.util.List;
 
-import javax.annotation.Nonnull;
-
 import org.apache.jackrabbit.filevault.maven.packaging.GenerateMetadataMojo;
 import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter;
 import org.apache.jackrabbit.vault.fs.config.ConfigurationException;
@@ -38,6 +36,7 @@
 import org.apache.jackrabbit.vault.util.Constants;
 import org.apache.jackrabbit.vault.validation.spi.ValidationContext;
 import org.apache.maven.plugin.logging.Log;
+import org.jetbrains.annotations.NotNull;
 
 /**
  * Validation context built from files in two directories:
@@ -54,7 +53,7 @@
     
     private static final Path RELATIVE_PROPERTIES_XML_PATH = Paths.get(Constants.VAULT_DIR, Constants.PROPERTIES_XML);
 
-    public DirectoryValidationContext(@Nonnull final File generatedMetaInfRootDirectory, final File metaInfRootDirectory, DependencyResolver resolver, @Nonnull final Log log) throws IOException, ConfigurationException {
+    public DirectoryValidationContext(@NotNull final File generatedMetaInfRootDirectory, final File metaInfRootDirectory, DependencyResolver resolver, @NotNull final Log log) throws IOException, ConfigurationException {
         Path propertiesPath = null;
         if (!Constants.META_INF.equals(generatedMetaInfRootDirectory.getName())) {
             throw new IllegalArgumentException("The workDir must end with 'META-INF' but is '" + generatedMetaInfRootDirectory+"'");
@@ -123,4 +122,4 @@
         return null;
     }
 
-}
\ No newline at end of file
+}