Difference between revisions of "APP4MC/devinfo"
|(2 intermediate revisions by the same user not shown)|
|Line 1:||Line 1:|
== Setup of IDE ==
== Setup of IDE ==
Latest revision as of 08:15, 5 November 2019
The build infrastructure and repositories are currently under construction. The following information is partly outdated.
Setup of IDE
- 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
- Select Eclipse IDE for Java Developers with Oxygen as Product Version. Click Next.
- Click on the + sign at the top to add a new User Project.
- Select Browse File System... and refer to the downloaded .setup file.
- A new entry named APP4MC Development IDE is created. Select and click Next.
- Control the locations of the installation and click on Next to proceed to the installation.
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
The main code repository is http://git.eclipse.org/c/app4mc/org.eclipse.app4mc.git The structure is separated into the following folders:
- all build related projects like Maven Tycho parent project, product, and target definition
- all Eclipse feature projects
- all Eclipse plug-in projects
- all Eclipse test plug-in and fragment projects
- 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:
- 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
- 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> ...
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/
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:
- 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.
- 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.
- 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!
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:
- build-and-publish-website: Manual triggered job to build the Eclipse APP4MC web site (by open-source static site generator Hugo).
- build-master-release: Job to build and distribute a release based on the master branch. Release is copied only if proper tag is set. Must be started manually.
- build-src-branches-pipes: Job to build all user related branches(**/feature/*, **/hotfix*, **/release*). Triggered by time every 15 min, not by event. This job uses Jenkins pipeline, which is configured in the Jenkinsfile available in the root of the repository.
- build-src-develop: Job to build the develop branch. Triggered by time every 15 min, not by event.
- build-src-develop-nightly: Dedicated nightly job for develop branch.
- build-src-gerrit: Job to build patches for gerrit. Triggered by Gerrit events.