Buckminster to Tycho Migrator Maven Plugin

A plugin for migrating a Palladio style buckminster build to a tycho build.

License

License

GroupId

GroupId

org.palladiosimulator
ArtifactId

ArtifactId

buckminster-tycho-migrator
Last Version

Last Version

0.1.2
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

Buckminster to Tycho Migrator Maven Plugin
A plugin for migrating a Palladio style buckminster build to a tycho build.
Project URL

Project URL

http://www.palladiosimulator.org
Source Code Management

Source Code Management

http://github.com/palladiosimulator/palladio-build-buckminstertotychomigrationplugin/tree/master

Download buckminster-tycho-migrator

How to add to project

<plugin>
    <groupId>org.palladiosimulator</groupId>
    <artifactId>buckminster-tycho-migrator</artifactId>
    <version>0.1.2</version>
</plugin>

Dependencies

compile (4)

Group / Artifact Type Version
commons-io : commons-io jar 2.6
org.eclipse.xtend : org.eclipse.xtend.lib jar 2.12.0
org.eclipse.aether : aether-api jar 0.9.0.M2
org.eclipse.aether : aether-util jar 0.9.0.M2

provided (4)

Group / Artifact Type Version
org.apache.maven : maven-plugin-api jar 3.1.0
org.apache.maven : maven-core jar 3.1.0
org.apache.maven : maven-artifact jar 3.1.0
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.5.1

test (3)

Group / Artifact Type Version
org.apache.maven : maven-compat jar 3.1.0
junit : junit jar 4.12
org.apache.maven.plugin-testing : maven-plugin-testing-harness jar 3.3.0

Project Modules

There are no modules declared in this project.

Palladio-Build-BuckminsterToTychoMigrationPlugin

Just copy the following POM file into the root of your project (i.e., the folder that contains a folder for the buckminster Eclipse project), adjust it as described below, and issue the command mvn package. The target folder will contain the migrated project. Please note, that you still have to define the target platform to get a properly working build.

Please do the following adjustements:

  • targetGroupId: The group id to be used, which will also be part of the name of the update site
  • updatesiteCategory: The category to place the features in (support, qual, core, addons)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.palladiosimulator</groupId>
	<artifactId>migration</artifactId>
	<version>0.1.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<build>
		<plugins>
			<plugin>
				<groupId>org.palladiosimulator</groupId>
				<artifactId>buckminster-tycho-migrator</artifactId>
				<executions>
					<execution>
						<id>migration</id>
						<phase>package</phase>
						<goals>
							<goal>migrate</goal>
						</goals>
						<configuration>
							<updatesiteCategory>addons</updatesiteCategory>
							<targetGroupId>org.palladiosimulator.solver</targetGroupId>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>

After the script run successfully

  • remove everything from the root folder except the target folder (git rm -r)
  • copy the contents of the target folder into the root folder (including the .mvn folder and the new pom.xml)
  • add all newly added folders (git add)

Git automatically detects the movement of the files.

Now start the build using mvn clean verify and determine missing dependencies. Locate the dependencies on our update site (or other update sites) and add entries to the target platform definition. Please note that

  • you must not use the Eclipse target platform editor because it discards additional attributes we need
  • you must not use the aggregated update site in the target platform
  • for our dependencies, you have to add two entries (one for nightly and one for release)

You can have a look at other target platform definitions to get an idea of how to create such target platforms.

org.palladiosimulator

Palladio Simulator

Versions

Version
0.1.2
0.1.1
0.1.0