Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 231349 Details for
Bug 408785
Allow builder arguments for clean builds in InternalBuilder implementations
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed patch for R3_8_mainanance
eclipse.platform.resources.patch_R3_8_maintenance.patch (text/plain), 5.75 KB, created by
Johann Draschwandtner
on 2013-05-23 04:10:46 EDT
(
hide
)
Description:
Proposed patch for R3_8_mainanance
Filename:
MIME Type:
Creator:
Johann Draschwandtner
Created:
2013-05-23 04:10:46 EDT
Size:
5.75 KB
patch
obsolete
>diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java >index fadcdac..75246a9 100644 >--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java >+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/BuildManager.java >@@ -725,7 +725,7 @@ > if (trigger != IncrementalProjectBuilder.CLEAN_BUILD) > prereqs = currentBuilder.build(trigger, args, monitor); > else >- currentBuilder.clean(monitor); >+ currentBuilder.clean(args, monitor); > if (prereqs == null) > prereqs = new IProject[0]; > currentBuilder.setInterestingProjects(prereqs.clone()); >diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/InternalBuilder.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/InternalBuilder.java >index d364333..76322d5 100644 >--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/InternalBuilder.java >+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/events/InternalBuilder.java >@@ -11,8 +11,6 @@ > *******************************************************************************/ > package org.eclipse.core.internal.events; > >-import org.eclipse.core.resources.IBuildConfiguration; >- > import java.util.Map; > import org.eclipse.core.internal.resources.ICoreConstants; > import org.eclipse.core.internal.watson.ElementTree; >@@ -62,7 +60,7 @@ > /* > * @see IncrementalProjectBuilder#build > */ >- protected abstract IProject[] build(int kind, Map<String,String> args, IProgressMonitor monitor) throws CoreException; >+ protected abstract IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException; > > /** > * Returns the value of the callOnEmptyDelta builder extension attribute. >@@ -70,6 +68,12 @@ > final boolean callOnEmptyDelta() { > return callOnEmptyDelta; > } >+ >+ /* >+ * @see IncrementalProjectBuilder >+ */ >+ protected abstract void clean(Map<String, String> args, IProgressMonitor monitor) throws CoreException; >+ > /* > * @see IncrementalProjectBuilder > */ >@@ -103,9 +107,9 @@ > * @see IncrementalProjectBuilder#getCommand > */ > protected ICommand getCommand() { >- return (ICommand)((BuildCommand)command).clone(); >+ return (ICommand) ((BuildCommand) command).clone(); > } >- >+ > /** > * @see IncrementalProjectBuilder#forgetLastBuiltState() > * @see IncrementalProjectBuilder#rememberLastBuiltState() >@@ -113,10 +117,10 @@ > protected IResourceDelta getDelta(IProject aProject) { > return buildManager.getDelta(aProject); > } >- >+ > /** > * @see IncrementalProjectBuilder#getContext() >- */ >+ */ > protected IBuildContext getContext() { > return context; > } >@@ -179,7 +183,7 @@ > protected void needRebuild() { > buildManager.requestRebuild(); > } >- >+ > final void setCallOnEmptyDelta(boolean value) { > this.callOnEmptyDelta = value; > } >@@ -187,7 +191,7 @@ > final void setCommand(ICommand value) { > this.command = value; > } >- >+ > final void setInterestingProjects(IProject[] value) { > interestingProjects = value; > } >diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IncrementalProjectBuilder.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IncrementalProjectBuilder.java >index 4c3a0f2..d8f2dd1 100644 >--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IncrementalProjectBuilder.java >+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/resources/IncrementalProjectBuilder.java >@@ -141,7 +141,31 @@ > * @exception CoreException if this build fails. > * @see IProject#build(int, String, Map, IProgressMonitor) > */ >- protected abstract IProject[] build(int kind, Map<String,String> args, IProgressMonitor monitor) throws CoreException; >+ protected abstract IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException; >+ >+ /** >+ * This method is equivalent to {@link IncrementalProjectBuilder#clean(IProgressMonitor)}, with >+ * the additional possibility to pass builder specific arguments to the clean step. >+ * <p> >+ * This method is called as a result of invocations of >+ * <code>IProject.build</code> where the build kind is {@link #CLEAN_BUILD}. >+ * <p> >+ * This default implementation does nothing. Subclasses may override. >+ * <p> >+ * >+ * @param args a table of builder-specific arguments keyed by argument name >+ * (key type: <code>String</code>, value type: <code>String</code>); >+ * <code>null</code> is equivalent to an empty map >+ * @param monitor a progress monitor, or <code>null</code> if progress >+ * reporting and cancellation are not desired >+ * @exception CoreException if this build fails. >+ * @see IncrementalProjectBuilder#clean(IProgressMonitor) >+ * @since 3.8 >+ */ >+ protected void clean(Map<String, String> args, IProgressMonitor monitor) throws CoreException { >+ //default implementation forwards to old interface without argument map >+ clean(monitor); >+ } > > /** > * Clean is an opportunity for a builder to discard any additional state that has >@@ -419,8 +443,8 @@ > * <li> > * The rule returned here may have no effect if the build is invoked within the > * scope of another operation that locks the entire workspace. >- * </li> >- * <li> >+ * </li> >+ * <li> > * If this method returns any rule other than the workspace root, > * resources outside of the rule scope can be modified concurrently with the build. > * The delta returned by {@link #getDelta(IProject)} for any project >@@ -450,7 +474,7 @@ > * > * @since 3.6 > */ >- public ISchedulingRule getRule(int kind, Map<String,String> args) { >+ public ISchedulingRule getRule(int kind, Map<String, String> args) { > return getRule(); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 408785
: 231349 |
231351