dion        2003/09/30 00:58:00

  Modified:    release/src/main/org/apache/maven/release
                        SnapshotResolver.java
  Log:
  Apply patchfile.txt from M AVEN-8
  6
  7
  
  Revision  Changes    Path
  1.14      +181 -185  
maven-plugins/release/src/main/org/apache/maven/release/SnapshotResolver.java
  
  Index: SnapshotResolver.java
  ===================================================================
  RCS file: 
/home/cvs/maven-plugins/release/src/main/org/apache/maven/release/SnapshotResolver.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- SnapshotResolver.java     29 Sep 2003 23:52:00 -0000      1.13
  +++ SnapshotResolver.java     30 Sep 2003 07:58:00 -0000      1.14
  @@ -1,185 +1,181 @@
  -package org.apache.maven.release;
  -
  -/* ====================================================================
  - * The Apache Software License, Version 1.1
  - *
  - * Copyright (c) 2001 The Apache Software Foundation.  All rights
  - * reserved.
  - *
  - * Redistribution and use in source and binary forms, with or without
  - * modification, are permitted provided that the following conditions
  - * are met:
  - *
  - * 1. Redistributions of source code must retain the above copyright
  - *    notice, this list of conditions and the following disclaimer.
  - *
  - * 2. Redistributions in binary form must reproduce the above copyright
  - *    notice, this list of conditions and the following disclaimer in
  - *    the documentation and/or other materials provided with the
  - *    distribution.
  - *
  - * 3. The end-user documentation included with the redistribution,
  - *    if any, must include the following acknowledgment:
  - *       "This product includes software developed by the
  - *        Apache Software Foundation (http://www.apache.org/)."
  - *    Alternately, this acknowledgment may appear in the software itself,
  - *    if and wherever such third-party acknowledgments normally appear.
  - *
  - * 4. The names "Apache" and "Apache Software Foundation" and
  - *    "Apache Maven" must not be used to endorse or promote products
  - *    derived from this software without prior written permission. For
  - *    written permission, please contact [EMAIL PROTECTED]
  - *
  - * 5. Products derived from this software may not be called "Apache",
  - *    "Apache Maven", nor may "Apache" appear in their name, without
  - *    prior written permission of the Apache Software Foundation.
  - *
  - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  - * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  - * SUCH DAMAGE.
  - * ====================================================================
  - *
  - * This software consists of voluntary contributions made by many
  - * individuals on behalf of the Apache Software Foundation.  For more
  - * information on the Apache Software Foundation, please see
  - * <http://www.apache.org/>.
  - *
  - * ====================================================================
  - */
  -
  -import org.apache.commons.io.FileUtils;
  -import org.apache.maven.MavenConstants;
  -import org.apache.maven.project.Project;
  -import org.apache.maven.util.HttpUtils;
  -import org.dom4j.Node;
  -
  -import java.io.File;
  -import java.util.Iterator;
  -
  -/**
  - *
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
  - *
  - * @version $Id$
  - */
  -public class SnapshotResolver
  -    extends AbstractPomTransformer
  -{
  -    // -------------------------------------------------------------------------
  -    // Accessors
  -    // -------------------------------------------------------------------------
  -
  -    public String selectNodesXPathExpression()
  -    {
  -        return "/project/dependencies/dependency[version='SNAPSHOT']";
  -    }
  -
  -    public String selectNodeXPath()
  -    {
  -        return "version";
  -    }
  -
  -    public String getNodeContent( Node node )
  -        throws Exception
  -    {
  -        String timestampVersion = null;
  -
  -        Node idNode = node.selectSingleNode( "id" );
  -
  -        String groupId;
  -        String artifactId;
  -        String artifactType = "jar";
  -
  -        if ( idNode != null )
  -        {
  -            groupId = idNode.getText();
  -            artifactId = groupId;
  -        }
  -        else
  -        {
  -            Node artifactIdNode = node.selectSingleNode( "artifactId" );
  -            Node groupIdNode = node.selectSingleNode( "groupId" );
  -
  -            groupId = groupIdNode.getText();
  -            artifactId = artifactIdNode.getText();
  -        }
  -
  -        Node typeIdNode = node.selectSingleNode( "groupId" );
  -
  -        if ( typeIdNode != null )
  -        {
  -            artifactType = typeIdNode.getText();
  -        }
  -
  -        // Now we need to attempt to find the the actual timestamp
  -        // version for this dependency.
  -
  -        // Variables are being stored as ConstantExpressions ...
  -
  -        Project project = (Project) getVariables().get( MavenConstants.MAVEN_POM );
  -        File snapshotVersionFile = new File( getProject().getParentFile(), 
artifactId + "-snapshot-version" );
  -
  -        for ( Iterator i = project.getContext().getMavenRepoRemote().iterator(); 
i.hasNext(); )
  -        {
  -            String remoteRepo = (String) i.next();
  -            String url = remoteRepo + "/" + groupId + "/" + artifactType + "s/" + 
artifactId + "-snapshot-version";
  -
  -            try
  -            {
  -                HttpUtils.getFile( url,
  -                                   snapshotVersionFile,
  -                                   true, // ignore errors
  -                                   false, // use timestamps
  -                                   (String) getVariables().get( 
MavenConstants.PROXY_HOST ), // proxy host
  -                                   (String) getVariables().get( 
MavenConstants.PROXY_PORT ), // proxy port
  -                                   (String) getVariables().get( 
MavenConstants.PROXY_USERNAME ), // proxy user name
  -                                   (String) getVariables().get( 
MavenConstants.PROXY_PASSWORD ) // proxy password
  -                );
  -            }
  -            catch ( Exception e )
  -            {
  -                // Either doesn't exist, or we have a network problem. In
  -                // either event we can't update the version field.
  -                System.out.println( "Can't retrieve snapshot version file: " + 
e.getLocalizedMessage() );
  -            }
  -
  -            if ( snapshotVersionFile.exists() )
  -            {
  -                timestampVersion = FileUtils.fileRead( 
snapshotVersionFile.getPath() );
  -            }
  -            else
  -            {
  -                timestampVersion = "SNAPSHOT";
  -            }
  -        }
  -
  -        return timestampVersion;
  -    }
  -
  -    public void transformNode( Node node )
  -        throws Exception
  -    {
  -        Node version = node.selectSingleNode( selectNodeXPath() );
  -        version.setText( getNodeContent( node ) );
  -    }
  -
  -    public Node getTransformedNode( Node node )
  -        throws Exception
  -    {
  -        Node transformedNode = (Node) node.clone();
  -        Node version = transformedNode.selectSingleNode( selectNodeXPath() );
  -        version.setText( getNodeContent( transformedNode ) );
  -
  -        return transformedNode;
  -    }
  -}
  +package org.apache.maven.release;
  +
  +/* ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2001 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software itself,
  + *    if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache" and "Apache Software Foundation" and
  + *    "Apache Maven" must not be used to endorse or promote products
  + *    derived from this software without prior written permission. For
  + *    written permission, please contact [EMAIL PROTECTED]
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    "Apache Maven", nor may "Apache" appear in their name, without
  + *    prior written permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + *
  + * ====================================================================
  + */
  +
  +import org.apache.commons.io.FileUtils;
  +import org.apache.maven.MavenConstants;
  +import org.apache.maven.project.Project;
  +import org.apache.maven.util.HttpUtils;
  +import org.dom4j.Node;
  +
  +import java.io.File;
  +import java.util.Iterator;
  +
  +/**
  + *
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
  + *
  + * @version $Id$
  + */
  +public class SnapshotResolver
  +    extends AbstractPomTransformer
  +{
  +    // -------------------------------------------------------------------------
  +    // Accessors
  +    // -------------------------------------------------------------------------
  +
  +    public String selectNodesXPathExpression()
  +    {
  +        return "/project/dependencies/dependency[version='SNAPSHOT']";
  +    }
  +
  +    public String selectNodeXPath()
  +    {
  +        return "version";
  +    }
  +
  +    public String getNodeContent( Node node )
  +        throws Exception
  +    {
  +        String timestampVersion = "SNAPSHOT";
  +
  +        Node idNode = node.selectSingleNode( "id" );
  +
  +        String groupId;
  +        String artifactId;
  +        String artifactType = "jar";
  +
  +        if ( idNode != null )
  +        {
  +            groupId = idNode.getText();
  +            artifactId = groupId;
  +        }
  +        else
  +        {
  +            Node artifactIdNode = node.selectSingleNode( "artifactId" );
  +            Node groupIdNode = node.selectSingleNode( "groupId" );
  +
  +            groupId = groupIdNode.getText();
  +            artifactId = artifactIdNode.getText();
  +        }
  +
  +        Node typeIdNode = node.selectSingleNode( "type" );
  +
  +        if ( typeIdNode != null )
  +        {
  +            artifactType = typeIdNode.getText();
  +        }
  +
  +        // Now we need to attempt to find the the actual timestamp
  +        // version for this dependency.
  +
  +        // Variables are being stored as ConstantExpressions ...
  +
  +        Project project = (Project) getVariables().get( MavenConstants.MAVEN_POM );
  +        File snapshotVersionFile = new File( getProject().getParentFile(), 
artifactId + "-snapshot-version" );
  +
  +        for ( Iterator i = project.getContext().getMavenRepoRemote().iterator(); 
i.hasNext(); )
  +        {
  +            String remoteRepo = (String) i.next();
  +            String url = remoteRepo + "/" + groupId + "/" + artifactType + "s/" + 
artifactId + "-snapshot-version";
  +           
  +            try
  +            {
  +                HttpUtils.getFile( url,
  +                                   snapshotVersionFile,
  +                                   true, // ignore errors
  +                                   false, // use timestamps
  +                                   (String) getVariables().get( 
MavenConstants.PROXY_HOST ), // proxy host
  +                                   (String) getVariables().get( 
MavenConstants.PROXY_PORT ), // proxy port
  +                                   (String) getVariables().get( 
MavenConstants.PROXY_USERNAME ), // proxy user name
  +                                   (String) getVariables().get( 
MavenConstants.PROXY_PASSWORD ) // proxy password
  +                );
  +            }
  +            catch ( Exception e )
  +            {
  +                // Either doesn't exist, or we have a network problem. In
  +                // either event we can't update the version field.
  +                System.out.println( "Can't retrieve snapshot version file: " + 
e.getLocalizedMessage() );
  +            }
  +
  +            if ( snapshotVersionFile.exists() )
  +            {
  +                timestampVersion = FileUtils.fileRead( 
snapshotVersionFile.getPath() );
  +            }
  +        }
  +
  +        return timestampVersion;
  +    }
  +
  +    public void transformNode( Node node )
  +        throws Exception
  +    {
  +        Node version = node.selectSingleNode( selectNodeXPath() );
  +        version.setText( getNodeContent( node ) );
  +    }
  +
  +    public Node getTransformedNode( Node node )
  +        throws Exception
  +    {
  +        Node transformedNode = (Node) node.clone();
  +        Node version = transformedNode.selectSingleNode( selectNodeXPath() );
  +        version.setText( getNodeContent( transformedNode ) );
  +
  +        return transformedNode;
  +    }
  +}
  
  
  

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

Reply via email to