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

APP4MC/devinfo

Warning

The build infrastructure and repositories are currently under construction. The following information is partly outdated.

Setup of IDE

APP4MC uses the Eclipse Installer provided by Ooomph to install and setup the development environment. Getting started can be found here. Please follow the next steps:

  1. Save the following file locally: http://git.eclipse.org/c/app4mc/org.eclipse.app4mc.git/plain/build/org.eclipse.app4mc.ide.setup/APP4MC-Development-IDE-new.setup
  2. Select Eclipse IDE for Java Developers with Oxygen as Product Version. Click Next.
  3. Click on the + sign at the top to add a new User Project.
  4. Select Browse File System... and refer to the downloaded .setup file.
  5. A new entry named APP4MC Development IDE is created. Select and click Next.
  6. Control the locations of the installation and click on Next to proceed to the installation.

APP4MC Oomph select project.png

Development Information

Contains general technical information related to developers, who are interested to contribute to the APP4MC project or wants to use it as a basis for their own tooling.

An overview about the existing repositories and links to the Bug tracker can be found under https://projects.eclipse.org/projects/technology.app4mc/developer

Repository structure

The main code repository is http://git.eclipse.org/c/app4mc/org.eclipse.app4mc.git The structure is separated into the following folders:

build/
all build related projects like Maven Tycho parent project, product, and target definition
features/
all Eclipse feature projects
plugins/
all Eclipse plug-in projects
tests/
all Eclipse test plug-in and fragment projects
examples/
all Examples that can be manipulated or viewed using the AMALTHEA Tool Platform

Building the product

Building the product itself is done with the following two steps:

  1. Prepare environment: This is needed to copy the dependent Eclipse Mylyn libraries to the local computer. There are two scripts existing to be executed for different OS:
    • Linux build/org.eclipse.app4mc.build/setup_env.sh
    • Windows build/org.eclipse.app4mc.build/setup_env.bat
  2. Perform the maven build at build/org.eclipse.app4mc.build, for example with mvn clean verify

After successful build the products for the different platforms can be found under build/org.eclipse.app4mc.platform.product/target/products

Add new modules

By adding the plugins, features or tests, they must refer to the central parent pom file with the corresponding current version number (in the sample it is the 0.8.2):

<parent>
	<relativePath>../../build/org.eclipse.app4mc.build/pom.xml</relativePath>
	<groupId>org.eclipse.app4mc.build</groupId>
	<artifactId>parent</artifactId>
	<version>0.8.2-SNAPSHOT</version>
</parent>

In addition the new plugin must be added to the parent pom so it will be recognized:

<?xml version="1.0" encoding="UTF-8"?>
<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.eclipse.app4mc.build</groupId>
	<artifactId>parent</artifactId>
	<version>0.8.2-SNAPSHOT</version>

	<packaging>pom</packaging>

	<url>http://projects.eclipse.org/projects/technology.app4mc</url>
	<name>APP4MC Tool Platform</name>
 
    <modules>
        <!-- Plugins -->
        ...
        <!-- add your plug-in here: -->
        <module>../../plugins/org.itea2.amalthea.your.plugin</module>
 
        <!-- Features -->
        ...
        <!-- add your feature here: -->
        <module>../../features/org.itea2.amalthea.your.feature</module>
  
        <!-- Tests -->
        ...
        <!-- add your test here: -->
        <module>../../tests/org.itea2.amalthea.tests.your.plugin</module>
 
        ...
    </modules>
    ...

UI Tests

The APP4MC/AMALTHEA plattform uses the RCPTT for UI tests. General project site including documentation: https://www.eclipse.org/rcptt/. Basic tutorial and introduction: http://eclipsesource.com/blogs/tutorials/rcp-testing-tool-rcptt-basic-tutorial/

Existing Project

The general project indluding the UI tests is located in the repository in the project tests/org.eclipse.app4mc.rcptt

This project includes the following folder structure:

contexts
Includes several basic context definition to perform the tests. This includes the setup like the opened perspective or the content of the workbench, including projects if needed.
tests
The test definitions to run.
editor: Tests related to the basic AMALTHEA editor.
examples: Tests related to the provided samples.
wizard: Tests related to the model wizard.
verifications
Additional verifications for the test runs. Currently it includes several timing restrictions for the tests.

New test definitions should be included in the tests folder in a dedicated sub-folder! The pom.xml includes already a setup to run all the tests with maven.

The UI tests must run at the end of the build as it relies on the build target!

Build Infrastructure

APP4MC uses Jenkins as a Continuous Integration build server, which is available under https://ci.eclipse.org/app4mc/. There following list gives an overview about the existing main jobs:

Back to the top