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 ;-)

Reply via email to