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 2007/12/02 16:05:20 UTC

svn commit: r600305 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/core/settings/XmlSettingsParser.java test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml

Author: xavier
Date: Sun Dec  2 07:05:19 2007
New Revision: 600305

URL: http://svn.apache.org/viewvc?rev=600305&view=rev
Log:
allow to define new lock strategies in settings (IVY-654)

Added:
    ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml   (with props)
Modified:
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java?rev=600305&r1=600304&r2=600305&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/settings/XmlSettingsParser.java Sun Dec  2 07:05:19 2007
@@ -50,7 +50,7 @@
 
     private List configuratorTags = Arrays.asList(new String[] {"resolvers", "namespaces",
             "parsers", "latest-strategies", "conflict-managers", "outputters", "version-matchers",
-            "statuses", "circular-dependency-strategies", "triggers"});
+            "statuses", "circular-dependency-strategies", "triggers", "lock-strategies"});
 
     private IvySettings ivy;
 

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java?rev=600305&r1=600304&r2=600305&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/XmlSettingsParserTest.java Sun Dec  2 07:05:19 2007
@@ -24,11 +24,14 @@
 import junit.framework.TestCase;
 
 import org.apache.ivy.core.cache.ResolutionCacheManager;
+import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.id.ModuleId;
 import org.apache.ivy.core.report.ResolveReport;
 import org.apache.ivy.plugins.latest.LatestRevisionStrategy;
 import org.apache.ivy.plugins.latest.LatestStrategy;
 import org.apache.ivy.plugins.latest.LatestTimeStrategy;
+import org.apache.ivy.plugins.lock.AbstractLockStrategy;
+import org.apache.ivy.plugins.lock.LockStrategy;
 import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistry;
 import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistryTest;
 import org.apache.ivy.plugins.report.ReportOutputter;
@@ -395,8 +398,17 @@
         assertTrue(testOutputter instanceof MyOutputter);
     }
 
-    public static class MyOutputter implements ReportOutputter {
+    public void testLockingStrategies() throws Exception {
+        IvySettings settings = new IvySettings();
+        XmlSettingsParser parser = new XmlSettingsParser(settings);
+        parser.parse(XmlSettingsParserTest.class.getResource("ivysettings-lock-strategies.xml"));
+
+        LockStrategy lockStrategy = settings.getLockStrategy("test");
+        assertNotNull(lockStrategy);
+        assertTrue(lockStrategy instanceof MyLockStrategy);
+    }
 
+    public static class MyOutputter implements ReportOutputter {
         public void output(ResolveReport report, ResolutionCacheManager cacheMgr) {
         }
 
@@ -404,5 +416,14 @@
             return "test";
         }
 
+    }
+    
+    public static class MyLockStrategy extends AbstractLockStrategy {
+        public boolean lockArtifact(Artifact artifact, File artifactFileToDownload) throws InterruptedException {
+            return false;
+        }
+
+        public void unlockArtifact(Artifact artifact, File artifactFileToDownload) {
+        }
     }
 }

Added: ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml?rev=600305&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml (added)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml Sun Dec  2 07:05:19 2007
@@ -0,0 +1,25 @@
+<!--
+   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.    
+-->
+<ivysettings>
+	<typedef name="my-lock" 
+			classname="org.apache.ivy.core.settings.XmlSettingsParserTest$MyLockStrategy"/>
+	<lock-strategies>
+		<my-lock name="test" />
+	</lock-strategies>
+</ivysettings>

Propchange: ant/ivy/core/trunk/test/java/org/apache/ivy/core/settings/ivysettings-lock-strategies.xml
------------------------------------------------------------------------------
    svn:eol-style = native