Did the line endings or Ascii/binary change for this file? -- dIon Gillard, Multitask Consulting Blog: http://blogs.codehaus.org/people/dion/
[EMAIL PROTECTED] wrote on 30/09/2003 09:52:00 AM: > jvanzyl 2003/09/29 16:52:00 > > Modified: release/src/main/org/apache/maven/release > SnapshotResolver.java > Log: > o MAVEN-542 > > http://jira.codehaus.org/secure/ViewIssue.jspa?id=11157 > > Revision Changes Path > 1.13 +185 -175 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.12 > retrieving revision 1.13 > diff -u -r1.12 -r1.13 > --- SnapshotResolver.java 13 Apr 2003 00:56:02 -0000 1.12 > +++ SnapshotResolver.java 29 Sep 2003 23:52:00 -0000 1.13 > @@ -1,175 +1,185 @@ > -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.util.HttpUtils; > -import org.dom4j.Node; > - > -import java.io.File; > - > -/** > - * > - * > - * @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; > - > - 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(); > - } > - > - // Now we need to attempt to find the the actual timestamp > - // version for this dependency. > - > - // Variables are being stored as ConstantExpressions ... > - > - /* > - String url = getVariables().get( MavenConstants. > REPO_REMOTE ) + "/" + > - groupId + "/jars/" + artifactId + "-snapshot-version"; > - */ > - > - String url = "http://www.ibiblio.org/maven/" + groupId + > "/jars/" + artifactId + "-snapshot-version"; > - > - File snapshotVersionFile = new File( getProject(). > getParentFile(), 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 = 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; > > + } > > +} > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
