On 22-Feb-08, at 2:57 PM, [EMAIL PROTECTED] wrote:

Author: olamy
Date: Fri Feb 22 14:57:35 2008
New Revision: 630347

URL: http://svn.apache.org/viewvc?rev=630347&view=rev
Log:
[MDEPLOY-63] Allow disabling deployment for artifacts that should not be deployed


What's the reasoning behind this? When someone invokes the deploy lifecycle one would assume you, in fact, want to deploy. Just become some users asks for this doesn't mean it's a good idea.

By enabling this you potentially open a big can of worms. Now deployment is exposed to potential bugs in profiles calculation, property interpolation with dots, and the whole question of whether deployment should be optional. And even though this is an addition to a plugin it is a major behavioral change. Given it's right at the end of the lifecycle if you invoke it, it should deploy. I personally don't think this is a great option, is of limited value, and is going to create a potentially larger set of problems.


Modified:
maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/ maven/plugin/deploy/DeployMojo.java maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/ maven/plugin/deploy/DeployMojoTest.java

Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/ apache/maven/plugin/deploy/DeployMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java?rev=630347&r1=630346&r2=630347&view=diff
= = = = = = = = ====================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/ maven/plugin/deploy/DeployMojo.java (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/ maven/plugin/deploy/DeployMojo.java Fri Feb 22 14:57:35 2008
@@ -112,10 +112,25 @@
     * Contextualized.
     */
    private PlexusContainer container;
+
+    /**
+     * Set this to 'true' to bypass artifact deploy
+     *
+ * @parameter expression="${maven.deploy.skip}" default- value="false"
+     * @since 2.4
+     */
+    private boolean skip;

    public void execute()
        throws MojoExecutionException, MojoFailureException
    {
+
+        if ( skip )
+        {
+            getLog().info( " skipping artifact deployement " );
+            return;
+        }
+
        ArtifactRepository repo = getDeploymentRepository();

        String protocol = repo.getProtocol();

Modified: maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/ apache/maven/plugin/deploy/DeployMojoTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/maven/plugin/deploy/DeployMojoTest.java?rev=630347&r1=630346&r2=630347&view=diff
= = = = = = = = ====================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/ maven/plugin/deploy/DeployMojoTest.java (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/test/java/org/apache/ maven/plugin/deploy/DeployMojoTest.java Fri Feb 22 14:57:35 2008
@@ -193,6 +193,58 @@
assertEquals( 0, getSizeOfExpectedFiles( fileList, expectedFiles ) );
    }

+    public void testSkippingDeploy()
+        throws Exception
+    {
+ File testPom = new File( getBasedir(), "target/test-classes/ unit/basic-deploy-test/plugin-config.xml" );
+
+ DeployMojo mojo = (DeployMojo) lookupMojo( "deploy", testPom );
+
+        assertNotNull( mojo );
+
+ File file = new File( getBasedir(), "target/test-classes/ unit/basic-deploy-test/target/"
+            + "deploy-test-file-1.0-SNAPSHOT.jar" );
+
+        assertTrue( file.exists() );
+
+ ArtifactRepository loc = (ArtifactRepository) getVariableValueFromObject( mojo, "localRepository" );
+
+ artifact = (DeployArtifactStub) getVariableValueFromObject( mojo, "artifact" );
+
+ String packaging = (String) getVariableValueFromObject( mojo, "packaging" );
+
+        assertEquals( "jar", packaging );
+
+        artifact.setFile( file );
+
+ ArtifactRepositoryStub repo = (ArtifactRepositoryStub) getVariableValueFromObject( mojo, "deploymentRepository" );
+
+        assertNotNull( repo );
+
+        repo.setAppendToUrl( "basic-deploy-test" );
+
+        assertEquals( "deploy-test", repo.getId() );
+        assertEquals( "deploy-test", repo.getKey() );
+        assertEquals( "file", repo.getProtocol() );
+ assertEquals( "file://" + getBasedir() + "/target/remote- repo/basic-deploy-test", repo.getUrl() );
+
+        setVariableValueToObject( mojo, "skip", Boolean.TRUE );
+
+        mojo.execute();
+
+        File localRepo = new File( LOCAL_REPO, "" );
+
+        File[] files = localRepo.listFiles();
+
+        assertNull( files );
+
+        remoteRepo = new File( remoteRepo, "basic-deploy-test" );
+
+        files = remoteRepo.listFiles();
+
+        assertNull( files );
+    }
+
    public void testBasicDeployWithPackagingAsPom()
        throws Exception
    {



Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

the course of true love never did run smooth ...

-- Shakespeare



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to