Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Tycho/Release Notes/0.22"

m
 
(8 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
   #versionNav{ position:absolute; top: 0px; right: 0px; border-color: transparent; background: transparent; }
 
   #versionNav{ position:absolute; top: 0px; right: 0px; border-color: transparent; background: transparent; }
 
</css>  
 
</css>  
<div id="versionNav" class="alert alert-small alert-warning">[[Tycho/Release Notes/0.21|&lt; Previous Version]] |  Next Version &gt;</div>  
+
<div id="versionNav" class="alert alert-small alert-warning">[[Tycho/Release Notes/0.21|&lt; Previous Version]] |  [[Tycho/Release Notes/0.23|Next Version &gt;]]</div>  
 
+
Tycho 0.22.0 is currently under development.
+
This page shows a preview of features which will be available in the 0.22.0 milestone.
+
 
+
== SNAPSHOT builds ==
+
 
+
To try out the most recent snapshot build of 0.22.0, simply add the following snippet to your (parent) pom.xml, and set the property for the Tycho version (e.g. <tt>tycho-version</tt>) to <tt>0.22.0-SNAPSHOT</tt>.
+
 
+
<pre>
+
<pluginRepositories>
+
  <pluginRepository>
+
    <id>tycho-snapshots</id>
+
    <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
+
  </pluginRepository>
+
</pluginRepositories>
+
</pre>
+
 
+
=== SNAPSHOT site docs ===
+
 
+
Refer to the [https://hudson.eclipse.org/tycho/job/tycho-sitedocs/ws/target/staging/index.html latest SNAPSHOT site docs for Tycho] and [https://hudson.eclipse.org/tycho/job/tycho-extras-sitedocs/ws/target/staging/index.html Tycho Extras].
+
  
 
== New and Noteworthy ==
 
== New and Noteworthy ==
Line 49: Line 29:
 
=== Target Platform & Dependency Resolution ===
 
=== Target Platform & Dependency Resolution ===
  
* (INCOMPATIBLE CHANGE) In case you specify multiple execution environment profiles in the <tt>Bundle-RequiredExecutionEnvironment</tt> manifest header, the profile used for the build may have changed. Tycho no longer attempts to find the "minimal" profile from the ones specified, but now uses the one specified first ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=435313 <strike>bug 435313</strike>]). See [[Tycho/Execution_Environments|Execution Environments]] for details on the execution environment configuration and effects in the build.
+
<ul>
* Tycho now supports building bundles for the execution environments <tt>JavaSE/compact1-1.8</tt>, <tt>JavaSE/compact2-1.8</tt>, and <tt>JavaSE/compact3-1.8</tt>.
+
<li>(INCOMPATIBLE CHANGE) In case you specify multiple execution environment profiles in the <tt>Bundle-RequiredExecutionEnvironment</tt> manifest header, the profile used for the build may have changed. Tycho no longer attempts to find the "minimal" profile from the ones specified, but now uses the one specified first ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=435313 <strike>bug 435313</strike>]). See [[Tycho/Execution_Environments|Execution Environments]] for details on the execution environment configuration and effects in the build.
* Tycho can now be configured to ignore the execution environment (as per Bundle-RequiredExecutionEnvironment manifest header) of the current bundle when resolving its dependencies  ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=435068 <strike>bug 435068</strike>]) . If you configure
+
<li>Tycho now supports building bundles for the execution environments <tt>JavaSE/compact1-1.8</tt>, <tt>JavaSE/compact2-1.8</tt>, and <tt>JavaSE/compact3-1.8</tt>.
 +
<li>Tycho can now be configured to ignore the configured execution environment of the current bundle when resolving its dependencies  ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=435068 <strike>bug 435068</strike>]) . If you set the <tt>target-platform-configuration</tt> option <tt>resolveWithExecutionEnvironmentConstraints</tt> to <tt>false</tt>, Tycho will use a combination of all known execution environments (providing the superset of all system packages) to resolve the bundle's dependencies.
 +
<li>Tycho can now take the <tt>includeSource</tt> attribute in target definitions into account. This needs to be enabled through a <tt>target-platform-configuration</tt> option:
 
<pre>
 
<pre>
 
<plugin>
 
<plugin>
<groupId>org.eclipse.tycho</groupId>
+
  <groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
+
  <artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
+
  <version>${tycho-version}</version>
<configuration>
+
  <configuration>
<resolveWithExecutionEnvironmentConstraints>false</resolveWithExecutionEnvironmentConstraints>
+
      <target>
</configuration>
+
        <artifact>
 +
            ...
 +
        </artifact>
 +
      </target>
 +
      <targetDefinitionIncludeSource>honor</targetDefinitionIncludeSource>
 +
  </configuration>
 
</plugin>
 
</plugin>
 
</pre>
 
</pre>
 +
Note that this new option is of limited use for including sources into a p2 repository:
 +
* If you want to include source bundles from the (external) target platform, you typically would add a complete source or SDK feature from the target platform. <tt>includeSource</tt> does not automatically include source features, so you would need to explicitly specify them in the target file anyway.
 +
* If you only want to include source bundles for bundles from your reactor, you don't need this option.
  
Tycho will use a combination of all known execution environments (providing the superset of all system packages) to resolve the bundle's dependencies.
+
The only case in which the new option may make sense if you are building a feature with source feature which directly includes a bundle from the (external) target platform.
 
+
</li>
 +
<li>In case of p2 dependency resolution errors, Tycho will no longer clutter the console output with exception stacktraces ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=441538 <strike>bug 441538</strike>])</li>
 +
</ul>
  
 
=== Packaging ===
 
=== Packaging ===
  
 
* Resources copying and filtering:
 
* Resources copying and filtering:
** you can now include additonal resources such as <tt>index.html</tt> or <tt>about.html</tt> in p2 repositories. Just add files to <tt>src/main/resources</tt> in  <tt>eclipse-repository</tt> modules
+
** you can now include additonal resources such as <tt>index.html</tt> or <tt>about.html</tt> in p2 repositories ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=424691 <strike>bug 424691</strike>]). Just add files to <tt>src/main/resources</tt> in  <tt>eclipse-repository</tt> modules
** you can now use [http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html maven resource filtering] for eclipse-plugin resources in src/main/resources. For details on how to use it, see ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=383872#c9 bug 383872 comment 9])  and [https://hudson.eclipse.org/tycho/job/tycho-sitedocs/ws/target/staging/tycho-compiler-plugin/compile-mojo.html#copyResources site docs].  
+
** you can now use [http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html maven resource filtering] for eclipse-plugin resources in src/main/resources. For details on how to use it, see ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=383872#c9 bug 383872 comment 9])  and [https://www.eclipse.org/tycho/sitedocs/tycho-compiler-plugin/compile-mojo.html#copyResources site docs]
 +
** maven property expressions (like <tt>${project.version}</tt>) can now be used in [https://www.eclipse.org/tycho/sitedocs/BuildProperties.html <tt>build.properties</tt>] values ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=442922 <strike>bug 442922 </strike>])
  
 
=== Test Execution ===
 
=== Test Execution ===
  
* Tycho Surefire was updated to use Maven Surefire version 2.17. This enabled us to consume the fix for long-standing ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=369266 <strike>bug 369266</strike>])
+
* Tycho Surefire was updated to use Maven Surefire version 2.17. This enabled us to consume the fix for long-standing [https://bugs.eclipse.org/bugs/show_bug.cgi?id=369266 <strike>bug 369266</strike>]
* Tycho Surefire can now be configured to use the JDK specified in the test bundle's Bundle-RequiredExecutionEnvironment to execute tests (as opposed to the currently running JDK) ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=407500 <strike>bug 407500</strike>]). See the [https://hudson.eclipse.org/tycho/job/tycho-sitedocs/ws/target/staging/tycho-surefire/tycho-surefire-plugin/test-mojo.html#useJDK site docs] for details.
+
* Tycho Surefire can now be configured to use the JDK specified in the test bundle's Bundle-RequiredExecutionEnvironment to execute tests (as opposed to the currently running JDK) ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=407500 <strike>bug 407500</strike>]). See the [https://www.eclipse.org/tycho/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html#useJDK site docs] for details.
  
 
=== Other ===
 
=== Other ===
  
 +
* In addition to the previously existing properties <tt>unqualifiedVersion</tt> and <tt>buildQualifier</tt>, a new property <tt>qualifiedVersion</tt> was introduced. It contains the concatenation of the first two properties, but without trailing dot in case the <tt>buildQualifier</tt> is an empty string. ([https://www.eclipse.org/tycho/sitedocs/tycho-packaging-plugin/build-qualifier-mojo.html Documentation]).
 
* The embedded OSGi runtime used by Tycho during build has been updated to use Equinox and p2 from the Mars M3 milestone ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=444112 <strike>bug 444112</strike>])
 
* The embedded OSGi runtime used by Tycho during build has been updated to use Equinox and p2 from the Mars M3 milestone ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=444112 <strike>bug 444112</strike>])
  
 
[[Category:Tycho|Release Notes/0.22]]
 
[[Category:Tycho|Release Notes/0.22]]

Latest revision as of 05:59, 1 December 2014

New and Noteworthy

Complete list of bug fixes and enhancements in 0.22.0

Compiler

  • You can now reuse project JDT compiler preferences .settings/org.eclipse.jdt.core.prefs by globally configuring
    <plugin>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-compiler-plugin</artifactId>
      <version>${tycho-version}</version>
      <configuration>
        <useProjectSettings>true</useProjectSettings>
      </configuration>
    </plugin>
    

    e.g. in your parent pom. This will warn but not fail if the preference file is not present. (bug 404633)

Target Platform & Dependency Resolution

  • (INCOMPATIBLE CHANGE) In case you specify multiple execution environment profiles in the Bundle-RequiredExecutionEnvironment manifest header, the profile used for the build may have changed. Tycho no longer attempts to find the "minimal" profile from the ones specified, but now uses the one specified first (bug 435313). See Execution Environments for details on the execution environment configuration and effects in the build.
  • Tycho now supports building bundles for the execution environments JavaSE/compact1-1.8, JavaSE/compact2-1.8, and JavaSE/compact3-1.8.
  • Tycho can now be configured to ignore the configured execution environment of the current bundle when resolving its dependencies (bug 435068) . If you set the target-platform-configuration option resolveWithExecutionEnvironmentConstraints to false, Tycho will use a combination of all known execution environments (providing the superset of all system packages) to resolve the bundle's dependencies.
  • Tycho can now take the includeSource attribute in target definitions into account. This needs to be enabled through a target-platform-configuration option:
    <plugin>
       <groupId>org.eclipse.tycho</groupId>
       <artifactId>target-platform-configuration</artifactId>
       <version>${tycho-version}</version>
       <configuration>
          <target>
             <artifact>
                ...
             </artifact>
          </target>
          <targetDefinitionIncludeSource>honor</targetDefinitionIncludeSource>
       </configuration>
    </plugin>
    

    Note that this new option is of limited use for including sources into a p2 repository:

    • If you want to include source bundles from the (external) target platform, you typically would add a complete source or SDK feature from the target platform. includeSource does not automatically include source features, so you would need to explicitly specify them in the target file anyway.
    • If you only want to include source bundles for bundles from your reactor, you don't need this option.

    The only case in which the new option may make sense if you are building a feature with source feature which directly includes a bundle from the (external) target platform.

  • In case of p2 dependency resolution errors, Tycho will no longer clutter the console output with exception stacktraces (bug 441538)

Packaging

  • Resources copying and filtering:

Test Execution

  • Tycho Surefire was updated to use Maven Surefire version 2.17. This enabled us to consume the fix for long-standing bug 369266
  • Tycho Surefire can now be configured to use the JDK specified in the test bundle's Bundle-RequiredExecutionEnvironment to execute tests (as opposed to the currently running JDK) (bug 407500). See the site docs for details.

Other

  • In addition to the previously existing properties unqualifiedVersion and buildQualifier, a new property qualifiedVersion was introduced. It contains the concatenation of the first two properties, but without trailing dot in case the buildQualifier is an empty string. (Documentation).
  • The embedded OSGi runtime used by Tycho during build has been updated to use Equinox and p2 from the Mars M3 milestone (bug 444112)

Back to the top