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 2012/07/31 01:09:37 UTC
svn commit: r1367357 - in
/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse:
./ cpcontainer/ retrieve/ ui/ ui/preferences/
Author: hibou
Date: Mon Jul 30 23:09:37 2012
New Revision: 1367357
URL: http://svn.apache.org/viewvc?rev=1367357&view=rev
Log:
IVYDE-311 : allow setting the ivy user dir
Modified:
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/CachedIvy.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerState.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/SettingsSetup.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSerializer.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSetupState.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsSetupEditor.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java
ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/CachedIvy.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/CachedIvy.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/CachedIvy.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/CachedIvy.java Mon Jul 30 23:09:37 2012
@@ -36,7 +36,6 @@ import org.apache.ivy.plugins.parser.Mod
import org.apache.ivy.util.Message;
import org.apache.ivyde.eclipse.workspaceresolver.WorkspaceIvySettings;
import org.apache.ivyde.eclipse.workspaceresolver.WorkspaceResolver;
-import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
@@ -86,6 +85,8 @@ public abstract class CachedIvy {
protected abstract boolean isLoadSettingsOnDemandPath();
+ protected abstract ResolvedPath getIvyUserDir() throws IvyDEException;
+
protected abstract Collection getPropertyFiles() throws IvyDEException;
protected abstract boolean isResolveInWorkspace();
@@ -234,6 +235,15 @@ public abstract class CachedIvy {
ivySettings.setBaseDir(location.toFile());
}
}
+ ResolvedPath ivyUserDir = getIvyUserDir();
+ if (ivyUserDir.getError() != null) {
+ throw new IvyDEException("Incorrect path of the Ivy user dir",
+ "The Ivy user dir '" + ivyUserDir.getInputPath() + "' is incorrect: "
+ + ivyUserDir.getError().getMessage(), ivyUserDir.getError());
+ }
+ if (ivyUserDir.isSet()) {
+ ivySettings.setDefaultIvyUserDir(ivyUserDir.getFile());
+ }
Collection propFiles = getPropertyFiles();
if (propFiles != null) {
Iterator iter = propFiles.iterator();
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java Mon Jul 30 23:09:37 2012
@@ -133,6 +133,7 @@ public class IvyPlugin extends AbstractU
try {
// CheckStyle:LineLength| OFF
if (event.getProperty() == PreferenceConstants.IVYSETTINGS_PATH
+ || event.getProperty() == PreferenceConstants.IVY_USER_DIR
|| event.getProperty() == PreferenceConstants.ACCEPTED_TYPES
|| event.getProperty() == PreferenceConstants.SOURCES_TYPES
|| event.getProperty() == PreferenceConstants.JAVADOC_TYPES
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfAdapter.java Mon Jul 30 23:09:37 2012
@@ -148,6 +148,9 @@ public final class IvyClasspathContainer
} else if (parameter[0].equals("loadSettingsOnDemand")) {
settingsSetup.setLoadSettingsOnDemand(Boolean.valueOf(value).booleanValue());
conf.setSettingsProjectSpecific(true);
+ } else if (parameter[0].equals("ivyUserDir")) {
+ settingsSetup.setIvyUserDir(value);
+ conf.setSettingsProjectSpecific(true);
} else if (parameter[0].equals("propertyFiles")) {
settingsSetup.setPropertyFiles(IvyClasspathUtil.split(value));
conf.setSettingsProjectSpecific(true);
@@ -332,6 +335,10 @@ public final class IvyClasspathContainer
MappingSetup mappingSetup = conf.getMappingSetup();
SettingsSetup settingsSetup = conf.getIvySettingsSetup();
MappingSetup prefStoreMappingSetup = IvyPlugin.getPreferenceStoreHelper().getMappingSetup();
+ if (settingsSetup.getRawIvyUserDir() == null) {
+ settingsSetup.setIvyUserDir(IvyPlugin.getPreferenceStoreHelper().getSettingsSetup()
+ .getRawIvyUserDir());
+ }
if (settingsSetup.getRawPropertyFiles() == null) {
settingsSetup.setPropertyFiles(IvyPlugin.getPreferenceStoreHelper().getSettingsSetup()
.getRawPropertyFiles());
@@ -369,6 +376,7 @@ public final class IvyClasspathContainer
SettingsSetup setup = conf.getIvySettingsSetup();
append(path, "ivySettingsPath", setup.getRawIvySettingsPath());
append(path, "loadSettingsOnDemand", setup.isLoadSettingsOnDemand());
+ append(path, "ivyUserDir", setup.getRawIvyUserDir());
append(path, "propertyFiles", setup.getRawPropertyFiles());
}
if (conf.isClassthProjectSpecific()) {
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerState.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerState.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerState.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerState.java Mon Jul 30 23:09:37 2012
@@ -61,6 +61,10 @@ public class IvyClasspathContainerState
return conf.getInheritedSettingsSetup().isLoadSettingsOnDemand();
}
+ protected ResolvedPath getIvyUserDir() throws IvyDEException {
+ return conf.getInheritedSettingsSetup().getResolvedIvyUserDir(getProject());
+ }
+
protected boolean isResolveInWorkspace() {
return conf.getInheritedClasspathSetup().isResolveInWorkspace();
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/SettingsSetup.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/SettingsSetup.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/SettingsSetup.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/SettingsSetup.java Mon Jul 30 23:09:37 2012
@@ -40,6 +40,8 @@ public class SettingsSetup {
private boolean loadSettingsOnDemand = false;
+ private String ivyUserDir = "";
+
/**
* Default constructor
*/
@@ -51,6 +53,7 @@ public class SettingsSetup {
this.ivySettingsPath = setup.ivySettingsPath;
this.propertyFiles = setup.propertyFiles;
this.loadSettingsOnDemand = setup.loadSettingsOnDemand;
+ this.ivyUserDir = setup.ivyUserDir;
}
public ResolvedPath getResolvedIvySettingsPath(IProject project) throws IvyDEException {
@@ -98,4 +101,16 @@ public class SettingsSetup {
this.loadSettingsOnDemand = loadSettingsOnDemand;
}
+ public void setIvyUserDir(String ivyUserDir) {
+ this.ivyUserDir = ivyUserDir;
+ }
+
+ public ResolvedPath getResolvedIvyUserDir(IProject project) throws IvyDEException {
+ return new ResolvedPath(ivyUserDir, project);
+ }
+
+ public String getRawIvyUserDir() {
+ return ivyUserDir;
+ }
+
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSerializer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSerializer.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSerializer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSerializer.java Mon Jul 30 23:09:37 2012
@@ -58,6 +58,8 @@ public class StandaloneRetrieveSerialize
private static final String IVYSETTING_LOADONDEMAND = "loadondemand";
+ private static final String IVY_USER_DIR = "ivyUserDir";
+
private static final String PROPERTYFILE = "propertyfile";
private static final String PROPERTYFILE_PATH = "path";
@@ -150,6 +152,10 @@ public class StandaloneRetrieveSerialize
attr.setValue(Boolean.toString(settingsSetup.isLoadSettingsOnDemand()));
attributes.setNamedItem(attr);
+ attr = document.createAttribute(IVY_USER_DIR);
+ attr.setValue(settingsSetup.getRawIvyUserDir());
+ attributes.setNamedItem(attr);
+
Iterator it = settingsSetup.getRawPropertyFiles().iterator();
while (it.hasNext()) {
String file = (String) it.next();
@@ -273,6 +279,9 @@ public class StandaloneRetrieveSerialize
String loadOnDemand = getAttribute(attributes, IVYSETTING_LOADONDEMAND);
settingsSetup.setLoadSettingsOnDemand(Boolean.valueOf(loadOnDemand).booleanValue());
+ String ivyUserDir = getAttribute(attributes, IVY_USER_DIR);
+ settingsSetup.setIvyUserDir(ivyUserDir);
+
List/* <String> */propertyFiles = new ArrayList();
NodeList children = node.getChildNodes();
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSetupState.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSetupState.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSetupState.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/retrieve/StandaloneRetrieveSetupState.java Mon Jul 30 23:09:37 2012
@@ -44,6 +44,10 @@ public class StandaloneRetrieveSetupStat
return setup.getProject();
}
+ protected ResolvedPath getIvyUserDir() throws IvyDEException {
+ return setup.getInheritedSettingSetup().getResolvedIvyUserDir(setup.getProject());
+ }
+
protected Collection getPropertyFiles() throws IvyDEException {
return setup.getInheritedSettingSetup().getResolvedPropertyFiles();
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsSetupEditor.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsSetupEditor.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsSetupEditor.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsSetupEditor.java Mon Jul 30 23:09:37 2012
@@ -68,6 +68,8 @@ public class SettingsSetupEditor extends
private Button defaultButton;
+ private PathEditor ivyUserDirEditor;
+
public SettingsSetupEditor(Composite parent, int style, IProject project) {
super(parent, style);
@@ -145,6 +147,9 @@ public class SettingsSetupEditor extends
};
settingsEditor.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+ ivyUserDirEditor = new PathEditor(this, SWT.NONE, "Ivy user dir:", project, null);
+ ivyUserDirEditor.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+
propFilesEditor = new FileListEditor(this, SWT.NONE, "Property files:", "Property file:", project, "*.properties");
propFilesEditor.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
}
@@ -153,6 +158,7 @@ public class SettingsSetupEditor extends
SettingsSetup setup = new SettingsSetup();
setup.setIvySettingsPath(settingsEditor.getText().getText());
setup.setLoadSettingsOnDemand(loadOnDemandButton.getSelection());
+ setup.setIvyUserDir(ivyUserDirEditor.getText().getText());
setup.setPropertyFiles(propFilesEditor.getFiles());
return setup;
}
@@ -226,6 +232,7 @@ public class SettingsSetupEditor extends
public void init(SettingsSetup setup) {
settingsEditor.getText().setText(setup.getRawIvySettingsPath());
propFilesEditor.init(setup.getRawPropertyFiles());
+ ivyUserDirEditor.getText().setText(setup.getRawIvyUserDir());
loadOnDemandButton.setSelection(setup.isLoadSettingsOnDemand());
}
@@ -233,6 +240,7 @@ public class SettingsSetupEditor extends
super.setEnabled(enabled);
settingsEditor.setEnabled(enabled);
defaultButton.setEnabled(enabled);
+ ivyUserDirEditor.setEnabled(enabled);
propFilesEditor.setEnabled(enabled);
loadOnDemandButton.setEnabled(enabled);
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java Mon Jul 30 23:09:37 2012
@@ -56,6 +56,7 @@ public class IvyDEPreferenceStoreHelper
setup.setIvySettingsPath(prefStore.getString(PreferenceConstants.IVYSETTINGS_PATH));
setup.setLoadSettingsOnDemand(prefStore
.getBoolean(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND));
+ setup.setIvyUserDir(prefStore.getString(PreferenceConstants.IVY_USER_DIR));
setup.setPropertyFiles(IvyClasspathUtil.split(prefStore
.getString(PreferenceConstants.PROPERTY_FILES)));
return setup;
@@ -65,6 +66,7 @@ public class IvyDEPreferenceStoreHelper
prefStore.setValue(PreferenceConstants.IVYSETTINGS_PATH, setup.getRawIvySettingsPath());
prefStore.setValue(PreferenceConstants.PROPERTY_FILES,
IvyClasspathUtil.concat(setup.getRawPropertyFiles()));
+ prefStore.setValue(PreferenceConstants.IVY_USER_DIR, setup.getRawIvyUserDir());
prefStore.setValue(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND,
setup.isLoadSettingsOnDemand());
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceConstants.java Mon Jul 30 23:09:37 2012
@@ -72,6 +72,8 @@ public final class PreferenceConstants {
public static final String PROPERTY_FILES = "propertyFiles";
+ public static final String IVY_USER_DIR = "ivuUserDir";
+
public static final String LOAD_SETTINGS_ON_DEMAND = "loadSettingsOnDemand";
public static final String RESOLVE_ON_STARTUP = "resolveOnStartup";
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java?rev=1367357&r1=1367356&r2=1367357&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java Mon Jul 30 23:09:37 2012
@@ -41,6 +41,8 @@ public class PreferenceInitializer exten
public static final String DEFAULT_IVYSETTINGS_PATH = "";
+ public static final String DEFAULT_IVY_USER_DIR = "";
+
public static final String DEFAULT_PROPERTY_FILES = "";
public static final boolean DEFAULT_LOAD_SETTINGS_ON_DEMAND = false;
@@ -50,6 +52,7 @@ public class PreferenceInitializer exten
static {
DEFAULT_SETTINGS_SETUP.setIvySettingsPath(DEFAULT_IVYSETTINGS_PATH);
DEFAULT_SETTINGS_SETUP.setLoadSettingsOnDemand(DEFAULT_LOAD_SETTINGS_ON_DEMAND);
+ DEFAULT_SETTINGS_SETUP.setIvyUserDir(DEFAULT_IVY_USER_DIR);
DEFAULT_SETTINGS_SETUP.setPropertyFiles(IvyClasspathUtil.split(DEFAULT_PROPERTY_FILES));
}
@@ -144,6 +147,7 @@ public class PreferenceInitializer exten
store.setDefault(PreferenceConstants.P_STRING, "Default value");
store.setDefault(PreferenceConstants.IVYSETTINGS_PATH, DEFAULT_IVYSETTINGS_PATH);
+ store.setDefault(PreferenceConstants.IVY_USER_DIR, DEFAULT_IVY_USER_DIR);
store.setDefault(PreferenceConstants.ORGANISATION, DEFAULT_ORGANISATION);
store.setDefault(PreferenceConstants.ORGANISATION_URL, DEFAULT_ORGANISATION_URL);
store.setDefault(PreferenceConstants.ACCEPTED_TYPES, DEFAULT_ACCEPTED_TYPES);