M2E/Extension Development
Contents
Prerequisites
Some OSGi bundle development and PDE knowledge is assumed. TODO link to some PDE documentation and tutorials
Java code generation overview
Although there are no strict rules, usually maven java code generation plugins like antlr3-maven-plugin or maven-jaxb-plugin take one or more input files from project source tree and generate a number java source files in a subdirectory of target/generated-sources/ directory. These generated sources are usually required to compile and/or run project tests.
To properly support code generation inside Eclipse IDE workspace, the IDE generally needs to perform some configuration (semi) statically during project import and then do actually code generation either on request or automatically as part of workspace build.
Project directory structure overview
org.somecatchyname/ <= project basedir, all project files are under this directory org.somecatchyname.m2e/ <= main bundle project src/ pom.xml org.somecatchyname.m2e.tests/ <= automated tests (optional, but highly recommended) src/ pom.xml org.somecatchyname.m2e.feature/ <= eclipse feature project feature.xml pom.xml pom.xml <= aggregator pom.xml
This wiki assumes project basedir is /var/tmp/somecatchyname, but this can obviously be any other directory.
Create test bundle project
org.somecatchyname.m2e.tests/ src/ projects/ basic/ <= test maven project used to verify m2e extension behaviour pom.xml pom.xml
Use Plug-In Project new project wizard to create main bundle project. This is regular PDE stuff.
Create main bundle project
Submitting M2E marketplace entries