You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by xa...@apache.org on 2008/09/02 18:33:17 UTC
svn commit: r691310 - in /ant/ivy/core/trunk: ./
src/java/org/apache/ivy/core/resolve/ test/java/org/apache/ivy/core/resolve/
test/repositories/m2/org/apache/test/1.1/
test/repositories/m2/org/apache/test/1.2/
test/repositories/m2/org/apache/test2/1.1/...
Author: xavier
Date: Tue Sep 2 09:33:16 2008
New Revision: 691310
URL: http://svn.apache.org/viewvc?rev=691310&view=rev
Log:
FIX: can't use gotoNode with a node which has not been visited yet (IVY-874)
Added:
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-874.xml (with props)
ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/
ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.jar (with props)
ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.pom
ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/
ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.jar (with props)
ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.pom
ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/
ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.jar (with props)
ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.pom
ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/
ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.jar (with props)
ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.pom
Modified:
ant/ivy/core/trunk/CHANGES.txt
ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java
ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/VisitNode.java
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=691310&r1=691309&r2=691310&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Tue Sep 2 09:33:16 2008
@@ -110,6 +110,7 @@
- IMPROVEMENT: Add a memory cache for the module descriptor that are parsed from the cache (IVY-883)
- IMPROVEMENT: Improve performance (IVY-872)
+- FIX: can't use gotoNode with a node which has not been visited yet (IVY-874)
- FIX: Ivy Publish Task Fails When XML Comments Exist Next to Dependency Declarations (IVY-888)
- FIX: Incorrect directory path resolve when running from a different directory (IVY-232)
- FIX: Ivy#listTokenValues(String, Map) does not filter returned values, and does not use maven-metadata.xml files with IBiblio resolver (IVY-886)
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java?rev=691310&r1=691309&r2=691310&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNodeUsage.java Tue Sep 2 09:33:16 2008
@@ -261,9 +261,7 @@
}
protected void removeRootModuleConf(String rootModuleConf) {
- if (!rootModuleConfs.keySet().contains(rootModuleConf)) {
- rootModuleConfs.put(rootModuleConf, null);
- }
+ rootModuleConfs.remove(rootModuleConf);
}
protected void blacklist(IvyNodeBlacklist bdata) {
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java?rev=691310&r1=691309&r2=691310&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java Tue Sep 2 09:33:16 2008
@@ -996,25 +996,58 @@
}
}
+ /**
+ * Compute possible conflicts for a node, in the context of an ancestor (a node which has a
+ * dependency - direct or indirect - on the node for which conflicts should be computed.
+ *
+ * @param node
+ * the node for which conflicts should be computed
+ * @param ancestor
+ * the ancestor in which conflicts should be computed
+ * @param conf
+ * the configuration of the node in which conflicts should be computed
+ * @param toevict
+ * a collection of nodes which have been evicted during conflict resolution at lower
+ * level. It may be empty if no conflict resolution has occured for this node yet, or
+ * if no node has been evicted.
+ * @param selectedNodes
+ * a collection of nodes selected during previous conflict resolution for the given
+ * node and ancestor. This collection is updated by this call, removing nodes which
+ * should be evicted.
+ * @return a collection of IvyNode which may be in conflict with the given node in the given
+ * ancestor. This collection always contain at least the given node.
+ */
private Collection computeConflicts(VisitNode node, VisitNode ancestor, String conf,
- Collection toevict, Collection resolvedNodes) {
+ Collection toevict, Collection selectedNodes) {
Collection conflicts = new LinkedHashSet();
conflicts.add(node.getNode());
- if (resolvedNodes.removeAll(toevict)) {
- // parent.resolved(node.mid) is not up to date:
- // recompute resolved from all sub nodes
- Collection deps = ancestor.getNode().getDependencies(node.getRootModuleConf(),
- ancestor.getRequiredConfigurations());
+ /*
+ * We first try to remove all evicted nodes from the collection of selected nodes to update
+ * this collection. If the collection changes, it means that it contained evicted nodes, and
+ * thus is not up to date. In this case we need to compute selected nodes again. Another
+ * case where we need to deeply compute selected nodes is when selectedNodes is empty (not
+ * computed yet) and we aren't in the context of the direct parent of the node.
+ */
+ if (selectedNodes.removeAll(toevict)
+ || (selectedNodes.isEmpty()
+ && !node.getParent().getNode().equals(ancestor.getNode()))) {
+ Collection deps = ancestor.getNode().getDependencies(
+ node.getRootModuleConf(),
+ ancestor.getNode().getConfigurations(node.getRootModuleConf()));
for (Iterator iter = deps.iterator(); iter.hasNext();) {
IvyNode dep = (IvyNode) iter.next();
if (dep.getModuleId().equals(node.getModuleId())) {
conflicts.add(dep);
}
- conflicts
- .addAll(dep.getResolvedNodes(node.getModuleId(), node.getRootModuleConf()));
+ conflicts.addAll(
+ dep.getResolvedNodes(node.getModuleId(), node.getRootModuleConf()));
}
- } else if (resolvedNodes.isEmpty()) {
- //Conflict must only be computed per root configuration at this step.
+ } else if (selectedNodes.isEmpty()) {
+ /*
+ * No selected nodes at all yet, and we are in the context of the direct parent
+ * (otherwise previous block would have been reached). We can compute conflicts based on
+ * the parent direct dependencies in current root module conf.
+ */
Collection parentDepIvyNodes = node.getParent().getNode()
.getDependencies(node.getRootModuleConf(),
new String[] {node.getParentConf()});
@@ -1025,7 +1058,7 @@
}
}
} else {
- conflicts.addAll(resolvedNodes);
+ conflicts.addAll(selectedNodes);
}
return conflicts;
}
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/VisitNode.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/VisitNode.java?rev=691310&r1=691309&r2=691310&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/VisitNode.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/VisitNode.java Tue Sep 2 09:33:16 2008
@@ -23,6 +23,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
+import java.util.List;
import org.apache.ivy.core.IvyContext;
import org.apache.ivy.core.module.descriptor.Configuration;
@@ -299,8 +300,7 @@
/**
* Returns a VisitNode for the given node. The given node must be a representation of the same
- * module (usually in another revision) as the one visited by this node. The given node must
- * also have been already visited.
+ * module (usually in another revision) as the one visited by this node.
*
* @param node
* the node to visit
@@ -314,18 +314,16 @@
+ getModuleId() + " Given node module id=" + node.getModuleId());
}
VisitData visitData = data.getVisitData(node.getId());
- if (visitData == null) {
- throw new IllegalArgumentException(
- "You can't use gotoNode with a node which has not been visited yet.\n"
- + "Given node id=" + node.getId());
- }
- for (Iterator iter = visitData.getVisitNodes(rootModuleConf).iterator(); iter.hasNext();) {
- VisitNode vnode = (VisitNode) iter.next();
- if ((parent == null && vnode.getParent() == null)
- || (parent != null && parent.getId().equals(vnode.getParent().getId()))) {
- vnode.parentConf = parentConf;
- vnode.usage = getUsage();
- return vnode;
+ if (visitData != null) {
+ List visitNodes = visitData.getVisitNodes(rootModuleConf);
+ for (Iterator iter = visitNodes.iterator(); iter.hasNext();) {
+ VisitNode vnode = (VisitNode) iter.next();
+ if ((parent == null && vnode.getParent() == null)
+ || (parent != null && parent.getId().equals(vnode.getParent().getId()))) {
+ vnode.parentConf = parentConf;
+ vnode.usage = getUsage();
+ return vnode;
+ }
}
}
// the node has not yet been visited from the current parent, we create a new visit node
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?rev=691310&r1=691309&r2=691310&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java Tue Sep 2 09:33:16 2008
@@ -3535,6 +3535,45 @@
"test", "jar", "jar").exists());
}
+ public void testResolveMaven2WithConflict() throws Exception {
+ Ivy ivy = new Ivy();
+ ivy.configure(new File("test/repositories/m2/ivysettings.xml").toURL());
+ ResolveReport report = ivy.resolve(new File(
+ "test/repositories/m2/org/apache/test3/1.1/test3-1.1.pom").toURL(),
+ getResolveOptions(new String[] {"default"}));
+ assertFalse(report.hasError());
+
+ assertTrue(getIvyFileInCache(
+ ModuleRevisionId.newInstance("org.apache", "test2", "1.1")).exists());
+ assertTrue(getArchiveFileInCache(ivy, "org.apache", "test2", "1.1",
+ "test2", "jar", "jar").exists());
+
+ assertTrue(getIvyFileInCache(
+ ModuleRevisionId.newInstance("org.apache", "test", "1.1")).exists());
+ assertTrue(getArchiveFileInCache(ivy, "org.apache", "test", "1.1",
+ "test", "jar", "jar").exists());
+
+ assertContainsArtifact(report.getConfigurationReport("default"),
+ getArtifact("org.apache", "test2", "1.1", "test2", "jar", "jar"));
+ assertContainsArtifact(report.getConfigurationReport("default"),
+ getArtifact("org.apache", "test", "1.1", "test", "jar", "jar"));
+ }
+
+ public void testResolveMaven2WithConflict2() throws Exception {
+ Ivy ivy = new Ivy();
+ ivy.configure(new File("test/repositories/m2/ivysettings.xml").toURL());
+ ResolveReport report = ivy.resolve(ResolveTest.class.getResource("ivy-874.xml"),
+ getResolveOptions(new String[] {"default"}));
+ assertFalse(report.hasError());
+
+ assertContainsArtifact(report.getConfigurationReport("default"),
+ getArtifact("org.apache", "test3", "1.1", "test3", "jar", "jar"));
+ assertContainsArtifact(report.getConfigurationReport("default"),
+ getArtifact("org.apache", "test2", "1.1", "test2", "jar", "jar"));
+ assertContainsArtifact(report.getConfigurationReport("default"),
+ getArtifact("org.apache", "test", "1.2", "test", "jar", "jar"));
+ }
+
public void testResolveMaven2RelocationOfGroupId() throws Exception {
//Same as testResolveMaven2 but with a relocated module pointing to the module
//used in testResolveMaven2.
@@ -4331,6 +4370,10 @@
private void assertContainsArtifact(String org, String module, String rev, String artName,
String type, String ext, ConfigurationResolveReport conf) {
Artifact art = getArtifact(org, module, rev, artName, type, ext);
+ assertContainsArtifact(conf, art);
+ }
+
+ private void assertContainsArtifact(ConfigurationResolveReport conf, Artifact art) {
if (!containsArtifact(art, conf.getDownloadedArtifactsReports())) {
fail("artifact " + art + " should be part of " + conf.getConfiguration() + " from "
+ conf.getModuleDescriptor().getModuleRevisionId());
Added: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-874.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-874.xml?rev=691310&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-874.xml (added)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-874.xml Tue Sep 2 09:33:16 2008
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<ivy-module version="1.0">
+ <info organisation="apache" module="IVY-874" revision="1.0"/>
+ <configurations>
+ <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/>
+ <conf name="master" visibility="public" description="contains only the artifact published by this module itself, with no transitive dependencies"/>
+ <conf name="compile" visibility="public" description="this is the default scope, used if none is specified. Compile dependencies are available in all classpaths."/>
+ <conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
+ <conf name="runtime" visibility="public" description="this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath." extends="compile"/>
+ <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases."/>
+ <conf name="system" visibility="public" description="this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository."/>
+ <conf name="optional" visibility="public" description="contains all optional dependencies" />
+ </configurations>
+
+ <dependencies>
+ <dependency org="org.apache" name="test" rev="1.2" conf="default" />
+ <dependency org="org.apache" name="test3" rev="1.1" conf="runtime->runtime,master" />
+ </dependencies>
+</ivy-module>
Propchange: ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ivy-874.xml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.jar?rev=691310&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.pom?rev=691310&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.pom (added)
+++ ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.1/test-1.1.pom Tue Sep 2 09:33:16 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache</groupId>
+ <artifactId>test</artifactId>
+ <name>Test Module for Ivy M2 parsing</name>
+ <version>1.1</version>
+ <url>http://ivy.jayasoft.org/</url>
+ <organization>
+ <name>Jayasoft</name>
+ <url>http://www.jayasoft.org/</url>
+ </organization>
+</project>
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.jar?rev=691310&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.pom?rev=691310&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.pom (added)
+++ ant/ivy/core/trunk/test/repositories/m2/org/apache/test/1.2/test-1.2.pom Tue Sep 2 09:33:16 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache</groupId>
+ <artifactId>test</artifactId>
+ <name>Test Module for Ivy M2 parsing</name>
+ <version>1.2</version>
+ <url>http://ivy.jayasoft.org/</url>
+ <organization>
+ <name>Jayasoft</name>
+ <url>http://www.jayasoft.org/</url>
+ </organization>
+</project>
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.jar?rev=691310&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.pom?rev=691310&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.pom (added)
+++ ant/ivy/core/trunk/test/repositories/m2/org/apache/test2/1.1/test2-1.1.pom Tue Sep 2 09:33:16 2008
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache</groupId>
+ <artifactId>test2</artifactId>
+ <name>Test Module for Ivy M2 parsing</name>
+ <version>1.1</version>
+ <url>http://ivy.jayasoft.org/</url>
+ <organization>
+ <name>Jayasoft</name>
+ <url>http://www.jayasoft.org/</url>
+ </organization>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.jar?rev=691310&view=auto
==============================================================================
Binary file - no diff available.
Propchange: ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.pom?rev=691310&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.pom (added)
+++ ant/ivy/core/trunk/test/repositories/m2/org/apache/test3/1.1/test3-1.1.pom Tue Sep 2 09:33:16 2008
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache</groupId>
+ <artifactId>test3</artifactId>
+ <name>Test Module for Ivy M2 parsing</name>
+ <version>1.1</version>
+ <url>http://ivy.jayasoft.org/</url>
+ <organization>
+ <name>Jayasoft</name>
+ <url>http://www.jayasoft.org/</url>
+ </organization>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache</groupId>
+ <artifactId>test</artifactId>
+ <version>1.1</version>
+ </dependency>
+ </dependencies>
+</project>