1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-01 06:05:24 +02:00

1. About.html update for the managed builder plug-ins

2. Enhanced error handling for Internal Builder invokation
3. The message is displayed now when the Internal Builder has nothing to build
This commit is contained in:
Mikhail Sennikovsky 2006-05-12 19:46:24 +00:00
parent 32cc65f7c0
commit 3ca4a76b93
8 changed files with 215 additions and 154 deletions

View file

@ -1,22 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml"><head>
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
<title>About</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US"> <body lang="EN-US">
<h2>About This Content</h2> <h2>About This Content</h2>
<p>June 17, 2005</p> <p>May 2, 2006</p>
<h3>License</h3> <h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the <p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. indicated below, the Content is provided to you under the terms and conditions of the
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p> Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, "Program" will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise being redistributed by another party ("Redistributor") and different terms and conditions may
indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body> </body></html>
</html>

View file

@ -1,22 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml"><head>
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
<title>About</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US"> <body lang="EN-US">
<h2>About This Content</h2> <h2>About This Content</h2>
<p>June 17, 2005</p> <p>May 2, 2006</p>
<h3>License</h3> <h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the <p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. indicated below, the Content is provided to you under the terms and conditions of the
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p> Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, "Program" will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise being redistributed by another party ("Redistributor") and different terms and conditions may
indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body> </body></html>
</html>

View file

@ -10,6 +10,7 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.managedbuilder.internal.buildmodel; package org.eclipse.cdt.managedbuilder.internal.buildmodel;
import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -18,6 +19,7 @@ import org.eclipse.cdt.managedbuilder.buildmodel.BuildDescriptionManager;
import org.eclipse.cdt.managedbuilder.buildmodel.IBuildDescription; import org.eclipse.cdt.managedbuilder.buildmodel.IBuildDescription;
import org.eclipse.cdt.managedbuilder.buildmodel.IBuildStep; import org.eclipse.cdt.managedbuilder.buildmodel.IBuildStep;
import org.eclipse.cdt.managedbuilder.buildmodel.IStepVisitor; import org.eclipse.cdt.managedbuilder.buildmodel.IStepVisitor;
import org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeMessages;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IProgressMonitor;
@ -36,6 +38,11 @@ import org.eclipse.core.runtime.SubProgressMonitor;
* *
*/ */
public class DescriptionBuilder implements IBuildModelBuilder { public class DescriptionBuilder implements IBuildModelBuilder {
private static final String BUILDER_MSG_HEADER = "InternalBuilder.msg.header"; //$NON-NLS-1$
private static final String BUILDER_NOTHING_TODO = "InternalBuilder.nothing.todo"; //$NON-NLS-1$
private static final String LINE_SEPARATOR = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
private IBuildDescription fDes; private IBuildDescription fDes;
private IPath fCWD; private IPath fCWD;
private boolean fBuildIncrementaly; private boolean fBuildIncrementaly;
@ -133,21 +140,34 @@ public class DescriptionBuilder implements IBuildModelBuilder {
public int build(OutputStream out, OutputStream err, public int build(OutputStream out, OutputStream err,
IProgressMonitor monitor){ IProgressMonitor monitor){
int num = getNumCommands();
int status = STATUS_OK;
//TODO: should we specify some task name here? //TODO: should we specify some task name here?
monitor.beginTask("", getNumCommands()); //$NON-NLS-1$ monitor.beginTask("", num > 0 ? num : 1); //$NON-NLS-1$
monitor.subTask(""); //$NON-NLS-1$ monitor.subTask(""); //$NON-NLS-1$
BuildStepVisitor visitor = new BuildStepVisitor(out, err, monitor); if(num > 0){
try { BuildStepVisitor visitor = new BuildStepVisitor(out, err, monitor);
BuildDescriptionManager.accept(visitor, try {
fDes, true); BuildDescriptionManager.accept(visitor,
} catch (CoreException e) { fDes, true);
return STATUS_ERROR_LAUNCH; } catch (CoreException e) {
status = STATUS_ERROR_LAUNCH;
}
if(status == STATUS_OK)
status = visitor.fStatus;
} else {
printMessage(
ManagedMakeMessages.getFormattedString(BUILDER_NOTHING_TODO,
fDes.getConfiguration().getOwner().getName()),
out);
} }
monitor.done(); monitor.done();
return visitor.fStatus; return status;
} }
public int getNumCommands() { public int getNumCommands() {
@ -175,4 +195,15 @@ public class DescriptionBuilder implements IBuildModelBuilder {
return b; return b;
} }
protected void printMessage(String msg, OutputStream os){
if (os != null) {
msg = ManagedMakeMessages.getFormattedString(BUILDER_MSG_HEADER, msg) + LINE_SEPARATOR;
try {
os.write(msg.getBytes());
os.flush();
} catch (IOException e) {
// ignore;
}
}
}
} }

View file

@ -1205,6 +1205,9 @@ public class GeneratedMakefileBuilder extends ACBuilder {
monitor.beginTask("", 1000); //$NON-NLS-1$ monitor.beginTask("", 1000); //$NON-NLS-1$
monitor.subTask(ManagedMakeMessages.getFormattedString(MAKE, msgs)); monitor.subTask(ManagedMakeMessages.getFormattedString(MAKE, msgs));
ConsoleOutputStream consoleOutStream = null;
IConsole console = null;
OutputStream epmOutputStream = null;
try { try {
int flags = 0; int flags = 0;
IResourceDelta delta = null; IResourceDelta delta = null;
@ -1220,9 +1223,9 @@ public class GeneratedMakefileBuilder extends ACBuilder {
// Get a build console for the project // Get a build console for the project
StringBuffer buf = new StringBuffer(); StringBuffer buf = new StringBuffer();
IConsole console = CCorePlugin.getDefault().getConsole(); console = CCorePlugin.getDefault().getConsole();
console.start(currentProject); console.start(currentProject);
ConsoleOutputStream consoleOutStream = console.getOutputStream(); consoleOutStream = console.getOutputStream();
String[] consoleHeader = new String[3]; String[] consoleHeader = new String[3];
if(buildIncrementaly) if(buildIncrementaly)
consoleHeader[0] = ManagedMakeMessages.getResourceString(TYPE_INC); consoleHeader[0] = ManagedMakeMessages.getResourceString(TYPE_INC);
@ -1246,80 +1249,96 @@ public class GeneratedMakefileBuilder extends ACBuilder {
} }
consoleOutStream.write(buf.toString().getBytes()); consoleOutStream.write(buf.toString().getBytes());
consoleOutStream.flush(); consoleOutStream.flush();
if(builder.getNumCommands() > 0) {
// Remove all markers for this project
removeAllMarkers(currentProject);
// Remove all markers for this project // Hook up an error parser manager
removeAllMarkers(currentProject); String[] errorParsers = cfg.getErrorParserList();
ErrorParserManager epm = new ErrorParserManager(getProject(), des.getDefaultBuildDirLocation(), this, errorParsers);
// Hook up an error parser manager epm.setOutputStream(consoleOutStream);
String[] errorParsers = cfg.getErrorParserList(); // This variable is necessary to ensure that the EPM stream stay open
ErrorParserManager epm = new ErrorParserManager(getProject(), des.getDefaultBuildDirLocation(), this, errorParsers); // until we explicitly close it. See bug#123302.
epm.setOutputStream(consoleOutStream); epmOutputStream = epm.getOutputStream();
// This variable is necessary to ensure that the EPM stream stay open
// until we explicitly close it. See bug#123302. int status = builder.build(epmOutputStream, epmOutputStream, new SubProgressMonitor(monitor, 1000));
OutputStream epmOutputStream = epm.getOutputStream();
// Report either the success or failure of our mission
int status = builder.build(epmOutputStream, epmOutputStream, new SubProgressMonitor(monitor, 1000)); buf = new StringBuffer();
//no refresh is needed since the builder now performs switch(status){
//a refresh automatically after each build step case IBuildModelBuilder.STATUS_OK:
/* monitor.subTask(ManagedMakeMessages buf.append(ManagedMakeMessages
.getResourceString(REFRESH)); .getFormattedString(BUILD_FINISHED,
try { currentProject.getName()));
currentProject.refreshLocal( break;
IResource.DEPTH_INFINITE, null); case IBuildModelBuilder.STATUS_CANCELLED:
} catch (CoreException e) { buf.append(ManagedMakeMessages
.getResourceString(BUILD_CANCELLED));
break;
case IBuildModelBuilder.STATUS_ERROR_BUILD:
String msg = resumeOnErr ?
ManagedMakeMessages.getResourceString(BUILD_FINISHED_WITH_ERRS) :
ManagedMakeMessages.getResourceString(BUILD_STOPPED_ERR);
buf.append(msg);
break;
case IBuildModelBuilder.STATUS_ERROR_LAUNCH:
default:
buf.append(ManagedMakeMessages
.getResourceString(BUILD_FAILED_ERR));
break;
}
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$//$NON-NLS-2$
// Write message on the console
consoleOutStream.write(buf.toString().getBytes());
consoleOutStream.flush();
epmOutputStream.close();
epmOutputStream = null;
// Generate any error markers that the build has discovered
monitor.subTask(ManagedMakeMessages monitor.subTask(ManagedMakeMessages
.getResourceString(REFRESH_ERROR)); .getResourceString(MARKERS));
addBuilderMarkers(epm);
epm.reportProblems();
} else {
buf = new StringBuffer();
buf.append(ManagedMakeMessages.getFormattedString(NOTHING_BUILT, getProject().getName()));
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$//$NON-NLS-2$
consoleOutStream.write(buf.toString().getBytes());
consoleOutStream.flush();
} }
*/
// Report either the success or failure of our mission
buf = new StringBuffer();
switch(status){
case IBuildModelBuilder.STATUS_OK:
buf.append(ManagedMakeMessages
.getFormattedString(BUILD_FINISHED,
currentProject.getName()));
break;
case IBuildModelBuilder.STATUS_CANCELLED:
buf.append(ManagedMakeMessages
.getResourceString(BUILD_CANCELLED));
break;
case IBuildModelBuilder.STATUS_ERROR_BUILD:
String msg = resumeOnErr ?
ManagedMakeMessages.getResourceString(BUILD_FINISHED_WITH_ERRS) :
ManagedMakeMessages.getResourceString(BUILD_STOPPED_ERR);
buf.append(msg);
break;
case IBuildModelBuilder.STATUS_ERROR_LAUNCH:
default:
buf.append(ManagedMakeMessages
.getResourceString(BUILD_FAILED_ERR));
break;
}
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$//$NON-NLS-2$
// Write message on the console
consoleOutStream.write(buf.toString().getBytes());
consoleOutStream.flush();
epmOutputStream.close();
// Generate any error markers that the build has discovered
monitor.subTask(ManagedMakeMessages
.getResourceString(MARKERS));
addBuilderMarkers(epm);
epm.reportProblems();
consoleOutStream.close();
} catch (Exception e) { } catch (Exception e) {
StringBuffer buf = new StringBuffer(); if(consoleOutStream != null){
String errorDesc = ManagedMakeMessages StringBuffer buf = new StringBuffer();
.getResourceString(BUILD_ERROR); String errorDesc = ManagedMakeMessages
buf.append(errorDesc); .getResourceString(BUILD_ERROR);
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$//$NON-NLS-2$ buf.append(errorDesc);
buf.append("(").append(e.getLocalizedMessage()).append(")"); //$NON-NLS-1$ //$NON-NLS-2$ buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$//$NON-NLS-2$
buf.append("(").append(e.getLocalizedMessage()).append(")"); //$NON-NLS-1$ //$NON-NLS-2$
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$//$NON-NLS-2$
try {
consoleOutStream.write(buf.toString().getBytes());
consoleOutStream.flush();
} catch (IOException e1) {
}
}
forgetLastBuiltState(); forgetLastBuiltState();
} finally { } finally {
if(epmOutputStream != null){
try {
epmOutputStream.close();
} catch (IOException e) {
}
}
if(consoleOutStream != null){
try {
consoleOutStream.close();
} catch (IOException e) {
}
}
getGenerationProblems().clear(); getGenerationProblems().clear();
monitor.done(); monitor.done();
} }

View file

@ -128,6 +128,7 @@ ManagedBuilderCorePlugin.resourceChangeHandlingInitializationJob=Initializing Re
#Internal Builder messages #Internal Builder messages
InternalBuilder.msg.header=Internal Builder: {0} InternalBuilder.msg.header=Internal Builder: {0}
InternalBuilder.nothing.todo=Nothing to be done for project {0}
CleanFilesAction.cleanFiles=Clean File(s) CleanFilesAction.cleanFiles=Clean File(s)
CleanFilesAction.cleanSelectedFiles=Clean the selected file(s). CleanFilesAction.cleanSelectedFiles=Clean the selected file(s).
CleanFilesAction.cleaningFiles=Cleaning files CleanFilesAction.cleaningFiles=Cleaning files

View file

@ -1,22 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml"><head>
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
<title>About</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US"> <body lang="EN-US">
<h2>About This Content</h2> <h2>About This Content</h2>
<p>June 17, 2005</p> <p>May 2, 2006</p>
<h3>License</h3> <h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the <p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. indicated below, the Content is provided to you under the terms and conditions of the
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p> Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, "Program" will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise being redistributed by another party ("Redistributor") and different terms and conditions may
indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body> </body></html>
</html>

View file

@ -1,22 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml"><head>
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
<title>About</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US"> <body lang="EN-US">
<h2>About This Content</h2> <h2>About This Content</h2>
<p>June 17, 2005</p> <p>May 2, 2006</p>
<h3>License</h3> <h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the <p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. indicated below, the Content is provided to you under the terms and conditions of the
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p> Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, "Program" will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise being redistributed by another party ("Redistributor") and different terms and conditions may
indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body> </body></html>
</html>

View file

@ -1,22 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <html xmlns="http://www.w3.org/1999/xhtml"><head>
<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
<title>About</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US"> <body lang="EN-US">
<h2>About This Content</h2> <h2>About This Content</h2>
<p>June 17, 2005</p> <p>May 2, 2006</p>
<h3>License</h3> <h3>License</h3>
<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the <p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. indicated below, the Content is provided to you under the terms and conditions of the
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p> Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, "Program" will mean the Content.</p>
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise being redistributed by another party ("Redistributor") and different terms and conditions may
indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p> apply to your use of any object code in the Content. Check the Redistributor's license that was
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body> </body></html>
</html>