From 679d6a7cc0c5f8f768f98e5d1ee7d4800cb6cddd Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Wed, 15 Aug 2018 15:58:10 +0100 Subject: [PATCH 4/6] Bug 537963 - Make the default EE Java 1.8 This allows bundles that don't otherwise specify an EE (for example if the bundle contains only a plugin.xml, or is a documentation only bundle, or otherwise does not contain any bytecode) to continue working in environments that are supported by the latest release of Eclipse. Change-Id: Ic6e41c3000c85e2e4222e8153e84b7701ab0e750 Signed-off-by: Mat Booth --- .../tycho/osgicompiler/test/OsgiCompilerTest.java | 6 +++--- .../ee/ExecutionEnvironmentConfigurationImpl.java | 6 +++--- .../ee/ExecutionEnvironmentConfigurationTest.java | 4 ++-- .../tycho/core/osgitools/EquinoxResolverTest.java | 2 +- .../org/eclipse/tycho/core/test/TychoTest.java | 5 ++++- .../src/test/resources/projects/bree/pom.xml | 1 + .../bree/tycho-default/META-INF/MANIFEST.MF | 5 +++++ .../projects/bree/tycho-default/build.properties | 2 ++ .../resources/projects/bree/tycho-default/pom.xml | 15 +++++++++++++++ 9 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF create mode 100644 tycho-core/src/test/resources/projects/bree/tycho-default/build.properties create mode 100644 tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml diff --git a/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java b/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java index 7451d97..a0dae08 100644 --- a/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java +++ b/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java @@ -37,7 +37,7 @@ import copied.org.apache.maven.plugin.CompilationFailureException; public class OsgiCompilerTest extends AbstractTychoMojoTestCase { private static final int TARGET_1_4 = 48; - private static final int TARGET_9 = 53; + private static final int TARGET_8 = 52; protected File storage; @@ -235,10 +235,10 @@ public class OsgiCompilerTest extends AbstractTychoMojoTestCase { List projects = getSortedProjects(basedir, null); MavenProject project; // project with neither POM nor MANIFEST configuration => must fallback to - // source/target level == 9 + // source/target level == 8 project = projects.get(1); getMojo(projects, project).execute(); - assertBytecodeMajorLevel(TARGET_9, new File(project.getBasedir(), "target/classes/Generic.class")); + assertBytecodeMajorLevel(TARGET_8, new File(project.getBasedir(), "target/classes/Generic.class")); // project with multiple execution envs. // Minimum source and target level must be taken diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java b/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java index 11f0ccf..ea67379 100644 --- a/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java +++ b/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2014 SAP SE and others. + * Copyright (c) 2012, 2018 SAP SE and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,8 +19,8 @@ import org.eclipse.tycho.core.ee.shared.SystemCapability; import org.eclipse.tycho.core.shared.BuildFailureException; public class ExecutionEnvironmentConfigurationImpl implements ExecutionEnvironmentConfiguration { - // Most likely best to always be the latest known supported EE - private static final String DEFAULT_EXECUTION_ENVIRONMENT = "JavaSE-9"; + // Most likely best to always be the latest known supported long-term supported EE + private static final String DEFAULT_EXECUTION_ENVIRONMENT = "JavaSE-1.8"; private static final int PRIMARY = 0; private static final int SECONDARY = 1; diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java index 5391eb2..f04fa21 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java @@ -45,9 +45,9 @@ public class ExecutionEnvironmentConfigurationTest { @Test public void testDefaults() { - assertThat(subject.getProfileName(), is("JavaSE-9")); + assertThat(subject.getProfileName(), is("JavaSE-1.8")); assertThat(subject.isCustomProfile(), is(false)); - assertThat(subject.getFullSpecification().getProfileName(), is("JavaSE-9")); + assertThat(subject.getFullSpecification().getProfileName(), is("JavaSE-1.8")); } @Test diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java index 5a03c88..ec82a88 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java @@ -61,7 +61,7 @@ public class EquinoxResolverTest extends AbstractTychoMojoTestCase { properties.put("tycho-version", TychoVersion.getTychoVersion()); List projects = getSortedProjects(basedir, properties, null); - assertEquals(6, projects.size()); + assertEquals(7, projects.size()); assertEquals("executionenvironment.manifest-minimal", projects.get(2).getArtifactId()); ExecutionEnvironment ee = TychoProjectUtils.getExecutionEnvironmentConfiguration(projects.get(2)) diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java index ba6b69e..4ebe5ed 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java @@ -360,7 +360,7 @@ public class TychoTest extends AbstractTychoMojoTestCase { properties.put("tycho-version", TychoVersion.getTychoVersion()); List projects = getSortedProjects(basedir, properties, null); - assertEquals(6, projects.size()); + assertEquals(7, projects.size()); int i = 0; assertEquals("executionenvironment.manifest", projects.get(++i).getArtifactId()); @@ -377,6 +377,9 @@ public class TychoTest extends AbstractTychoMojoTestCase { assertEquals("executionenvironment.pom-default", projects.get(++i).getArtifactId()); assertEquals("OSGi/Minimum-1.2", getActiveEEProfile(projects.get(i))); + + assertEquals("executionenvironment.tycho-default", projects.get(++i).getArtifactId()); + assertEquals("JavaSE-1.8", getActiveEEProfile(projects.get(i))); } public void testWithProjectReferencesItself() throws Exception { diff --git a/tycho-core/src/test/resources/projects/bree/pom.xml b/tycho-core/src/test/resources/projects/bree/pom.xml index 1ddff1d..18c5885 100644 --- a/tycho-core/src/test/resources/projects/bree/pom.xml +++ b/tycho-core/src/test/resources/projects/bree/pom.xml @@ -14,6 +14,7 @@ pom-hard buildproperties pom-default + tycho-default diff --git a/tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF b/tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF new file mode 100644 index 0000000..e6d85c6 --- /dev/null +++ b/tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: A bundle that specifies no EE at all and relies on Tycho to set one. +Bundle-SymbolicName: executionenvironment.tycho-default +Bundle-Version: 1.0.0 diff --git a/tycho-core/src/test/resources/projects/bree/tycho-default/build.properties b/tycho-core/src/test/resources/projects/bree/tycho-default/build.properties new file mode 100644 index 0000000..7b02ed4 --- /dev/null +++ b/tycho-core/src/test/resources/projects/bree/tycho-default/build.properties @@ -0,0 +1,2 @@ +bin.includes = META-INF/ + diff --git a/tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml b/tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml new file mode 100644 index 0000000..f538f5e --- /dev/null +++ b/tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml @@ -0,0 +1,15 @@ + + 4.0.0 + + + executionenvironment + parent + 1.0.0 + + + executionenvironment.tycho-default + 1.0.0 + eclipse-plugin + + -- 2.21.1