diff --git a/nb-repository-plugin/src/main/java/org/codehaus/mojo/nbm/repository/DownloadIndexMojo.java b/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/DownloadIndexMojo.java
similarity index 99%
rename from nb-repository-plugin/src/main/java/org/codehaus/mojo/nbm/repository/DownloadIndexMojo.java
rename to nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/DownloadIndexMojo.java
index 158abff..60cccf4 100644
--- a/nb-repository-plugin/src/main/java/org/codehaus/mojo/nbm/repository/DownloadIndexMojo.java
+++ b/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/DownloadIndexMojo.java
@@ -15,7 +15,7 @@
  */
 
 
-package org.codehaus.mojo.nbm.repository;
+package org.apache.netbeans.nbm.repository;
 
 import java.io.File;
 import java.net.URI;
diff --git a/nb-repository-plugin/src/main/java/org/codehaus/mojo/nbm/repository/PopulateRepositoryMojo.java b/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
similarity index 99%
rename from nb-repository-plugin/src/main/java/org/codehaus/mojo/nbm/repository/PopulateRepositoryMojo.java
rename to nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
index d59670e..252f745 100644
--- a/nb-repository-plugin/src/main/java/org/codehaus/mojo/nbm/repository/PopulateRepositoryMojo.java
+++ b/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm.repository;
+package org.apache.netbeans.nbm.repository;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -76,13 +76,13 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.artifact.AttachedArtifact;
 import org.apache.maven.project.artifact.ProjectArtifactMetadata;
+import org.apache.netbeans.nbm.utils.AbstractNetbeansMojo;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Input;
 import org.apache.tools.ant.taskdefs.PathConvert;
 import org.apache.tools.ant.types.FileSet;
-import org.codehaus.mojo.nbm.utils.AbstractNetbeansMojo;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 
diff --git a/nb-repository-plugin/src/test/java/org/codehaus/mojo/nbm/repository/PopulateRepositoryMojoTest.java b/nb-repository-plugin/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
similarity index 96%
rename from nb-repository-plugin/src/test/java/org/codehaus/mojo/nbm/repository/PopulateRepositoryMojoTest.java
rename to nb-repository-plugin/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
index c22a603..817de56 100644
--- a/nb-repository-plugin/src/test/java/org/codehaus/mojo/nbm/repository/PopulateRepositoryMojoTest.java
+++ b/nb-repository-plugin/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
@@ -15,8 +15,9 @@
  *  under the License.
  */
 
-package org.codehaus.mojo.nbm.repository;
+package org.apache.netbeans.nbm.repository;
 
+import org.apache.netbeans.nbm.repository.PopulateRepositoryMojo;
 import java.io.File;
 import junit.framework.TestCase;
 import org.apache.maven.artifact.Artifact;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/AbstractNbmMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AbstractNbmMojo.java
similarity index 97%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/AbstractNbmMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AbstractNbmMojo.java
index 3e0520b..b13eb20 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/AbstractNbmMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AbstractNbmMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.io.FileReader;
@@ -38,15 +38,18 @@
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.netbeans.nbm.model.Dependency;
+import org.apache.netbeans.nbm.model.NetBeansModule;
+import org.apache.netbeans.nbm.model.io.xpp3.NetBeansModuleXpp3Reader;
+import org.apache.netbeans.nbm.utils.AbstractNetbeansMojo;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import org.codehaus.mojo.nbm.model.Dependency;
-import org.codehaus.mojo.nbm.model.NetBeansModule;
-import org.codehaus.mojo.nbm.model.io.xpp3.NetBeansModuleXpp3Reader;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
+
+
 import org.codehaus.plexus.util.IOUtil;
 
 public abstract class AbstractNbmMojo
-    extends org.codehaus.mojo.nbm.utils.AbstractNetbeansMojo
+    extends AbstractNetbeansMojo
 {
 
     static boolean matchesLibrary( Artifact artifact, List<String> libraries, ExamineManifest depExaminator,
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/AdaptNbVersion.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/AdaptNbVersion.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java
index f80ff9c..05b2880 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/AdaptNbVersion.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/BrandingMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BrandingMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/BrandingMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BrandingMojo.java
index 0d06d47..ad6087c 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/BrandingMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BrandingMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import org.apache.maven.plugin.MojoExecutionException;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/BuildInstallersMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BuildInstallersMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/BuildInstallersMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BuildInstallersMojo.java
index fab8fa7..a01912e 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/BuildInstallersMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BuildInstallersMojo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  * under the License.
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.*;
 import java.net.JarURLConnection;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CollectLibrariesNodeVisitor.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CollectLibrariesNodeVisitor.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java
index b35c7a6..5542c17 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CollectLibrariesNodeVisitor.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -27,7 +27,7 @@
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 
 /**
  * A dependency node visitor that collects visited nodes that are known libraries or are
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CollectModuleLibrariesNodeVisitor.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CollectModuleLibrariesNodeVisitor.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
index 693471a..f9e257b 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CollectModuleLibrariesNodeVisitor.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -27,7 +27,7 @@
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 
 /**
  * A dependency node visitor that collects visited nodes that are known libraries or are
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateClusterAppMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterAppMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateClusterAppMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterAppMojo.java
index 38a9756..69239e0 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateClusterAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterAppMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import com.google.common.collect.Sets;
 import java.io.*;
@@ -57,12 +57,12 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.filters.StringInputStream;
 import org.apache.tools.ant.taskdefs.Chmod;
 import org.apache.tools.ant.types.FileSet;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateClusterMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterMojo.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateClusterMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterMojo.java
index 89e5e40..a1a6bb5 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateClusterMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.io.IOException;
@@ -28,12 +28,12 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.filters.StringInputStream;
 import org.apache.tools.ant.taskdefs.Copy;
 import org.apache.tools.ant.types.FileSet;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.io.InputStreamFacade;
 
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateNbmMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNbmMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateNbmMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNbmMojo.java
index 9281be3..e652083 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateNbmMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNbmMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateNetBeansFileStructure.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNetBeansFileStructure.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateNetBeansFileStructure.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNetBeansFileStructure.java
index f6ae5a4..3a10d73 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateNetBeansFileStructure.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNetBeansFileStructure.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.*;
 import java.lang.reflect.Field;
@@ -44,10 +44,12 @@
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.shared.filtering.MavenFilteringException;
-import org.codehaus.mojo.nbm.model.NbmResource;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.filtering.MavenResourcesExecution;
 import org.apache.maven.shared.filtering.MavenResourcesFiltering;
+import org.apache.netbeans.nbm.model.NbmResource;
+import org.apache.netbeans.nbm.model.NetBeansModule;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Copy;
@@ -58,8 +60,6 @@
 import org.apache.tools.ant.util.FileUtils;
 import org.netbeans.nbbuild.CreateModuleXML;
 import org.netbeans.nbbuild.MakeListOfNBM;
-import org.codehaus.mojo.nbm.model.NetBeansModule;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
 import org.netbeans.nbbuild.JHIndexer;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateStandaloneMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateStandaloneMojo.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateStandaloneMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateStandaloneMojo.java
index 7e3e485..c78fdd4 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateStandaloneMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateStandaloneMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  *  under the License.
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import org.apache.maven.plugin.AbstractMojo;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateUpdateSiteMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateUpdateSiteMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java
index 9b04f6f..3fef630 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateUpdateSiteMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.util.Iterator;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateWebstartAppMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateWebstartAppMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateWebstartAppMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateWebstartAppMojo.java
index e53b832..fe37b10 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/CreateWebstartAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateWebstartAppMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  *  under the License.
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/NetBeansManifestUpdateMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/NetBeansManifestUpdateMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojo.java
index 87df4fb..92d3423 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/NetBeansManifestUpdateMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -48,16 +48,16 @@
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.codehaus.mojo.nbm.model.Dependency;
-import org.codehaus.mojo.nbm.model.NetBeansModule;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.analyzer.DefaultClassAnalyzer;
 import org.apache.maven.shared.dependency.analyzer.asm.ASMDependencyAnalyzer;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.netbeans.nbm.model.Dependency;
+import org.apache.netbeans.nbm.model.NetBeansModule;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.taskdefs.Manifest;
 import org.apache.tools.ant.taskdefs.ManifestException;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.IOUtil;
 
 /**
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/RunNetBeansMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunNetBeansMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/RunNetBeansMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunNetBeansMojo.java
index f4a7187..0e7a142 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/RunNetBeansMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunNetBeansMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/RunPlatformAppMojo.java b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunPlatformAppMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/RunPlatformAppMojo.java
rename to nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunPlatformAppMojo.java
index 4144a63..3cf143d 100644
--- a/nbm-maven-plugin/src/main/java/org/codehaus/mojo/nbm/RunPlatformAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunPlatformAppMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.util.List;
diff --git a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/AbstractNbmMojoTest.java b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/AbstractNbmMojoTest.java
similarity index 98%
rename from nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/AbstractNbmMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/AbstractNbmMojoTest.java
index f66bd9b..c954d69 100644
--- a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/AbstractNbmMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/AbstractNbmMojoTest.java
@@ -15,7 +15,7 @@
  *  under the License.
  */
 
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -32,9 +32,9 @@
 import org.apache.maven.plugin.logging.SystemStreamLog;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode;
-import org.codehaus.mojo.nbm.model.Dependency;
-import org.codehaus.mojo.nbm.model.NetBeansModule;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
+import org.apache.netbeans.nbm.model.Dependency;
+import org.apache.netbeans.nbm.model.NetBeansModule;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 
 /**
  *
diff --git a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/BrandingMojoTest.java b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/BrandingMojoTest.java
similarity index 96%
rename from nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/BrandingMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/BrandingMojoTest.java
index caa97d9..7a184c5 100644
--- a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/BrandingMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/BrandingMojoTest.java
@@ -13,8 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
+import org.apache.netbeans.nbm.BrandingMojo;
 import java.io.File;
 import org.junit.Test;
 import static org.junit.Assert.*;
diff --git a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/CreateClusterAppMojoTest.java b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateClusterAppMojoTest.java
similarity index 95%
rename from nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/CreateClusterAppMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateClusterAppMojoTest.java
index c761d25..1ae7318 100644
--- a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/CreateClusterAppMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateClusterAppMojoTest.java
@@ -13,8 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
+import org.apache.netbeans.nbm.CreateClusterAppMojo;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -25,8 +26,8 @@
 import java.util.Set;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
-import org.codehaus.mojo.nbm.CreateClusterAppMojo.BundleTuple;
-import org.codehaus.mojo.nbm.utils.ExamineManifest;
+import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.apache.netbeans.nbm.CreateClusterAppMojo.BundleTuple;
 import static org.junit.Assert.*;
 import org.junit.Test;
 
diff --git a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/CreateNetBeansFileStructureTest.java b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateNetBeansFileStructureTest.java
similarity index 95%
rename from nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/CreateNetBeansFileStructureTest.java
rename to nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateNetBeansFileStructureTest.java
index 48a57d5..e74b47d 100644
--- a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/CreateNetBeansFileStructureTest.java
+++ b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateNetBeansFileStructureTest.java
@@ -13,8 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
+import org.apache.netbeans.nbm.CreateNetBeansFileStructure;
 import java.io.File;
 import java.io.PrintWriter;
 import java.io.StringWriter;
diff --git a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/NetBeansManifestUpdateMojoTest.java b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
similarity index 97%
rename from nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/NetBeansManifestUpdateMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
index c49ca20..4642e62 100644
--- a/nbm-maven-plugin/src/test/java/org/codehaus/mojo/nbm/NetBeansManifestUpdateMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
@@ -15,8 +15,9 @@
  *  under the License.
  */
 
-package org.codehaus.mojo.nbm;
+package org.apache.netbeans.nbm;
 
+import org.apache.netbeans.nbm.NetBeansManifestUpdateMojo;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
diff --git a/nbm-shared/src/main/java/org/codehaus/mojo/nbm/utils/AbstractNetbeansMojo.java b/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/AbstractNetbeansMojo.java
similarity index 98%
rename from nbm-shared/src/main/java/org/codehaus/mojo/nbm/utils/AbstractNetbeansMojo.java
rename to nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/AbstractNetbeansMojo.java
index c005bb9..e74810c 100644
--- a/nbm-shared/src/main/java/org/codehaus/mojo/nbm/utils/AbstractNetbeansMojo.java
+++ b/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/AbstractNetbeansMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm.utils;
+package org.apache.netbeans.nbm.utils;
 
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.tools.ant.BuildEvent;
diff --git a/nbm-shared/src/main/java/org/codehaus/mojo/nbm/utils/ExamineManifest.java b/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/ExamineManifest.java
similarity index 99%
rename from nbm-shared/src/main/java/org/codehaus/mojo/nbm/utils/ExamineManifest.java
rename to nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/ExamineManifest.java
index 730114d..5165d0e 100644
--- a/nbm-shared/src/main/java/org/codehaus/mojo/nbm/utils/ExamineManifest.java
+++ b/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/ExamineManifest.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.codehaus.mojo.nbm.utils;
+package org.apache.netbeans.nbm.utils;
 
 import java.io.File;
 import java.io.FileInputStream;
diff --git a/nbm-shared/src/test/java/org/codehaus/mojo/nbm/utils/ExamineManifestTest.java b/nbm-shared/src/test/java/org/apache/netbeans/nbm/utils/ExamineManifestTest.java
similarity index 97%
rename from nbm-shared/src/test/java/org/codehaus/mojo/nbm/utils/ExamineManifestTest.java
rename to nbm-shared/src/test/java/org/apache/netbeans/nbm/utils/ExamineManifestTest.java
index f23827d..fa5e026 100644
--- a/nbm-shared/src/test/java/org/codehaus/mojo/nbm/utils/ExamineManifestTest.java
+++ b/nbm-shared/src/test/java/org/apache/netbeans/nbm/utils/ExamineManifestTest.java
@@ -15,8 +15,9 @@
  * under the License.
  */
 
-package org.codehaus.mojo.nbm.utils;
+package org.apache.netbeans.nbm.utils;
 
+import org.apache.netbeans.nbm.utils.ExamineManifest;
 import java.io.File;
 import java.io.PrintWriter;
 import junit.framework.TestCase;
