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