Skip to main content
Jump to: navigation, search

Difference between revisions of "M2E/Extension Development"

< M2E
Line 1: Line 1:
 
== Prerequisites ==
 
== Prerequisites ==
  
Some OSGi bundle development and PDE knowledge is assumed.  
+
Some OSGi bundle development and PDE knowledge is assumed. TODO link to some PDE documentation and tutorials
  
TODO link to some PDE tutorial and
 
  
 +
== 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 ==
 
== Project directory structure overview ==

Revision as of 06:52, 17 June 2011

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

M2E extension development environment

Back to the top