You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2013/11/02 20:10:45 UTC

svn commit: r1538256 - in /ant/ivy/ivyde/trunk: doc/ doc/images/ org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/ org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ org.apache.ivyde.eclipse/src/java/org/apache/ivyde/inte...

Author: hibou
Date: Sat Nov  2 19:10:44 2013
New Revision: 1538256

URL: http://svn.apache.org/r1538256
Log:
IVYDE-334: support of global transitivity disabling for resolving dependency (thanks to Anton Zagorulko)

Added:
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml   (with props)
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/jars/
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/jars/module-with-dep-1.4.jar   (with props)
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/javadocs/
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/javadocs/module-with-dep-1.4.jar   (with props)
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/sources/
    ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/sources/module-with-dep-1.4.jar   (with props)
    ant/ivy/ivyde/trunk/test/not-transitive/   (with props)
    ant/ivy/ivyde/trunk/test/not-transitive/.classpath   (with props)
    ant/ivy/ivyde/trunk/test/not-transitive/.project   (with props)
    ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml   (with props)
    ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml   (with props)
    ant/ivy/ivyde/trunk/test/not-transitive/src/
Modified:
    ant/ivy/ivyde/trunk/doc/images/build_path_edit.jpg
    ant/ivy/ivyde/trunk/doc/images/pref_classpath.jpg
    ant/ivy/ivyde/trunk/doc/images/workspace.jpg
    ant/ivy/ivyde/trunk/doc/preferences.html
    ant/ivy/ivyde/trunk/doc/release-notes.html
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/ClasspathSetup.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/CachedIvy.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/IvyDERuntimeClasspathEntryResolver.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/ClasspathEntriesResolver.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerImpl.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerState.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/IvyResolver.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/ResolveRequest.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/retrieve/StandaloneRetrieveSetupState.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/ClasspathSetupEditor.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceConstants.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceInitializer.java
    ant/ivy/ivyde/trunk/test/multiple-containers/.project

Modified: ant/ivy/ivyde/trunk/doc/images/build_path_edit.jpg
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/images/build_path_edit.jpg?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
Binary files - no diff available.

Modified: ant/ivy/ivyde/trunk/doc/images/pref_classpath.jpg
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/images/pref_classpath.jpg?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
Binary files - no diff available.

Modified: ant/ivy/ivyde/trunk/doc/images/workspace.jpg
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/images/workspace.jpg?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
Binary files - no diff available.

Modified: ant/ivy/ivyde/trunk/doc/preferences.html
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/preferences.html?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/doc/preferences.html (original)
+++ ant/ivy/ivyde/trunk/doc/preferences.html Sat Nov  2 19:10:44 2013
@@ -61,8 +61,10 @@ The global configuration can be found in
 
 <center><img src="images/pref_classpath.jpg"/></center>
 
-<h4>Resolve dependencies in workpace:</h4>
+<h4>Resolve dependencies in workspace:</h4>
 <p>Apache IvyDE allows Ivy dependencies between projects in the workspace to be realized through project references rather than jars from the repository.  See the <a href="cpc/workspace.html">documentation</a> for further information on this feature.</p>
+<h4>Resolve dependencies transitively</h4>
+<p>If unchecked, the dependencies will be resolved with transitivity disabled regardless to the settings in ivy.xml</p>
 <h4>Read OSGi metadata:</h4>
 <p>If your classpath is based on jars which are actually OSGi bundles, checking this option will make IvyDE read the jar manifests and setup the specific OSGi visibility constraints.</p>
 <h4>Accepted types:</h4>

Modified: ant/ivy/ivyde/trunk/doc/release-notes.html
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/doc/release-notes.html?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/doc/release-notes.html (original)
+++ ant/ivy/ivyde/trunk/doc/release-notes.html Sat Nov  2 19:10:44 2013
@@ -122,6 +122,7 @@ Here is the list of people who have cont
 <li>Nathan Summers</li>
 <li>Phillip Webb</li>
 <li>James Wilkins</li>
+<li>Anton Zagorulko</li>
 </ul>
 
 <h1><a name="changes"></a>List of Changes in this Release</h1>
@@ -136,6 +137,7 @@ List of changes since <a href="/ivy/ivyd
     <li>NEW: Allow to set the Ivy user directory globally or project by project (IVYDE-311)</li>
     <li>NEW: Add support for the OSGi access rules</li>
     <li>NEW: Source and Javadoc attachements can now be edited jar by jar</li>
+    <li>NEW: Support of global transitivity disabling for resolving dependency (IVYDE-334) (thanks to Anton Zagorulko)</li>
 </ul>
 <ul>
     <li>IMPROVE: The properties file paths can now be edited</li>

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/ClasspathSetup.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/ClasspathSetup.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/ClasspathSetup.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cp/ClasspathSetup.java Sat Nov  2 19:10:44 2013
@@ -34,6 +34,8 @@ public class ClasspathSetup {
 
     private boolean readOSGiMetadata;
 
+    private boolean transitiveResolve = true;
+
     /**
      * Default constructor
      */
@@ -48,6 +50,7 @@ public class ClasspathSetup {
         this.retrievedClasspath = setup.retrievedClasspath;
         this.retrieveSetup.set(setup.retrieveSetup);
         this.readOSGiMetadata = setup.readOSGiMetadata;
+        this.transitiveResolve = setup.transitiveResolve;
     }
 
     public boolean isResolveInWorkspace() {
@@ -97,4 +100,12 @@ public class ClasspathSetup {
     public void setReadOSGiMetadata(boolean readOSGiMetadata) {
         this.readOSGiMetadata = readOSGiMetadata;
     }
+
+    public boolean isTransitiveResolve() {
+        return transitiveResolve;
+    }
+
+    public void setTransitiveResolve(boolean transitiveResolve) {
+        this.transitiveResolve = transitiveResolve;
+    }
 }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/CachedIvy.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/CachedIvy.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/CachedIvy.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/CachedIvy.java Sat Nov  2 19:10:44 2013
@@ -92,6 +92,8 @@ public abstract class CachedIvy {
 
     protected abstract boolean isResolveInWorkspace();
 
+    protected abstract boolean isTransitiveResolve();
+
     public Ivy getCachedIvy() {
         if (ivy != null) {
             return ivy;

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/IvyDERuntimeClasspathEntryResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/IvyDERuntimeClasspathEntryResolver.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/IvyDERuntimeClasspathEntryResolver.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/IvyDERuntimeClasspathEntryResolver.java Sat Nov  2 19:10:44 2013
@@ -94,7 +94,9 @@ public class IvyDERuntimeClasspathEntryR
             ResolveRequest request = new ResolveRequest(resolver, ivycp.getState());
             request.setForceFailOnError(true);
             request.setInWorkspace(ivycp.getConf().getInheritedClasspathSetup()
-                    .isResolveInWorkspace());
+                .isResolveInWorkspace());
+            request.setTransitive(ivycp.getConf().getInheritedClasspathSetup()
+                    .isTransitiveResolve());
             IvyResolveJob resolveJob = IvyPlugin.getDefault().getIvyResolveJob();
             IStatus status = resolveJob.launchRequest(request, new NullProgressMonitor());
             if (status.getCode() != IStatus.OK) {

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/ClasspathEntriesResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/ClasspathEntriesResolver.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/ClasspathEntriesResolver.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/ClasspathEntriesResolver.java Sat Nov  2 19:10:44 2013
@@ -52,6 +52,7 @@ public class ClasspathEntriesResolver ex
         this.conf = ivycp.getConf();
         setUsePreviousResolveIfExist(ivycp.getConf().getInheritedAdvancedSetup().isUseExtendedResolveId());
         setUsePreviousResolveIfExist(usePreviousResolveIfExist);
+        setTransitiveResolve(conf.getInheritedClasspathSetup().isTransitiveResolve());
         if (conf.getInheritedClasspathSetup().isRetrievedClasspath()) {
             RetrieveSetup setup = conf.getInheritedClasspathSetup().getRetrieveSetup();
             setRetrievePattern(setup.getRetrievePattern());

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java Sat Nov  2 19:10:44 2013
@@ -182,6 +182,9 @@ public final class IvyClasspathContainer
             } else if (parameter[0].equals("resolveInWorkspace")) {
                 classpathSetup.setResolveInWorkspace(Boolean.valueOf(value).booleanValue());
                 conf.setClassthProjectSpecific(true);
+            } else if (parameter[0].equals("transitiveResolve")) {
+                classpathSetup.setTransitiveResolve(Boolean.valueOf(value).booleanValue());
+                conf.setClassthProjectSpecific(true);
             } else if (parameter[0].equals("readOSGiMetadata")) {
                 classpathSetup.setReadOSGiMetadata(Boolean.valueOf(value).booleanValue());
                 conf.setClassthProjectSpecific(true);
@@ -413,6 +416,7 @@ public final class IvyClasspathContainer
                 append(path, "acceptedTypes", setup.getAcceptedTypes());
                 append(path, "alphaOrder", setup.isAlphaOrder());
                 append(path, "resolveInWorkspace", setup.isResolveInWorkspace());
+                append(path, "transitiveResolve", setup.isTransitiveResolve());
                 append(path, "readOSGiMetadata", setup.isReadOSGiMetadata());
                 append(path, "retrievedClasspath", setup.isRetrievedClasspath());
                 if (setup.isRetrievedClasspath()) {

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerImpl.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerImpl.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerImpl.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerImpl.java Sat Nov  2 19:10:44 2013
@@ -124,6 +124,7 @@ public class IvyClasspathContainerImpl i
         ResolveRequest request = new ResolveRequest(new IvyClasspathResolver(this,
                 usePreviousResolveIfExist), getState());
         request.setInWorkspace(getConf().getInheritedClasspathSetup().isResolveInWorkspace());
+        request.setTransitive(getConf().getInheritedClasspathSetup().isTransitiveResolve());
         IvyResolveJob resolveJob = IvyPlugin.getDefault().getIvyResolveJob();
         if (monitor != null) {
             return resolveJob.launchRequest(request, monitor);

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerState.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerState.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerState.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/IvyClasspathContainerState.java Sat Nov  2 19:10:44 2013
@@ -70,6 +70,10 @@ public class IvyClasspathContainerState 
         return conf.getInheritedClasspathSetup().isResolveInWorkspace();
     }
 
+    protected boolean isTransitiveResolve() {
+        return conf.getInheritedClasspathSetup().isTransitiveResolve();
+    }
+
     public String toString() {
         return conf.toString();
     }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/IvyResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/IvyResolver.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/IvyResolver.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/IvyResolver.java Sat Nov  2 19:10:44 2013
@@ -81,6 +81,8 @@ public class IvyResolver {
     private boolean useCacheOnly = IvyPlugin.getPreferenceStoreHelper().isOffline();
 
     private boolean useExtendedResolveId = false;
+    
+    private boolean transitiveResolve = true;
 
     public IvyResolver(String ivyXmlPath, List confInput, IProject project) {
         this.ivyXmlPath = ivyXmlPath;
@@ -108,6 +110,10 @@ public class IvyResolver {
         this.useCacheOnly = useCacheOnly;
     }
 
+    public void setTransitiveResolve(boolean transitiveResolve) {
+        this.transitiveResolve = transitiveResolve;
+    }
+
     public String getIvyXmlPath() {
         return ivyXmlPath;
     }
@@ -245,6 +251,7 @@ public class IvyResolver {
         resolveOption.setValidate(ivy.getSettings().doValidate());
         resolveOption.setUseCacheOnly(useCacheOnly);
         resolveOption.setResolveId(IvyClasspathUtil.buildResolveId(useExtendedResolveId, md));
+        resolveOption.setTransitive(transitiveResolve);
         ResolveReport report = ivy.getResolveEngine().resolve(md, resolveOption);
 
         if (report.hasError()) {

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/ResolveRequest.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/ResolveRequest.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/ResolveRequest.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/ResolveRequest.java Sat Nov  2 19:10:44 2013
@@ -27,6 +27,8 @@ public class ResolveRequest {
 
     private boolean inWorkspace = false;
 
+    private boolean transitive = true;
+
     private boolean forceFailOnError = false;
 
     private boolean resolveFailed = false;
@@ -60,6 +62,14 @@ public class ResolveRequest {
         return inWorkspace;
     }
 
+    public void setTransitive(boolean transitive) {
+        this.transitive = transitive;
+    }
+
+    public boolean isTransitive() {
+        return transitive;
+    }
+
     public void setResolveFailed(boolean resolveFailed) {
         this.resolveFailed = resolveFailed;
     }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/retrieve/StandaloneRetrieveSetupState.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/retrieve/StandaloneRetrieveSetupState.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/retrieve/StandaloneRetrieveSetupState.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/retrieve/StandaloneRetrieveSetupState.java Sat Nov  2 19:10:44 2013
@@ -60,4 +60,7 @@ public class StandaloneRetrieveSetupStat
         return setup.isResolveInWorkspace();
     }
 
+    protected boolean isTransitiveResolve() {
+        return false;
+    }
 }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/ClasspathSetupEditor.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/ClasspathSetupEditor.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/ClasspathSetupEditor.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/ClasspathSetupEditor.java Sat Nov  2 19:10:44 2013
@@ -42,6 +42,8 @@ public class ClasspathSetupEditor extend
             + "Example: jar, zip";
 
     private Button resolveInWorkspaceCheck;
+    
+    private Button transitiveResolveCheck;
 
     private Label alphaOrderLabel;
 
@@ -74,6 +76,13 @@ public class ClasspathSetupEditor extend
         resolveInWorkspaceCheck
                 .setToolTipText("Will replace jars on the classpath with workspace projects");
 
+        transitiveResolveCheck = new Button(this, SWT.CHECK);
+        transitiveResolveCheck.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true,
+                false, 2, 1));
+        transitiveResolveCheck.setText("Resolve dependencies transitively");
+        transitiveResolveCheck
+                .setToolTipText("If uncheck, will resolve dependency with transitivity disabled regardless to the settings in ivy.xml");        
+
         readOSGiMetadataCheck = new Button(this, SWT.CHECK);
         readOSGiMetadataCheck.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false,
                 2, 1));
@@ -128,6 +137,7 @@ public class ClasspathSetupEditor extend
 
     public void init(ClasspathSetup setup) {
         resolveInWorkspaceCheck.setSelection(setup.isResolveInWorkspace());
+        transitiveResolveCheck.setSelection(setup.isTransitiveResolve());
         readOSGiMetadataCheck.setSelection(setup.isReadOSGiMetadata());
         acceptedTypesText.setText(IvyClasspathUtil.concat(setup.getAcceptedTypes()));
         alphaOrderCheck.select(setup.isAlphaOrder() ? 1 : 0);
@@ -140,6 +150,7 @@ public class ClasspathSetupEditor extend
     public ClasspathSetup getClasspathSetup() {
         ClasspathSetup setup = new ClasspathSetup();
         setup.setResolveInWorkspace(resolveInWorkspaceCheck.getSelection());
+        setup.setTransitiveResolve(transitiveResolveCheck.getSelection());
         setup.setReadOSGiMetadata(readOSGiMetadataCheck.getSelection());
         setup.setAcceptedTypes(IvyClasspathUtil.split(acceptedTypesText.getText()));
         setup.setAlphaOrder(alphaOrderCheck.getSelectionIndex() == 1);
@@ -152,6 +163,7 @@ public class ClasspathSetupEditor extend
 
     public void setEnabled(boolean enabled) {
         resolveInWorkspaceCheck.setEnabled(enabled);
+        transitiveResolveCheck.setEnabled(enabled);
         readOSGiMetadataCheck.setEnabled(osgiAvailable && enabled);
         acceptedTypesLabel.setEnabled(enabled);
         acceptedTypesText.setEnabled(enabled);

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java Sat Nov  2 19:10:44 2013
@@ -74,6 +74,7 @@ public class IvyDEPreferenceStoreHelper 
     public ClasspathSetup getClasspathSetup() {
         ClasspathSetup setup = new ClasspathSetup();
         setup.setResolveInWorkspace(prefStore.getBoolean(PreferenceConstants.RESOLVE_IN_WORKSPACE));
+        setup.setTransitiveResolve(prefStore.getBoolean(PreferenceConstants.TRANSITIVE_RESOLVE));
         setup.setReadOSGiMetadata(prefStore.getBoolean(PreferenceConstants.READ_OSGI_METADATA));
         setup.setAcceptedTypes(IvyClasspathUtil.split(prefStore
                 .getString(PreferenceConstants.ACCEPTED_TYPES)));
@@ -92,6 +93,7 @@ public class IvyDEPreferenceStoreHelper 
 
     public void setClasspathSetup(ClasspathSetup setup) {
         prefStore.setValue(PreferenceConstants.RESOLVE_IN_WORKSPACE, setup.isResolveInWorkspace());
+        prefStore.setValue(PreferenceConstants.TRANSITIVE_RESOLVE, setup.isTransitiveResolve());
         prefStore.setValue(PreferenceConstants.READ_OSGI_METADATA, setup.isReadOSGiMetadata());
         prefStore.setValue(PreferenceConstants.ACCEPTED_TYPES,
             IvyClasspathUtil.concat(setup.getAcceptedTypes()));

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceConstants.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceConstants.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceConstants.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceConstants.java Sat Nov  2 19:10:44 2013
@@ -70,6 +70,8 @@ public final class PreferenceConstants {
     public static final String ALPHABETICAL_ORDER = "order.alphabetical";
 
     public static final String RESOLVE_IN_WORKSPACE = "resolveInWorkspace";
+    
+    public static final String TRANSITIVE_RESOLVE = "transitiveResolve";
 
     public static final String READ_OSGI_METADATA = "readOSGIMetadata";
 

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceInitializer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceInitializer.java?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceInitializer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/ui/preferences/PreferenceInitializer.java Sat Nov  2 19:10:44 2013
@@ -64,6 +64,8 @@ public class PreferenceInitializer exten
 
     public static final boolean DEFAULT_RESOLVE_IN_WORKSPACE = false;
 
+    public static final boolean DEFAULT_TRANSITIVE_RESOLVE = true;
+
     private static final boolean DEFAULT_READ_OSGI_METADATA = false;
 
     public static final boolean DEFAULT_RETRIEVED_CLASSPATH = false;
@@ -88,6 +90,7 @@ public class PreferenceInitializer exten
         DEFAULT_CLASSPATH_SETUP.setAcceptedTypes(IvyClasspathUtil.split(DEFAULT_ACCEPTED_TYPES));
         DEFAULT_CLASSPATH_SETUP.setAlphaOrder(DEFAULT_ALPHABETICAL_ORDER);
         DEFAULT_CLASSPATH_SETUP.setResolveInWorkspace(DEFAULT_RESOLVE_IN_WORKSPACE);
+        DEFAULT_CLASSPATH_SETUP.setTransitiveResolve(DEFAULT_TRANSITIVE_RESOLVE);
         DEFAULT_CLASSPATH_SETUP.setReadOSGiMetadata(DEFAULT_READ_OSGI_METADATA);
         DEFAULT_CLASSPATH_SETUP.setRetrievedClasspath(DEFAULT_RETRIEVED_CLASSPATH);
         DEFAULT_CLASSPATH_SETUP.setRetrieveSetup(DEFAULT_RETRIEVED_CLASSPATH_SETUP);
@@ -170,6 +173,7 @@ public class PreferenceInitializer exten
 
         store.setDefault(PreferenceConstants.ALPHABETICAL_ORDER, DEFAULT_ALPHABETICAL_ORDER);
         store.setDefault(PreferenceConstants.RESOLVE_IN_WORKSPACE, DEFAULT_RESOLVE_IN_WORKSPACE);
+        store.setDefault(PreferenceConstants.TRANSITIVE_RESOLVE, DEFAULT_TRANSITIVE_RESOLVE);
         store.setDefault(PreferenceConstants.READ_OSGI_METADATA, DEFAULT_READ_OSGI_METADATA);
         store.setDefault(PreferenceConstants.RESOLVE_BEFORE_LAUNCH, DEFAULT_RESOLVE_BEFORE_LAUNCH);
         store.setDefault(PreferenceConstants.PROPERTY_FILES, DEFAULT_PROPERTY_FILES);

Added: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml?rev=1538256&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml (added)
+++ ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml Sat Nov  2 19:10:44 2013
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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="myorg"
+		module="module-with-dep"
+		revision="1.4"
+		status="release"
+		publication="20080811152510"
+		default="true"
+	/>
+	<configurations>
+		<conf name="default" visibility="public"/>
+	</configurations>
+	<publications>
+		<artifact name="module-with-dep" type="jar" ext="jar" conf="default"/>
+        <artifact name="module-with-dep" type="source" ext="jar" conf="default"/>
+        <artifact name="module-with-dep" type="javadoc" ext="jar" conf="default"/>
+	</publications>
+	<dependencies>
+	    <dependency org="myorg" name="mymodule" rev="1.1" />
+	</dependencies>
+</ivy-module>

Propchange: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/ivy-1.4.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/jars/module-with-dep-1.4.jar
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/jars/module-with-dep-1.4.jar?rev=1538256&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/jars/module-with-dep-1.4.jar
------------------------------------------------------------------------------
    svn:mime-type = application/jar

Added: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/javadocs/module-with-dep-1.4.jar
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/javadocs/module-with-dep-1.4.jar?rev=1538256&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/javadocs/module-with-dep-1.4.jar
------------------------------------------------------------------------------
    svn:mime-type = application/jar

Added: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/sources/module-with-dep-1.4.jar
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/sources/module-with-dep-1.4.jar?rev=1538256&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ant/ivy/ivyde/trunk/test/fakerepo/myorg/module-with-dep/sources/module-with-dep-1.4.jar
------------------------------------------------------------------------------
    svn:mime-type = application/jar

Modified: ant/ivy/ivyde/trunk/test/multiple-containers/.project
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/multiple-containers/.project?rev=1538256&r1=1538255&r2=1538256&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/test/multiple-containers/.project (original)
+++ ant/ivy/ivyde/trunk/test/multiple-containers/.project Sat Nov  2 19:10:44 2013
@@ -1,22 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-   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.    
--->
 <projectDescription>
 	<name>ivydetest-multiple-containers</name>
 	<comment></comment>
@@ -31,5 +13,6 @@
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.apache.ivyde.eclipse.ivynature</nature>
 	</natures>
 </projectDescription>

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Nov  2 19:10:44 2013
@@ -0,0 +1 @@
+bin

Added: ant/ivy/ivyde/trunk/test/not-transitive/.classpath
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/not-transitive/.classpath?rev=1538256&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/.classpath
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: ant/ivy/ivyde/trunk/test/not-transitive/.project
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/not-transitive/.project?rev=1538256&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/test/not-transitive/.project (added)
+++ ant/ivy/ivyde/trunk/test/not-transitive/.project Sat Nov  2 19:10:44 2013
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.    
+-->
+<projectDescription>
+	<name>ivydetest-not-transitive</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.apache.ivyde.eclipse.ivynature</nature>
+	</natures>
+</projectDescription>

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/.project
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/.project
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/.project
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml?rev=1538256&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml (added)
+++ ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml Sat Nov  2 19:10:44 2013
@@ -0,0 +1,31 @@
+<!--
+   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="org.apache.ivyde" module="ivytest-not-transitive">
+        <description>
+            Project configure to resolve not transitively
+        </description>
+    </info>
+    <configurations>
+        <conf name="default" />
+    </configurations>
+    <dependencies>
+        <dependency org="myorg" name="module-with-dep" rev="1.4" conf="default" />
+    </dependencies>
+</ivy-module>

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/ivy.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml?rev=1538256&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml (added)
+++ ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml Sat Nov  2 19:10:44 2013
@@ -0,0 +1,28 @@
+<!--
+   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>
+    <caches defaultCacheDir="${ivy.settings.dir}/../cache-fakerepo" useOrigin="false" />
+    <settings defaultResolver="fakerepo" checkUpToDate="false" />
+    <resolvers>
+        <filesystem name="fakerepo">
+            <ivy pattern="${ivy.settings.dir}/../fakerepo/[organisation]/[module]/ivy-[revision].xml"/>
+            <artifact pattern="${ivy.settings.dir}/../fakerepo/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
+        </filesystem>
+    </resolvers>
+</ivysettings>

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: ant/ivy/ivyde/trunk/test/not-transitive/ivysettings.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml