You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ma...@apache.org on 2009/11/30 23:35:17 UTC
svn commit: r885601 - in /ant/ivy/core/trunk: CHANGES.txt
src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java
Author: maartenc
Date: Mon Nov 30 22:35:17 2009
New Revision: 885601
URL: http://svn.apache.org/viewvc?rev=885601&view=rev
Log:
FIX: FileSystem resolver with m2compatible=true throws error when publishing modules with dotted organisation names (IVY-968)
Modified:
ant/ivy/core/trunk/CHANGES.txt
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java
Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=885601&r1=885600&r2=885601&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Mon Nov 30 22:35:17 2009
@@ -99,6 +99,7 @@
- IMPROVEMENT: Trace a message when a property file referenced from the settings doesn't exixts (IVY-1074)
- IMPROVEMENT: use defaultconf in combination with defaultconfmapping (IVY-1135) (thanks to Jon Schneider)
+- FIX: FileSystem resolver with m2compatible=true throws error when publishing modules with dotted organisation names (IVY-968)
- FIX: ivy:retrieve sync="true" does nothing if first variable is optional (IVY-1142) (thanks to Andreas Axelsson)
- FIX: Latest Compatible Conflict Manager + Extra Attributes in Dependencies' IVY files == infinite loop (IVY-956)
- FIX: Resolve with Extra Attributes, Forced Dependencies causes invalid delivered ivy file (IVY-1079)
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java?rev=885601&r1=885600&r2=885601&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystemResolver.java Mon Nov 30 22:35:17 2009
@@ -279,13 +279,18 @@
}
private void initTransaction(ModuleRevisionId module) {
+ ModuleRevisionId mrid = module;
+ if (isM2compatible()) {
+ mrid = convertM2IdForResourceSearch(module);
+ }
+
transactionTempDir = Checks.checkAbsolute(IvyPatternHelper.substitute(
baseTransactionPattern,
ModuleRevisionId.newInstance(
- module, module.getRevision() + TRANSACTION_DESTINATION_SUFFIX)),
+ mrid, mrid.getRevision() + TRANSACTION_DESTINATION_SUFFIX)),
"baseTransactionPattern");
transactionDestDir = Checks.checkAbsolute(IvyPatternHelper.substitute(
- baseTransactionPattern, module), "baseTransactionPattern");
+ baseTransactionPattern, mrid), "baseTransactionPattern");
}
public String getTransactional() {
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java?rev=885601&r1=885600&r2=885601&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/FileSystemResolverTest.java Mon Nov 30 22:35:17 2009
@@ -752,6 +752,38 @@
}
}
+ public void testPublishTransactionWithDottedOrganisation() throws Exception {
+ try {
+ FileSystemResolver resolver = new FileSystemResolver();
+ resolver.setName("test");
+ resolver.setM2compatible(true);
+ resolver.setSettings(settings);
+
+ resolver.addIvyPattern(
+ settings.getBaseDir() + "/test/repositories/m2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]");
+ resolver.addArtifactPattern(
+ settings.getBaseDir() + "/test/repositories/m2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]");
+
+ ModuleRevisionId mrid = ModuleRevisionId.newInstance("org.apache", "mymodule", "myrevision");
+ Artifact ivyArtifact = new DefaultArtifact(mrid, new Date(), "ivy", "ivy", "xml");
+ Artifact artifact = new DefaultArtifact(mrid, new Date(), "myartifact", "mytype", "myext");
+ File src = new File("test/repositories/ivysettings.xml");
+
+ resolver.beginPublishTransaction(mrid, false);
+
+ // files should not be available until the transaction is committed
+ resolver.publish(ivyArtifact, src, false);
+ assertFalse(new File("test/repositories/m2/org/apache/mymodule/myrevision/ivy-myrevision.xml").exists());
+ resolver.publish(artifact, src, false);
+ assertFalse(new File("test/repositories/m2/org/apache/mymodule/myrevision/myartifact-myrevision.myext").exists());
+
+ resolver.commitPublishTransaction();
+ assertTrue(new File("test/repositories/m2/org/apache/mymodule/myrevision/ivy-myrevision.xml").exists());
+ assertTrue(new File("test/repositories/m2/org/apache/mymodule/myrevision/myartifact-myrevision.myext").exists());
+ } finally {
+ FileUtil.forceDelete(new File("test/repositories/m2/org/apache/mymodule"));
+ }
+ }
public void testAbortTransaction() throws Exception {
try {