directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Seelmann <m...@stefan-seelmann.de>
Subject Re: [Studio] heads up
Date Sat, 20 Dec 2014 16:54:36 GMT
Hi Emmanuel,

I think there is no need to run the full "install" lifecycle, isn't it
enought to run the bundle:manifest goal only to generate the manifests?
Then also no order is required and no compilation will happen.

    mvn -f pom-first.xml bundle:manifest

The main build is then be done by the "normal" pom.xml and Tycho:

    mvn clean install

WDYT?

Kind Regards,
Stefan


On 12/20/2014 05:23 PM, Emmanuel L├ęcharny wrote:
> 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 ;-)
> 


Mime
View raw message