diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
index dcbc179..b27da32 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
@@ -150,6 +150,10 @@
 
     public void execute() throws MojoExecutionException
     {
+        getLog().warn( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
+        getLog().warn( "! The bundleall goal is no longer supported and may be removed in a future release !" );
+        getLog().warn( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
+
         BundleInfo bundleInfo = bundleAll( getProject() );
         logDuplicatedPackages( bundleInfo );
     }
@@ -176,10 +180,6 @@
      */
     protected BundleInfo bundleAll( MavenProject project, int maxDepth ) throws MojoExecutionException
     {
-        getLog().warn( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
-        getLog().warn( "! The bundleall goal is no longer supported and may be removed in a future release !" );
-        getLog().warn( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
-
         if ( alreadyBundled( project.getArtifact() ) )
         {
             getLog().debug( "Ignoring project already processed " + project.getArtifact() );
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
index 679771f..fe4829a 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
@@ -27,11 +27,17 @@
  * @phase package
  * @requiresDependencyResolution test
  * @description build an OSGi bundle jar for direct dependencies
+ * @deprecated The wrap goal is no longer supported and may be removed in a future release
  */
+@Deprecated
 public final class WrapPlugin extends BundleAllPlugin
 {
     public void execute() throws MojoExecutionException
     {
+        getLog().warn( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
+        getLog().warn( "! The wrap goal is no longer supported and may be removed in a future release !" );
+        getLog().warn( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
+
         BundleInfo bundleInfo = bundleAll( getProject(), 1 );
         logDuplicatedPackages( bundleInfo );
     }
