diff options
9 files changed, 208 insertions, 71 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.digest/src/org/eclipse/emf/cdo/releng/version/digest/DigestValidator.java b/plugins/org.eclipse.emf.cdo.releng.version.digest/src/org/eclipse/emf/cdo/releng/version/digest/DigestValidator.java index 0c862e90a3..9fa6daf1fb 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version.digest/src/org/eclipse/emf/cdo/releng/version/digest/DigestValidator.java +++ b/plugins/org.eclipse.emf.cdo.releng.version.digest/src/org/eclipse/emf/cdo/releng/version/digest/DigestValidator.java @@ -23,13 +23,10 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Status; import org.eclipse.pde.core.IModel; import org.eclipse.pde.core.build.IBuild; @@ -67,10 +64,11 @@ public class DigestValidator extends VersionValidator } @Override - public void updateBuildState(BuildState buildState, String releasePath, Release release, IProject project, - IResourceDelta delta, IModel componentModel, IProgressMonitor monitor) throws Exception + public void updateBuildState(BuildState buildState, Release release, IProject project, IResourceDelta delta, + IModel componentModel, IProgressMonitor monitor) throws Exception { DigestValidatorState validatorState = (DigestValidatorState)buildState.getValidatorState(); + IPath releasePath = release.getFile().getFullPath(); ReleaseDigest releaseDigest = getReleaseDigest(releasePath, release, monitor); // Check whether the release digest to use is still the one that has been used the for the last build. @@ -268,10 +266,10 @@ public class DigestValidator extends VersionValidator { } - private ReleaseDigest getReleaseDigest(String releasePath, Release release, IProgressMonitor monitor) + private ReleaseDigest getReleaseDigest(IPath releasePath, Release release, IProgressMonitor monitor) throws IOException, CoreException, ClassNotFoundException { - IFile file = getDigestFile(new Path(releasePath)); + IFile file = getDigestFile(releasePath); long localTimeStamp = file.getLocalTimeStamp(); ReleaseDigest releaseDigest = RELEASE_DIGESTS.get(release); @@ -499,10 +497,7 @@ public class DigestValidator extends VersionValidator public static IFile getDigestFile(IPath releasePath) { - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - IFile file = root.getFile(releasePath); - IPath digestPath = file.getFullPath().removeFileExtension().addFileExtension("digest"); - return root.getFile(digestPath); + return VersionUtil.getFile(releasePath, "digest"); } /** diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Activator.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Activator.java index 7ca7a6ed45..6e2a1010d5 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Activator.java +++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Activator.java @@ -170,6 +170,12 @@ public class Activator extends Plugin return buildState; } + public static void clearBuildState(IProject project) + { + String name = project.getName(); + plugin.buildStates.remove(name); + } + public static void log(String message) { plugin.getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message)); diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/BuildState.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/BuildState.java index 47ddd1b31f..ac1c363de5 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/BuildState.java +++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/BuildState.java @@ -21,6 +21,12 @@ public class BuildState implements Serializable private byte[] releaseSpecDigest; + private long propertiesTimeStamp; + + private boolean deviations; + + private boolean integration; + private boolean changedSinceRelease; private long validatorTimeStamp; @@ -41,6 +47,36 @@ public class BuildState implements Serializable this.releaseSpecDigest = releaseSpecDigest; } + public long getPropertiesTimeStamp() + { + return propertiesTimeStamp; + } + + public void setPropertiesTimeStamp(long propertiesTimeStamp) + { + this.propertiesTimeStamp = propertiesTimeStamp; + } + + public boolean isDeviations() + { + return deviations; + } + + public void setDeviations(boolean deviations) + { + this.deviations = deviations; + } + + public boolean isIntegration() + { + return integration; + } + + public void setIntegration(boolean integration) + { + this.integration = integration; + } + public long getValidatorTimeStamp() { return validatorTimeStamp; diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Release.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Release.java index 776f9bf9d9..7d40adc4e2 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Release.java +++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/Release.java @@ -45,8 +45,6 @@ public class Release implements ElementResolver public static final String PLUGIN_TAG = "plugin"; - public static final String INTEGRATION_ATTRIBUTE = "integration"; - public static final String NAME_ATTRIBUTE = "name"; public static final String VERSION_ATTRIBUTE = "version"; @@ -57,14 +55,11 @@ public class Release implements ElementResolver private byte[] digest; - private boolean integration; - private Map<Element, Element> elements = new HashMap<Element, Element>(); public Release(IFile file) { this.file = file; - integration = true; } Release(SAXParser parser, IFile file) throws CoreException, IOException, SAXException, NoSuchAlgorithmException @@ -88,17 +83,7 @@ public class Release implements ElementResolver } finally { - if (contents != null) - { - try - { - contents.close(); - } - catch (Exception ex) - { - Activator.log(ex); - } - } + VersionUtil.close(contents); } } @@ -112,11 +97,6 @@ public class Release implements ElementResolver return digest; } - public boolean isIntegration() - { - return integration; - } - public Map<Element, Element> getElements() { return elements; @@ -154,7 +134,7 @@ public class Release implements ElementResolver private void writeRelease(StringBuilder builder) { builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); - builder.append("<" + RELEASE_TAG + " " + INTEGRATION_ATTRIBUTE + "=\"" + integration + "\">\n"); + builder.append("<" + RELEASE_TAG + ">\n"); List<Element> list = new ArrayList<Element>(elements.keySet()); Collections.sort(list, new Comparator<Element>() @@ -245,7 +225,6 @@ public class Release implements ElementResolver { if (RELEASE_TAG.equalsIgnoreCase(qName)) { - integration = getBoolean(attributes, INTEGRATION_ATTRIBUTE); ++level; } else if (FEATURE_TAG.equalsIgnoreCase(qName)) @@ -314,22 +293,6 @@ public class Release implements ElementResolver throw new SAXException("Illegal value for " + name); } - private boolean getBoolean(Attributes attributes, String name) throws SAXException - { - String value = attributes.getValue(name); - if ("false".equalsIgnoreCase(value)) - { - return false; - } - - if ("true".equalsIgnoreCase(value)) - { - return true; - } - - throw new SAXException("Illegal value for " + name); - } - @Override public void error(SAXParseException exception) throws SAXException { diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionBuilder.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionBuilder.java index 8e58687e58..f326fa220b 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionBuilder.java +++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionBuilder.java @@ -18,7 +18,9 @@ import org.eclipse.core.resources.IResourceDelta; import org.eclipse.core.resources.IncrementalProjectBuilder; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.osgi.service.resolver.BundleDescription; import org.eclipse.osgi.service.resolver.BundleSpecification; @@ -31,13 +33,16 @@ import org.eclipse.pde.core.plugin.PluginRegistry; import org.osgi.framework.Version; +import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.InputStream; import java.security.MessageDigest; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Properties; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -56,6 +61,10 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element private static final Path FEATURE_PATH = new Path("feature.xml"); + private static final String INTEGRATION_PROPERTY_KEY = "baseline.for.integration"; + + private static final String DEVIATIONS_PROPERTY_KEY = "show.deviations"; + private static final Version ADDITION = new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); private static final Version REMOVAL = new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); @@ -70,6 +79,10 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element private Release release; + private Boolean integration; + + private Boolean deviations; + private Map<Element, Element> elementCache = new HashMap<Element, Element>(); public VersionBuilder() @@ -110,6 +123,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element try { + Activator.clearBuildState(project); Markers.deleteAllMarkers(project); } finally @@ -124,14 +138,15 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element { @SuppressWarnings("unchecked") VersionBuilderArguments arguments = new VersionBuilderArguments(args); + List<IProject> buildDpependencies = new ArrayList<IProject>(); + VersionValidator validator = null; IProject project = getProject(); - List<IProject> buildDpependencies = new ArrayList<IProject>(); + IFile projectDescription = project.getFile(new Path(".project")); BuildState buildState = Activator.getBuildState(project); byte[] releaseSpecDigest = buildState.getReleaseSpecDigest(); boolean fullBuild = releaseSpecDigest == null; - VersionValidator validator = null; monitor.beginTask("", 1); monitor.subTask("Checking version validity of " + project.getName()); @@ -141,23 +156,28 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element Markers.deleteAllMarkers(project); IModel componentModel = getComponentModel(project); - IFile projectDescription = project.getFile(new Path(".project")); + if (!arguments.isIgnoreMalformedVersionsButton()) + { + checkMalformedVersions(componentModel); + } /* * Determine release data to validate against */ - String releasePath = arguments.getReleasePath(); - if (releasePath == null) + String releasePathArg = arguments.getReleasePath(); + if (releasePathArg == null) { String msg = "Path to release spec file is not configured"; Markers.addMarker(projectDescription, msg, IMarker.SEVERITY_ERROR, "(" + BUILDER_ID + ")"); return buildDpependencies.toArray(new IProject[buildDpependencies.size()]); } + IPath releasePath = new Path(releasePathArg); + try { - IFile releaseSpecFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(releasePath)); + IFile releaseSpecFile = ResourcesPlugin.getWorkspace().getRoot().getFile(releasePath); buildDpependencies.add(releaseSpecFile.getProject()); Release release; @@ -183,7 +203,8 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element { Activator.log(ex); String msg = "Problem with release spec: " + releasePath; - Markers.addMarker(projectDescription, msg, IMarker.SEVERITY_ERROR, "(" + releasePath.replace(".", "\\.") + ")"); + Markers.addMarker(projectDescription, msg, IMarker.SEVERITY_ERROR, + "(" + releasePath.toString().replace(".", "\\.") + ")"); return buildDpependencies.toArray(new IProject[buildDpependencies.size()]); } @@ -213,9 +234,23 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element return buildDpependencies.toArray(new IProject[buildDpependencies.size()]); } - if (!arguments.isIgnoreMalformedVersionsButton()) + IFile propertiesFile = VersionUtil.getFile(releasePath, "properties"); + long propertiesTimeStamp = propertiesFile.getLocalTimeStamp(); + if (buildState.getPropertiesTimeStamp() != propertiesTimeStamp) { - checkMalformedVersions(componentModel); + if (initReleaseProperties(propertiesFile)) + { + fullBuild = true; + } + + buildState.setDeviations(deviations); + buildState.setIntegration(integration); + buildState.setPropertiesTimeStamp(propertiesTimeStamp); + } + else + { + deviations = buildState.isDeviations(); + integration = buildState.isIntegration(); } Version elementVersion = element.getVersion(); @@ -223,6 +258,11 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element Version nextImplementationVersion = getNextImplVersion(releaseVersion); int comparison = releaseVersion.compareTo(elementVersion); + if (comparison != 0 && deviations) + { + addDeviationMarker(element, releaseVersion); + } + if (comparison < 0) { if (!nextImplementationVersion.equals(elementVersion)) @@ -271,7 +311,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element int change = checkFeatureContentChanges(componentModel, element, releaseElement, warnings); if (change != NO_CHANGE) { - Version nextFeatureVersion = getNextFeatureVersion(releaseVersion, change); + Version nextFeatureVersion = getNextFeatureVersion(releaseVersion, nextImplementationVersion, change); if (elementVersion.compareTo(nextFeatureVersion) < 0) { addVersionMarker("Version must be increased to " + nextFeatureVersion @@ -331,7 +371,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element delta = getDelta(project); } - validator.updateBuildState(buildState, releasePath, release, project, delta, componentModel, monitor); + validator.updateBuildState(buildState, release, project, delta, componentModel, monitor); if (buildState.isChangedSinceRelease()) { @@ -358,6 +398,8 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element } finally { + deviations = null; + integration = null; release = null; elementCache.clear(); monitor.done(); @@ -366,13 +408,55 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element return buildDpependencies.toArray(new IProject[buildDpependencies.size()]); } + private boolean initReleaseProperties(IFile propertiesFile) throws CoreException, IOException + { + if (propertiesFile.exists()) + { + InputStream contents = null; + + try + { + contents = propertiesFile.getContents(); + + Properties properties = new Properties(); + properties.load(contents); + + deviations = Boolean.valueOf(properties.getProperty(DEVIATIONS_PROPERTY_KEY, "false")); + + Boolean newValue = Boolean.valueOf(properties.getProperty(INTEGRATION_PROPERTY_KEY, "true")); + if (!newValue.equals(integration)) + { + integration = newValue; + return true; + } + + return false; + } + finally + { + VersionUtil.close(contents); + } + } + + deviations = false; + integration = true; + String contents = INTEGRATION_PROPERTY_KEY + " = " + integration; + + String charsetName = propertiesFile.getCharset(); + byte[] bytes = contents.getBytes(charsetName); + + ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + propertiesFile.create(bais, true, new NullProgressMonitor()); + return true; + } + private Version getNextImplVersion(Version releaseVersion) { return new Version(releaseVersion.getMajor(), releaseVersion.getMinor(), releaseVersion.getMicro() - + (release.isIntegration() ? 100 : 1)); + + (integration ? 100 : 1)); } - private Version getNextFeatureVersion(Version releaseVersion, int change) + private Version getNextFeatureVersion(Version releaseVersion, Version nextImplementationVersion, int change) { Version nextFeatureVersion = null; if (change == MAJOR_CHANGE) @@ -385,7 +469,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element } else if (change == MICRO_CHANGE) { - nextFeatureVersion = getNextImplVersion(releaseVersion); + nextFeatureVersion = nextImplementationVersion; } return nextFeatureVersion; @@ -803,8 +887,30 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element } } + private void addDeviationMarker(Element element, Version releasedVersion) + { + String type; + if (element.getType() == Element.Type.PLUGIN) + { + type = "Plug-in"; + } + else + { + type = "Feature"; + } + + Version version = element.getVersion(); + String message = type + " '" + element.getName() + "' has been changed from " + releasedVersion + " to " + version; + addVersionMarker(message, version, IMarker.SEVERITY_INFO); + } + private void addVersionMarker(String message, Version version) { + addVersionMarker(message, version, IMarker.SEVERITY_ERROR); + } + + private void addVersionMarker(String message, Version version, int severity) + { try { String regex; @@ -819,9 +925,12 @@ public class VersionBuilder extends IncrementalProjectBuilder implements Element regex = "Bundle-Version: *(\\d+(\\.\\d+(\\.\\d+)?)?)"; } - IMarker marker = Markers.addMarker(file, message, IMarker.SEVERITY_ERROR, regex); - marker.setAttribute(Markers.QUICK_FIX_PATTERN, regex); - marker.setAttribute(Markers.QUICK_FIX_REPLACEMENT, version.toString()); + IMarker marker = Markers.addMarker(file, message, severity, regex); + if (severity != IMarker.SEVERITY_INFO) + { + marker.setAttribute(Markers.QUICK_FIX_PATTERN, regex); + marker.setAttribute(Markers.QUICK_FIX_REPLACEMENT, version.toString()); + } } catch (Exception ex) { diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionUtil.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionUtil.java index 02af1fda45..26acd59037 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionUtil.java +++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionUtil.java @@ -11,10 +11,14 @@ package org.eclipse.emf.cdo.releng.version; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.osgi.framework.Version; +import java.io.Closeable; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; @@ -28,6 +32,29 @@ public class VersionUtil { private static final byte[] BUFFER = new byte[8192]; + public static void close(Closeable closeable) + { + if (closeable != null) + { + try + { + closeable.close(); + } + catch (Exception ex) + { + Activator.log(ex); + } + } + } + + public static IFile getFile(IPath releasePath, String extension) + { + IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); + IFile file = root.getFile(releasePath); + IPath path = file.getFullPath().removeFileExtension().addFileExtension(extension); + return root.getFile(path); + } + public static Version normalize(Version version) { return new Version(version.getMajor(), version.getMinor(), version.getMicro()); diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionValidator.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionValidator.java index 180c7d1cd7..42a02688c0 100644 --- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionValidator.java +++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/VersionValidator.java @@ -30,6 +30,6 @@ public abstract class VersionValidator buildState.setValidatorState(null); } - public abstract void updateBuildState(BuildState buildState, String releasePath, Release release, IProject project, - IResourceDelta delta, IModel componentModel, IProgressMonitor monitor) throws Exception; + public abstract void updateBuildState(BuildState buildState, Release release, IProject project, IResourceDelta delta, + IModel componentModel, IProgressMonitor monitor) throws Exception; } diff --git a/plugins/org.eclipse.emf.cdo.releng/release.properties b/plugins/org.eclipse.emf.cdo.releng/release.properties new file mode 100644 index 0000000000..4babde9a9f --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/release.properties @@ -0,0 +1 @@ +baseline.for.integration = false
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.cdo.ui.ide/IDE.launch b/plugins/org.eclipse.emf.cdo.ui.ide/IDE.launch index 2fabd74a12..5722e00ed6 100644 --- a/plugins/org.eclipse.emf.cdo.ui.ide/IDE.launch +++ b/plugins/org.eclipse.emf.cdo.ui.ide/IDE.launch @@ -14,9 +14,9 @@ <booleanAttribute key="includeOptional" value="true"/> <stringAttribute key="location" value="${workspace_loc}/../IDE.rt"/> <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> -<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -nosplash"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms256m -Xmx2048m -XX:MaxPermSize=512m -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showlogname=true -Dorg.apache.commons.logging.simplelog.defaultlog=off -Dorg.apache.commons.logging.simplelog.log.httpclient.wire.header=debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient=off -Dorg.apache.commons.logging.simplelog.log.org.apache.axis.message=debug -Dorg.apache.commons.logging.simplelog.log.httpclient.wire.content=debug"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms256m -Xmx2048m -XX:MaxPermSize=512m -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showlogname=true -Dorg.apache.commons.logging.simplelog.defaultlog=off -Dorg.apache.commons.logging.simplelog.log.httpclient.wire.header=debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient=off -Dorg.apache.commons.logging.simplelog.log.org.apache.axis.message=debug -Dorg.apache.commons.logging.simplelog.log.httpclient.wire.content=debug -Dorg.eclipse.emf.cdo.releng.version.debug=true"/> <stringAttribute key="pde.version" value="3.3"/> <stringAttribute key="product" value="org.eclipse.platform.ide"/> <stringAttribute key="selectedPlugin" value="org.eclipse.emf.cdo"/> |