The repository contains a sample application built with pure maven and hence it allows to develop mavne e4 applications in Eclipse, Netbeans and IntelliJ IDEA.
Clone the git repository:
user@host> git clone https://github.com/BestSolution-at/e4-efxclipse-maven-sample.git
and enter into the 'parent' folder:
user@host> cd e4-efxclipse-maven-sample/
To build the final product you need to preinstall an extension who reconfigures tycho. You could do that by either executing the provided initialization script:
user@host> ./initializeMavenRepo.sh
or by executing the following tasks manually:
user@host> mvn dependency:get -Dartifact=at.bestsolution:tycho-lifecycle-controller:0.0.3-SNAPSHOT -DrepoUrl=http://maven.bestsolution.at/efxclipse-snapshots/
user@host> mvn dependency:get -Dartifact=at.bestsolution:maven-osgi-targetplatform-extension:0.0.3-SNAPSHOT -DrepoUrl=http://maven.bestsolution.at/efxclipse-snapshots/
user@host> mvn dependency:get -Dartifact=at.bestsolution:maven-osgi-package-plugin:0.0.3-SNAPSHOT -DrepoUrl=http://maven.bestsolution.at/efxclipse-snapshots/
user@host> mvn dependency:get -Dartifact=at.bestsolution:maven-osgi-exec-plugin:0.0.3-SNAPSHOT -DrepoUrl=http://maven.bestsolution.at/efxclipse-snapshots/
user@host> cd sample.mvn.parent
user@host> mvn clean install
You can run the product from the command line with the following statement:
user@host> mvn -f launch/pom.xml test -P netbeans
TODO
To run the application inside Eclipse you need to have at least e(fx)clipse 3.1.0 tooling installed who provides a new run-configuration type MVN OSGi Launcher
.
If you need to recreate the launcher, click on the browse button and select the launch
module.
Sample Video:
To run in Netbeans no additional stuff has to be installed. The custom actions are checked into the sample.mvn.parent
project.
Sample Video:
To run in IntelliJ IDEA no additional stuff has to be installed when running you need to manually select launch the maven executable with 'intellij' profile.
Sample Video:
Fork this repository into your GitHub account, make changes, and create a Pull Request.