Wiki source code of Creating an OSGi Bundle
Show last authors
1 | Creating Dysoweb applications is the same thing as creating an OSGi bundle since dysoweb applications are OSGi bundles. (see [[Dysoweb Application Structure>>Dysoweb]]) |
2 | |
3 | The OSGi community has created numerous tools to create OSGi bundles and continues to improve those tools and add new ones. Stay tuned, since this is an evolving subject (BTW you may contribute new tools as well) |
4 | |
5 | |
6 | You have basically 2 options (Please feel free to edit this page if you know other and better solutions): Maven or Eclipse PDE |
7 | |
8 | I don't think one is better than the other at this point. Eclipse is good for testing something and prototyping, maven is better for a solid released solution. (But that's my opinion only). I would probably recommand that one starts with Eclipse for trial purposes and evaluates maven when things get clearer. |
9 | |
10 | It is also my opinion that the maven route could be improved to better handle the bundle generation in "debug" mode. |
11 | |
12 | == The maven route == |
13 | |
14 | Creating a bundle with maven is done with the maven bundle plugin created by Peter Kriens. |
15 | |
16 | Pro: |
17 | |
18 | * Maven handles well the build/release process, and fits well into organisations that are already committed to maven |
19 | * Defines a "standard" directory template |
20 | * Good at bundle versionning |
21 | |
22 | Cons: |
23 | |
24 | * More complicated to put in place |
25 | * Create a jar by default, and therefore more difficult to handle a fast code/compile/test/debug cycle |
26 | * Need to locate all external artifacts (jar) on ibiblio or deploy them to a local maven repo |
27 | |
28 | To create a dysoweb application with maven, see: [[Create Dysoweb application with Maven]] |
29 | |
30 | == The Eclipse PDE route == |
31 | |
32 | The PDE in Eclipse (Plugin Development Environment) was initially developped to help developpers create plugins for Eclipse. Since Eclipse is based on OSGi (Equinox) and plugins are OSGi bundles, you can use the PDE to create Dysoweb applications. |
33 | |
34 | Pro: |
35 | |
36 | * Quick and Easy to create a DysoWeb application with the use of templates |
37 | * Editors to edit the manifest |
38 | * The project layout (directory structure) is closed to what gets jared in the bundle. |
39 | * Faster Compile/Test/Debug cycle |
40 | |
41 | Cons |
42 | |
43 | * Build for release process more complicated to put in place |
44 | * Version must be handled manually |
45 | * Package imports must be defined manually |
46 | |
47 | To create a dysoweb application with eclipse PDE, see [[Create Dysoweb application with Eclipse PDE]] |