Hi ! so I implemented all the poml-first files, and it was not that complex. I then tried to run a maven build...
First of all, I had to add the missing dependency on junit, for tests to compile. Not a big deal, only a few modules requires this dependency. Then, I tried to run : mvn -f pom-first.xml install -DskipTests (I don't need to run tests). first run : [INFO] parent ............................................ SUCCESS [ 1.682 s] [INFO] parent-plugins .................................... SUCCESS [ 0.034 s] [INFO] Apache Directory Studio ACI Item Editor Manifest Generation FAILURE [ 1.856 s] ... The errors are : [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/elecharny/apacheds/stycho/plugins/aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java:[24,62] package org.apache.directory.studio.ldapbrowser.common.dialogs does not exist [ERROR] /Users/elecharny/apacheds/stycho/plugins/aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java:[25,62] package org.apache.directory.studio.ldapbrowser.common.dialogs does not exist [ERROR] /Users/elecharny/apacheds/stycho/plugins/aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java:[26,58] package org.apache.directory.studio.ldapbrowser.core.model does not exist [ERROR] /Users/elecharny/apacheds/stycho/plugins/aciitemeditor/src/main/java/org/apache/directory/studio/aciitemeditor/valueeditors/FilterValueEditor.java:[27,58] package org.apache.directory.studio.ldapbrowser.core.model does not exist second run : [INFO] parent ............................................ SUCCESS [ 1.194 s] [INFO] parent-plugins .................................... SUCCESS [ 0.030 s] [INFO] Apache Directory Studio ACI Item Editor Manifest Generation SUCCESS [ 3.283 s] [INFO] Apache Directory Studio ApacheDS Configuration Manifest Generation FAILURE [ 2.477 s] ... third run : [INFO] parent ............................................ SUCCESS [ 1.208 s] [INFO] parent-plugins .................................... SUCCESS [ 0.026 s] [INFO] Apache Directory Studio ACI Item Editor Manifest Generation SUCCESS [ 3.109 s] [INFO] Apache Directory Studio ApacheDS Configuration Manifest Generation SUCCESS [ 3.671 s] [INFO] Apache Directory Studio ApacheDS 2.0 Configuration Manifest Generation FAILURE [ 1.262 s] ... As you can see, every time you re-run the build, one more module gets successfully build. The pb is that the build order is not the expected one : acieditor, which gets built first, depends on ldapbrowser.common, etc. Eventually, if you just move on module by module, you end with a final failure on the last module, schemaeditor. Here are the errors you get : [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/elecharny/apacheds/stycho/plugins/schemaeditor/src/test/java/org/apache/directory/studio/schemaeditor/model/difference/DifferenceEngineTest.java:[28,50] package org.apache.directory.api.ldap.model.schema does not exist [ERROR] /Users/elecharny/apacheds/stycho/plugins/schemaeditor/src/test/java/org/apache/directory/studio/schemaeditor/model/difference/DifferenceEngineTest.java:[29,50] package org.apache.directory.api.ldap.model.schema does not exist [ERROR] /Users/elecharny/apacheds/stycho/plugins/schemaeditor/src/test/java/org/apache/directory/studio/schemaeditor/model/difference/DifferenceEngineTest.java:[30,50] package org.apache.directory.api.ldap.model.schema does not exist ... So there is some more work to do. 1) I have to re-order the plugins modules. They are clearly out of order. 2) I have to understand why the schemaeditor module does not compile 3) There is a mix of Import-Package and Require-Bundle. This is not good. We shoudl discuss what we should do here, bu my take is that we should use Import-Package for third paty dependencies (commons-lang, etc) and Require-Bundle for our own components. 4) I have tried with the latest LDAP-API SNAPSHOT, but then I'm facing another issue : there is one dependency that has some class at the top level, which is stricly verboten. I still have to figure out which one (see https://developer.atlassian.com/docs/faq/plugin-framework-faq/using-jdom-in-osgi for more insight on why could be the pb). 5) OSGi does not really like SNAPSHOT a lot. I still have to firgure oiut how to use them (there must be a solution, I just didn't had time to investigate too much) That's just a heads up, I still have some files to commit, but this seems teh right approach to get the manifest geenrated automatically instead of handling them ourselves using an editor... It makes me think that even if we successfully succeed, we will have one more himalaya to climb : releases... Being a developper is the guarantee not to be bored, especially during the long winter nights ;-)
