diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java
index 99793f1..ac54f0c 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java
@@ -39,7 +39,7 @@
  * Generate Ant script to create the bundle (you should run ant:ant first).
  *
  * @goal ant
- * @requiresDependencyResolution runtime
+ * @requiresDependencyResolution test
  * @description generate Ant script to create the bundle
  */
 public class AntPlugin extends BundlePlugin
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 1f9b58d..ab36570 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
@@ -63,7 +63,7 @@
  * 
  * @goal bundleall
  * @phase package
- * @requiresDependencyResolution runtime
+ * @requiresDependencyResolution test
  * @description build an OSGi bundle jar for all transitive dependencies
  */
 public class BundleAllPlugin extends ManifestPlugin
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
index dc49af2..1307373 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
@@ -72,7 +72,7 @@
  *
  * @goal bundle
  * @phase package
- * @requiresDependencyResolution runtime
+ * @requiresDependencyResolution test
  * @description build an OSGi bundle jar
  */
 public class BundlePlugin extends AbstractMojo
@@ -711,9 +711,7 @@
             Artifact artifact = ( Artifact ) it.next();
             if ( artifact.getArtifactHandler().isAddedToClasspath() )
             {
-                if ( Artifact.SCOPE_COMPILE.equals( artifact.getScope() )
-                    || Artifact.SCOPE_SYSTEM.equals( artifact.getScope() )
-                    || Artifact.SCOPE_PROVIDED.equals( artifact.getScope() ) )
+                if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
                 {
                     File file = getFile( artifact );
                     if ( file == null )
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
index ca3cecc..b27d850 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
@@ -45,7 +45,7 @@
  * 
  * @goal manifest
  * @phase process-classes
- * @requiresDependencyResolution runtime
+ * @requiresDependencyResolution test
  */
 public class ManifestPlugin extends BundlePlugin
 {
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 97d2a64..679771f 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
@@ -25,7 +25,7 @@
 /**
  * @goal wrap
  * @phase package
- * @requiresDependencyResolution runtime
+ * @requiresDependencyResolution test
  * @description build an OSGi bundle jar for direct dependencies
  */
 public final class WrapPlugin extends BundleAllPlugin
