You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by jl...@apache.org on 2012/10/18 19:59:25 UTC

svn commit: r1399822 - in /incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks: Import.java ImportTestModule.java

Author: jlboudart
Date: Thu Oct 18 19:59:25 2012
New Revision: 1399822

URL: http://svn.apache.org/viewvc?rev=1399822&view=rev
Log:
Add missing pushContext/popContext arround imports

Modified:
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/Import.java
    incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/ImportTestModule.java

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/Import.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/Import.java?rev=1399822&r1=1399821&r2=1399822&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/Import.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/Import.java Thu Oct 18 19:59:25 2012
@@ -27,6 +27,7 @@ import org.apache.ivy.ant.EasyAntPluginB
 import org.apache.ivy.ant.IvyConflict;
 import org.apache.ivy.ant.IvyDependency;
 import org.apache.ivy.ant.IvyExclude;
+import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ResolveReport;
@@ -114,6 +115,8 @@ public class Import extends AbstractImpo
                         .split(","), true, isChanging());
 
                 IvySettings settings = getEasyAntIvyInstance().getSettings();
+                IvyContext.pushNewContext();
+                IvyContext.getContext().setIvy(getEasyAntIvyInstance());
                 // FIXME: If additionnal dependency are loaded or a superior version of a dependency is defined it works
                 // as expected
                 // But it doesn't work if you specify a revision lower to original one
@@ -121,6 +124,7 @@ public class Import extends AbstractImpo
                 ResolveReport report = getEasyAntIvyInstance().getResolveEngine()
                         .resolve(md, configureResolveOptions());
                 importModule(moduleRevisionId, report);
+                IvyContext.popContext();
             } catch (ParseException e) {
                 throw new BuildException("Can't parse module descriptor", e);
             } catch (IOException e) {

Modified: incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/ImportTestModule.java
URL: http://svn.apache.org/viewvc/incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/ImportTestModule.java?rev=1399822&r1=1399821&r2=1399822&view=diff
==============================================================================
--- incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/ImportTestModule.java (original)
+++ incubator/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/ImportTestModule.java Thu Oct 18 19:59:25 2012
@@ -21,6 +21,7 @@ import java.io.File;
 import java.io.IOException;
 import java.text.ParseException;
 
+import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ArtifactDownloadReport;
@@ -30,12 +31,14 @@ import org.apache.tools.ant.types.Path;
 
 /**
  * Alternative Import module implementation. This implementation is designed for test purpose. It doesn't take in
- * consideration : skipping module or buildConfiguration features.
- * Example :
- *  <pre>
+ * consideration : skipping module or buildConfiguration features. Example :
+ * 
+ * <pre>
  * &lt;import-test-module moduleIvy="/path/to/module.ivy" /&gt;
  * </pre>
- * Same example specifying sourceDirectory 
+ * 
+ * Same example specifying sourceDirectory
+ * 
  * <pre>
  * &lt;import-test-module moduleIvy="/path/to/module.ivy" sourceDirectory="/path/to/sourcedirectory"/&gt;
  * </pre>
@@ -57,11 +60,13 @@ public class ImportTestModule extends Ab
         }
 
         try {
-             
+            IvyContext.pushNewContext();
+            IvyContext.getContext().setIvy(getEasyAntIvyInstance());
             ResolveReport report = getEasyAntIvyInstance().getResolveEngine().resolve(moduleIvy);
-            //tiny hack report.getModuleDescriptor.getModuleRevisionId() return a caller instance
-            ModuleRevisionId moduleRevisionId =report.getModuleDescriptor().getAllArtifacts()[0].getModuleRevisionId();
-            importModule(moduleRevisionId,report);
+            // tiny hack report.getModuleDescriptor.getModuleRevisionId() return a caller instance
+            ModuleRevisionId moduleRevisionId = report.getModuleDescriptor().getAllArtifacts()[0].getModuleRevisionId();
+            importModule(moduleRevisionId, report);
+            IvyContext.popContext();
 
         } catch (ParseException e) {
             throw new BuildException("Can't parse module descriptor", e);
@@ -72,7 +77,7 @@ public class ImportTestModule extends Ab
     }
 
     @Override
-    protected void importModule(ModuleRevisionId moduleRevisionId,ResolveReport report) {
+    protected void importModule(ModuleRevisionId moduleRevisionId, ResolveReport report) {
         // Check dependency on core
         checkCoreCompliance(report, getProvidedConf());
 
@@ -93,7 +98,7 @@ public class ImportTestModule extends Ab
             if ("ant".equals(artifact.getType())) {
                 antFile = localResourceFile;
             } else {
-                handleOtherResourceFile(moduleRevisionId,artifact.getName(),artifact.getExt(), localResourceFile);
+                handleOtherResourceFile(moduleRevisionId, artifact.getName(), artifact.getExt(), localResourceFile);
             }
         }
         // do effective import