398 lines
19 KiB
Diff
398 lines
19 KiB
Diff
From 8c4a712700b4ef835bd40dd4061246679d4fe435 Mon Sep 17 00:00:00 2001
|
|
From: Roland Grunberg <rgrunber@redhat.com>
|
|
Date: Tue, 12 Jun 2012 09:56:38 -0400
|
|
Subject: [PATCH] Fix the Tycho build to work on Fedora.
|
|
|
|
Minor fixes of limited scope needed to have Tycho building on Fedora.
|
|
|
|
Remove org.eclipse.equinox.concurrent until present in Fedora Eclipse.
|
|
|
|
Tycho upstream currently depends upon 0.15.0 when building
|
|
0.16.0-SNAPSHOT, which doesn't have reactor plugin version checking. In
|
|
Fedora we depend on the previously built version which has that version
|
|
checking. We must keep previous build version strings different to avoid
|
|
a cyclic dependency, but doing so causes the version checking to fail,
|
|
so we must provide a way to disable it. (skipTychoVersionCheck)
|
|
|
|
As of Eclipse Kepler, the bundle 'org.junit4' is no longer provided.
|
|
Packages requiring JUnit 4 must use proper versioning on 'org.junit'.
|
|
|
|
Update to using Jetty 9 API.
|
|
|
|
Fix to build with Plexus Compiler 2.2 API.
|
|
|
|
Change-Id: Ic8c0514c1fa10ee53580d2654ac6a363ccd66814
|
|
---
|
|
pom.xml | 9 ++---
|
|
tycho-artifactcomparator/pom.xml | 4 +--
|
|
.../p2/target/ee/CustomEEResolutionHandler.java | 2 +-
|
|
.../org/eclipse/tycho/test/util/HttpServer.java | 8 +++--
|
|
.../tycho-bundles-external.product | 1 -
|
|
.../p2 Director.product | 1 -
|
|
tycho-compiler-jdt/pom.xml | 4 ---
|
|
.../eclipse/tycho/compiler/jdt/JDTCompiler.java | 40 ++++++++++++----------
|
|
.../apache/maven/plugin/AbstractCompilerMojo.java | 6 ++--
|
|
.../maven/plugin/CompilationFailureException.java | 4 +--
|
|
.../core/maven/TychoMavenLifecycleParticipant.java | 4 ++-
|
|
.../tycho/test/AbstractTychoIntegrationTest.java | 11 +++---
|
|
.../tycho/testing/EmptyLifecycleExecutor.java | 8 +++++
|
|
13 files changed, 53 insertions(+), 49 deletions(-)
|
|
|
|
diff --git a/pom.xml b/pom.xml
|
|
index 3b57368..2651c9b 100644
|
|
--- a/pom.xml
|
|
+++ b/pom.xml
|
|
@@ -208,12 +208,12 @@ $CMD -DpomFile=org.eclipse.jdt.compiler.apt.pom \
|
|
<dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-compiler-api</artifactId>
|
|
- <version>1.8.1</version>
|
|
+ <version>2.2</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-compiler-manager</artifactId>
|
|
- <version>1.8.1</version>
|
|
+ <version>2.2</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.tycho</groupId>
|
|
@@ -226,11 +226,6 @@ $CMD -DpomFile=org.eclipse.jdt.compiler.apt.pom \
|
|
<version>${jdtVersion}</version>
|
|
</dependency>
|
|
<dependency>
|
|
- <groupId>org.eclipse.tycho</groupId>
|
|
- <artifactId>org.eclipse.jdt.compiler.apt</artifactId>
|
|
- <version>${jdtAptVersion}</version>
|
|
- </dependency>
|
|
- <dependency>
|
|
<groupId>org.apache.maven.surefire</groupId>
|
|
<artifactId>surefire-booter</artifactId>
|
|
<version>2.10</version>
|
|
diff --git a/tycho-artifactcomparator/pom.xml b/tycho-artifactcomparator/pom.xml
|
|
index 84613d1..48139c9 100644
|
|
--- a/tycho-artifactcomparator/pom.xml
|
|
+++ b/tycho-artifactcomparator/pom.xml
|
|
@@ -24,7 +24,7 @@
|
|
<dependency>
|
|
<!-- CQ https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6591 -->
|
|
<groupId>org.ow2.asm</groupId>
|
|
- <artifactId>asm-debug-all</artifactId>
|
|
+ <artifactId>asm-all</artifactId>
|
|
<version>4.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
@@ -54,4 +54,4 @@
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
-</project>
|
|
\ No newline at end of file
|
|
+</project>
|
|
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/ee/CustomEEResolutionHandler.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/ee/CustomEEResolutionHandler.java
|
|
index 87c9e11..927cea5 100644
|
|
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/ee/CustomEEResolutionHandler.java
|
|
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/ee/CustomEEResolutionHandler.java
|
|
@@ -59,7 +59,7 @@ class CustomEEResolutionHandler extends ExecutionEnvironmentResolutionHandler {
|
|
String name = capability.getName();
|
|
String version = capability.getVersion().toString();
|
|
|
|
- if (JREAction.NAMESPACE_OSGI_EE.equals(namespace)) {
|
|
+ if ("osgi.ee".equals(namespace)) {
|
|
result.add(new SystemCapability(Type.OSGI_EE, name, version));
|
|
} else if (PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE.equals(namespace)) {
|
|
result.add(new SystemCapability(Type.JAVA_PACKAGE, name, version));
|
|
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java
|
|
index 57b4e10..47423e5 100644
|
|
--- a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java
|
|
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java
|
|
@@ -17,9 +17,13 @@ import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Random;
|
|
|
|
+import org.eclipse.jetty.security.ConstraintMapping;
|
|
+import org.eclipse.jetty.security.ConstraintSecurityHandler;
|
|
+import org.eclipse.jetty.security.HashLoginService;
|
|
+import org.eclipse.jetty.server.AbstractNetworkConnector;
|
|
import org.eclipse.jetty.server.Connector;
|
|
import org.eclipse.jetty.server.Server;
|
|
-import org.eclipse.jetty.server.bio.SocketConnector;
|
|
+import org.eclipse.jetty.server.ServerConnector;
|
|
import org.eclipse.jetty.servlet.ServletContextHandler;
|
|
import org.eclipse.jetty.servlet.ServletHolder;
|
|
import org.junit.rules.ExternalResource;
|
|
@@ -77,7 +81,7 @@ public class HttpServer extends ExternalResource {
|
|
|
|
private static RunningServer startServerOnPort(int port) throws Exception {
|
|
Server jetty = new Server();
|
|
- Connector connector = new SocketConnector();
|
|
+ AbstractNetworkConnector connector = new ServerConnector(jetty);
|
|
connector.setPort(port);
|
|
jetty.addConnector(connector);
|
|
|
|
diff --git a/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product b/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product
|
|
index 02d1dd1..ba9471a 100644
|
|
--- a/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product
|
|
+++ b/tycho-bundles/tycho-bundles-external/tycho-bundles-external.product
|
|
@@ -42,7 +42,6 @@
|
|
<plugin id="org.eclipse.ecf.ssl" fragment="true"/>
|
|
<plugin id="org.eclipse.equinox.app"/>
|
|
<plugin id="org.eclipse.equinox.common"/>
|
|
- <plugin id="org.eclipse.equinox.concurrent"/>
|
|
<plugin id="org.eclipse.equinox.ds"/>
|
|
<plugin id="org.eclipse.equinox.frameworkadmin"/>
|
|
<plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
|
|
diff --git a/tycho-bundles/tycho-standalone-p2-director/p2 Director.product b/tycho-bundles/tycho-standalone-p2-director/p2 Director.product
|
|
index 62b354d..11f65fb 100644
|
|
--- a/tycho-bundles/tycho-standalone-p2-director/p2 Director.product
|
|
+++ b/tycho-bundles/tycho-standalone-p2-director/p2 Director.product
|
|
@@ -42,7 +42,6 @@
|
|
<plugin id="org.eclipse.ecf.ssl" fragment="true"/>
|
|
<plugin id="org.eclipse.equinox.app"/>
|
|
<plugin id="org.eclipse.equinox.common"/>
|
|
- <plugin id="org.eclipse.equinox.concurrent"/>
|
|
<plugin id="org.eclipse.equinox.ds"/>
|
|
<plugin id="org.eclipse.equinox.frameworkadmin"/>
|
|
<plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
|
|
diff --git a/tycho-compiler-jdt/pom.xml b/tycho-compiler-jdt/pom.xml
|
|
index f2c321f..75f4cd7 100644
|
|
--- a/tycho-compiler-jdt/pom.xml
|
|
+++ b/tycho-compiler-jdt/pom.xml
|
|
@@ -38,10 +38,6 @@
|
|
<artifactId>org.eclipse.jdt.core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
- <groupId>org.eclipse.tycho</groupId>
|
|
- <artifactId>org.eclipse.jdt.compiler.apt</artifactId>
|
|
- </dependency>
|
|
- <dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-compiler-api</artifactId>
|
|
</dependency>
|
|
diff --git a/tycho-compiler-jdt/src/main/java/org/eclipse/tycho/compiler/jdt/JDTCompiler.java b/tycho-compiler-jdt/src/main/java/org/eclipse/tycho/compiler/jdt/JDTCompiler.java
|
|
index f87983d..718e2fc 100644
|
|
--- a/tycho-compiler-jdt/src/main/java/org/eclipse/tycho/compiler/jdt/JDTCompiler.java
|
|
+++ b/tycho-compiler-jdt/src/main/java/org/eclipse/tycho/compiler/jdt/JDTCompiler.java
|
|
@@ -28,9 +28,10 @@ import java.util.regex.Pattern;
|
|
|
|
import org.codehaus.plexus.compiler.AbstractCompiler;
|
|
import org.codehaus.plexus.compiler.CompilerConfiguration;
|
|
-import org.codehaus.plexus.compiler.CompilerError;
|
|
import org.codehaus.plexus.compiler.CompilerException;
|
|
+import org.codehaus.plexus.compiler.CompilerMessage;
|
|
import org.codehaus.plexus.compiler.CompilerOutputStyle;
|
|
+import org.codehaus.plexus.compiler.CompilerResult;
|
|
import org.codehaus.plexus.component.annotations.Component;
|
|
import org.codehaus.plexus.util.StringUtils;
|
|
import org.codehaus.plexus.util.cli.CommandLineException;
|
|
@@ -69,7 +70,7 @@ public class JDTCompiler extends AbstractCompiler {
|
|
// Compiler Implementation
|
|
// ----------------------------------------------------------------------
|
|
|
|
- public List<CompilerError> compile(CompilerConfiguration config) throws CompilerException {
|
|
+ public CompilerResult performCompile(CompilerConfiguration config) throws CompilerException {
|
|
CustomCompilerConfiguration custom = new CustomCompilerConfiguration();
|
|
|
|
File destinationDir = new File(config.getOutputLocation());
|
|
@@ -81,7 +82,7 @@ public class JDTCompiler extends AbstractCompiler {
|
|
String[] sourceFiles = getSourceFiles(config);
|
|
|
|
if (sourceFiles.length == 0) {
|
|
- return Collections.emptyList();
|
|
+ return new CompilerResult();
|
|
}
|
|
|
|
getLogger().info(
|
|
@@ -94,7 +95,7 @@ public class JDTCompiler extends AbstractCompiler {
|
|
|
|
String[] args = buildCompilerArguments(config, custom, sourceFiles);
|
|
|
|
- List<CompilerError> messages;
|
|
+ CompilerResult messages;
|
|
|
|
if (config.isFork()) {
|
|
String executable = config.getExecutable();
|
|
@@ -277,10 +278,10 @@ public class JDTCompiler extends AbstractCompiler {
|
|
* name of the executable to launch
|
|
* @param args
|
|
* arguments for the executable launched
|
|
- * @return List of CompilerError objects with the errors encountered.
|
|
+ * @return List of CompilerMessage objects with the errors encountered.
|
|
* @throws CompilerException
|
|
*/
|
|
- List<CompilerError> compileOutOfProcess(File workingDirectory, String executable, String[] args)
|
|
+ CompilerResult compileOutOfProcess(File workingDirectory, String executable, String[] args)
|
|
throws CompilerException {
|
|
if (true /* fork is not supported */) {
|
|
throw new UnsupportedOperationException("compileoutOfProcess not supported");
|
|
@@ -300,7 +301,7 @@ public class JDTCompiler extends AbstractCompiler {
|
|
|
|
int returnCode;
|
|
|
|
- List<CompilerError> messages;
|
|
+ List <CompilerMessage> messages;
|
|
|
|
try {
|
|
returnCode = CommandLineUtils.executeCommandLine(cli, out, err);
|
|
@@ -314,11 +315,12 @@ public class JDTCompiler extends AbstractCompiler {
|
|
|
|
if (returnCode != 0 && messages.isEmpty()) {
|
|
// TODO: exception?
|
|
- messages.add(new CompilerError("Failure executing javac, but could not parse the error:" + EOL
|
|
+ messages.add(new CompilerMessage("Failure executing javac, but could not parse the error:" + EOL
|
|
+ err.getOutput(), true));
|
|
}
|
|
|
|
- return messages;
|
|
+ boolean success = (returnCode == 0) ? true : false;
|
|
+ return new CompilerResult(success, messages);
|
|
}
|
|
|
|
/**
|
|
@@ -327,12 +329,12 @@ public class JDTCompiler extends AbstractCompiler {
|
|
*
|
|
* @param args
|
|
* arguments for the compiler as they would be used in the command line javac
|
|
- * @return List of CompilerError objects with the errors encountered.
|
|
+ * @return List of CompilerMessage objects with the errors encountered.
|
|
* @throws CompilerException
|
|
*/
|
|
- List<CompilerError> compileInProcess(String[] args, CustomCompilerConfiguration custom) throws CompilerException {
|
|
+ CompilerResult compileInProcess(String[] args, CustomCompilerConfiguration custom) throws CompilerException {
|
|
|
|
- List<CompilerError> messages;
|
|
+ List <CompilerMessage> messages;
|
|
|
|
StringWriter out = new StringWriter();
|
|
StringWriter err = new StringWriter();
|
|
@@ -357,19 +359,19 @@ public class JDTCompiler extends AbstractCompiler {
|
|
// low-level, e.g. configuration error
|
|
throw new CompilerException(err.toString());
|
|
}
|
|
- return messages;
|
|
+ return new CompilerResult(success, messages);
|
|
}
|
|
|
|
/**
|
|
- * Parse the output from the compiler into a list of CompilerError objects
|
|
+ * Parse the output from the compiler into a list of CompilerMessage objects
|
|
*
|
|
* @param input
|
|
* The output of the compiler
|
|
- * @return List of CompilerError objects
|
|
+ * @return List of CompilerMessage objects
|
|
* @throws IOException
|
|
*/
|
|
- protected static List<CompilerError> parseModernStream(BufferedReader input) throws IOException {
|
|
- List<CompilerError> errors = new ArrayList<CompilerError>();
|
|
+ protected static List<CompilerMessage> parseModernStream(BufferedReader input) throws IOException {
|
|
+ List<CompilerMessage> errors = new ArrayList<CompilerMessage>();
|
|
String type = null;
|
|
String file = null;
|
|
int lineNr = -1;
|
|
@@ -399,9 +401,9 @@ public class JDTCompiler extends AbstractCompiler {
|
|
return errors;
|
|
}
|
|
|
|
- private static void addErrorIfFound(List<CompilerError> errors, String type, String file, int line, String message) {
|
|
+ private static void addErrorIfFound(List<CompilerMessage> errors, String type, String file, int line, String message) {
|
|
if (type != null) {
|
|
- errors.add(new CompilerError(file, "ERROR".equals(type), line, 0, line, 0, message));
|
|
+ errors.add(new CompilerMessage(file, "ERROR".equals(type), line, 0, line, 0, message));
|
|
}
|
|
}
|
|
|
|
diff --git a/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/AbstractCompilerMojo.java b/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/AbstractCompilerMojo.java
|
|
index 74ba22c..7b3603d 100644
|
|
--- a/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/AbstractCompilerMojo.java
|
|
+++ b/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/AbstractCompilerMojo.java
|
|
@@ -29,7 +29,7 @@ import org.apache.maven.plugin.AbstractMojo;
|
|
import org.apache.maven.plugin.MojoExecutionException;
|
|
import org.codehaus.plexus.compiler.Compiler;
|
|
import org.codehaus.plexus.compiler.CompilerConfiguration;
|
|
-import org.codehaus.plexus.compiler.CompilerError;
|
|
+import org.codehaus.plexus.compiler.CompilerMessage;
|
|
import org.codehaus.plexus.compiler.CompilerException;
|
|
import org.codehaus.plexus.compiler.CompilerOutputStyle;
|
|
import org.codehaus.plexus.compiler.manager.CompilerManager;
|
|
@@ -420,7 +420,7 @@ public abstract class AbstractCompilerMojo extends AbstractMojo {
|
|
List messages;
|
|
|
|
try {
|
|
- messages = compiler.compile(compilerConfiguration);
|
|
+ messages = compiler.performCompile(compilerConfiguration).getCompilerMessages();
|
|
} catch (Exception e) {
|
|
// TODO: don't catch Exception
|
|
throw new MojoExecutionException("Fatal error compiling", e);
|
|
@@ -429,7 +429,7 @@ public abstract class AbstractCompilerMojo extends AbstractMojo {
|
|
boolean compilationError = false;
|
|
|
|
for (Iterator i = messages.iterator(); i.hasNext();) {
|
|
- CompilerError message = (CompilerError) i.next();
|
|
+ CompilerMessage message = (CompilerMessage) i.next();
|
|
if (message.isError()) {
|
|
compilationError = true;
|
|
} else {
|
|
diff --git a/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/CompilationFailureException.java b/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/CompilationFailureException.java
|
|
index 78dc4d8..8b73147 100644
|
|
--- a/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/CompilationFailureException.java
|
|
+++ b/tycho-compiler-plugin/src/main/java/copied/org/apache/maven/plugin/CompilationFailureException.java
|
|
@@ -20,7 +20,7 @@ import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
import org.apache.maven.plugin.MojoFailureException;
|
|
-import org.codehaus.plexus.compiler.CompilerError;
|
|
+import org.codehaus.plexus.compiler.CompilerMessage;
|
|
|
|
public class CompilationFailureException extends MojoFailureException {
|
|
/**
|
|
@@ -37,7 +37,7 @@ public class CompilationFailureException extends MojoFailureException {
|
|
StringBuffer sb = new StringBuffer();
|
|
|
|
for (Iterator it = messages.iterator(); it.hasNext();) {
|
|
- CompilerError compilerError = (CompilerError) it.next();
|
|
+ CompilerMessage compilerError = (CompilerMessage) it.next();
|
|
|
|
sb.append(compilerError).append(LS);
|
|
}
|
|
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
|
|
index 3efb896..cccb6ff 100644
|
|
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
|
|
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
|
|
@@ -84,7 +84,9 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
|
|
}
|
|
|
|
private void validate(List<MavenProject> projects) throws MavenExecutionException {
|
|
- validateConsistentTychoVersion(projects);
|
|
+ if (System.getProperty("skipTychoVersionCheck") == null) {
|
|
+ validateConsistentTychoVersion(projects);
|
|
+ }
|
|
validateUniqueBaseDirs(projects);
|
|
}
|
|
|
|
diff --git a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java b/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
|
|
index df63b2f..510db0a 100644
|
|
--- a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
|
|
+++ b/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
|
|
@@ -97,12 +97,11 @@ public abstract class AbstractTychoIntegrationTest {
|
|
verifier.getCliOptions().add(customOptions);
|
|
}
|
|
|
|
- if (System.getProperty(SYSPROP_STATELOCATION) != null) {
|
|
- verifier.setForkJvm(false);
|
|
- String m2eresolver = System.getProperty("tychodev-maven.ext.class.path"); // XXX
|
|
- if (m2eresolver != null) {
|
|
- verifier.addCliOption("-Dmaven.ext.class.path=" + m2eresolver);
|
|
- }
|
|
+ String m2eState = System.getProperty("m2eclipse.workspace.state");
|
|
+ String m2eResolver = System.getProperty("m2eclipse.workspace.resolver");
|
|
+
|
|
+ if (m2eState != null && m2eResolver != null) {
|
|
+ verifier.getVerifierProperties().put("m2eclipse.workspace.state", m2eState);
|
|
}
|
|
|
|
return verifier;
|
|
--
|
|
1.8.1.4
|
|
|