5e. Provide a target platform for two different "baselines" (Kepler and Juno release)
- Uses Maven profiles to conditionally set properties based
-- Pass either via (system specific) ~/.m2/settings.xml or on cmd line with "-P profileName"
6a. Create pom for .product project with packaging type
"eclipse-repository" to represent the product zip files
- Use "tycho-p2-director-plugin" in .product pom to activate product
builds
- Add to aggregator pom
- mvn install complaining about missing launcher dependencies "[ERROR]
Internal error: java.lang.RuntimeException: "No solution found because
the problem is unsatisfiable.": ["Unable to satisfy dependency from
com.example.e4.rcp.todo.product 0.0.0 to
org.eclipse.equinox.executable.feature.group 0.0.0.", "No solution found
because the problem is unsatisfiable."] -> [Help 1]"
6b. Add “org.eclipse.equinox.executable.feature.group” Installable Unit
(IU) to .target platform to fix broken build caused by missing
dependencies
6c. Rename application launcher name from "eclipse/eclipse.exe" to
product-specific "todo/todo.exe"
- Tycho reads the launcher name from the .product file defining the RCP
product/application
6d. Add a root folder named "todo/" to product archives to extract
archives not to the current directory but to create todo/ instead (todo/
then contains the product/application)
- pom "id" is verbatim of todo.product "uid" (in case multiple .products
(e.g. community vs. enterprise product) are used, each can have specific
root folder)
6e. Add rootFolders for Linux to extract the RCP application to /opt/
folder according to the LSB
6f. Add a license.txt file to the root of the RCP application
- Use rootFiles/ folder in todo.feature to host severeal license files
(alternatively could have used root=file:license.txt in build.properties
of said feature)
7a. Create product zips for all environments/platforms for which we ship
the RCP product/application
- Maven/Tycho build still _platform-independent_