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]