You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Stefan Seelmann <ma...@stefan-seelmann.de> on 2014/12/02 19:43:01 UTC

Validation of ApacheDS OSGi bundles

Hi all,

As you know we try to migrate Studio to Tycho build, and always want to
use the latest and greates build of JDBM, Mavibot, API, and ApacheDS. It
happened the released artifacts are no valid OSGi bundles or have
invalid MANIFEST.MF. But even worse is that in the Tycho build the error
messages are not really explicit, it is very hard to find the problem.

What I dream from is to have some mechanism to avoid that problems and
to identify OSGi related problems early. I don't have enough knowledge
which tools exists out there, so maybe an OSGi export can help.

First idea I have is to have a test that checks that each single
artifact is a valid bundle.

Second thing would be some kind of integration test that starts an OSGi
runtime (preferred both Equinox and Felix/Karaf) and installs all
ApacheDS bundles, to verify that all dependencies can be resolved.

Third idea would be to even startup ApacheDS in that runtime, but maybe
that requires more work.

Any ideas or further suggestions are welcomed.

Kind Regards,
Stefan

Re: Validation of ApacheDS OSGi bundles

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 12/11/2014 09:02 PM, Emmanuel Lécharny wrote:
> Le 11/12/14 19:59, Stefan Seelmann a écrit :
>> On 12/11/2014 07:51 PM, Emmanuel Lécharny wrote:
>>> But at some point, we should get rid of the
>>> hand-drafter manifests, and make them generated by the felix plugin.
>> I think that is not possible, Tycho requires manifest first approach...
> 
> Okie...

Hm, hopefully I'm wrong :)

See commit http://svn.apache.org/r1644779

I created 2nd pom (pom-first.xml) that are only meant to generate the
manifest, currently only for one plugin. Run maven with

    $ mvn -f pom-first.xml bundle:manifest

to generate the manifest.

It's still not perfect and needs to be tweaked but at least the maven
varibles can be used.

Kind Regards,
Stefan



Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 11/12/14 19:59, Stefan Seelmann a écrit :
> On 12/11/2014 07:51 PM, Emmanuel Lécharny wrote:
>> But at some point, we should get rid of the
>> hand-drafter manifests, and make them generated by the felix plugin.
> I think that is not possible, Tycho requires manifest first approach...

Okie...




Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Here is the list of dependencies, per LDAP API module, with the imported
packages (<<) and exported packages (-->>) :

1) api-i18n

2) api-util
    junit-addons-0.1[test]
        junit-4.11[test]
        hamcrest-core-1.3[test]
    slf4j-api-1.7.7
    slf4j-log4j12-1.7.7
        slf4j-api-1.7.7
      log4j-1.2.17
    api-i18n-1.0.0-M27-SNAPSHOT
   
    -->> org.apache.directory.api.util, 1.0.0-M27-SNAPSHOT
   
    << org.apache.directory.api.i18n, 1.0.0-M27-SNAPSHOT
    << org.slf4j, 1.7.7
   
3) asn1/api-asn1-api
    junit-addons-0.1[test]
        junit-4.11[test]
        hamcrest-core-1.3[test]
    api-i18n-1.0.0-M27-SNAPSHOT

    -->> org.apache.directory.api.asn1, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.asn1.util, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0-M27-SNAPSHOT
   
4) asn1/api-asn1-ber
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    slf4j-api-1.7.7
    annotations-1.0.0
    api-i18n-1.0.0-M27-SNAPSHOT
    api-asn1-api-1.0.0-M27-SNAPSHOT
    api-util-1.0.0-M27-SNAPSHOT

5) ldap/model
    annotations-1.0.0
    antlr-2.7.7
    api-asn1-api-1.0.0-M27-SNAPSHOT
    api-asn1-ber-1.0.0-M27-SNAPSHOT
    api-i18n-1.0.0-M27-SNAPSHOT
    api-util-1.0.0-M27-SNAPSHOT
    commons-collections-3.2.1
    commons-lang-2.6
    mina-core-2.0.9
      slf4j-api-1.7.7
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    slf4j-api-1.7.7


    -->> org.apache.directory.api.ldap.model.constants, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.csn, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.cursor, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.entry, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.exception, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.filter, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.ldif, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.message, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.message.controls,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.message.extended,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.name, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.password, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema.comparators,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema.normalizers,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema.parsers,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema.registries,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema.registries.helper,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.schema.syntaxCheckers,
1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.subtree, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.model.url, 1.0.0-M27-SNAPSHOT
    << antlr, 2.7.7
    << antlr.collections.impl, 2.7.7
    << org.apache.commons.collections, 3.2.1
    << org.apache.commons.collections.list, 3.2.1
    << org.apache.commons.collections.map, 3.2.1
    << org.apache.commons.lang, 2.6
    << org.apache.commons.lang.exception, 2.6
    << org.apache.directory.api.asn1, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.util.exception, 1.0.0-M27-SNAPSHOT
    << org.slf4j, 1.7.7

6) codec/core
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-util-1.0.0-M27-SNAPSHOT
    api-asn1-api-1.0.0-M27-SNAPSHOT
    api-asn1-ber-1.0.0-M27-SNAPSHOT
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    mina-core-2.0.9
      slf4j-api-1.7.7
    commons-lang-2.6
    commons-collections-3.2.1
    org.osgi-3.0.0
     
    -->> org.apache.directory.api.ldap.codec, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.actions, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.actions.*, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.api, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.controls, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.controls.*, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.decorators, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.osgi, 1.0.0-M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.codec.search, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.asn1, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.asn1.actions, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.asn1.ber, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.asn1.ber.grammar, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.asn1.ber.tlv, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.asn1.util, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.filter, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message.controls,
1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.url, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0-M27-SNAPSHOT
    << org.apache.directory.api.util.exception, 1.0.0-M27-SNAPSHOT
    << org.apache.mina.filter.codec, 2.0.9
    << org.apache.mina.util, 2.0.9
    << org.slf4j, 1.7.7

7) net/mina
    api-ldap-codec-core-1.0.0-M27-SNAPSHOT
    mina-core-2.0.9
        slf4j-api-1.7.7
    org.osgi-3.0.0
    junit-4.11[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    hamcrest-core-1.3[test]
    slf4j-api-1.7.7
    antlr-2.7.7
    commons-lang-2.6
    commons-collections-3.2.1
   
    -->> org.apache.directory.api.ldap.codec.protocol.mina,
1.0.0.M27-SNAPSHOT

    << org.apache.directory.api.asn1, 1.0.0.M27-SNAPSHOT
     << org.apache.directory.api.asn1.ber, 1.0.0.M27-SNAPSHOT
     << org.apache.directory.api.asn1.ber.tlv, 1.0.0.M27-SNAPSHOT
     << org.apache.directory.api.ldap.codec.api, 1.0.0.M27-SNAPSHOT
     << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
     << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
     << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.apache.mina.core.buffer, 2.0.9
    << org.apache.mina.core.session, 2.0.9
    << org.apache.mina.filter.codec, 2.0.9
    << org.slf4j, 1.7.7

8) extras/codec-api
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-ldap-model-1.0.0-M27-SNAPSHOT
    annotations-1.0.0

    << org.apache.directory.api.asn1.ber.tlv, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message.controls,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util.exception, 1.0.0.M27-SNAPSHOT

    -->> org.apache.directory.api.ldap.extras.controls, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.controls.ad,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.controls.ppolicy,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.controls.syncrepl.syncDone,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.controls.syncrepl.syncInfoValue,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.controls.syncrepl.syncState,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.cancel,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.certGeneration,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.gracefulDisconnect,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.gracefulShutdown,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.pwdModify,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.startTls,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.storedProcedure,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.whoAmI,
1.0.0.M27-SNAPSHOT

9) extras/codec
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-ldap-codec-core-1.0.0-M27-SNAPSHOT
    api-ldap-extras-codec-1.0.0-M27-SNAPSHOT
    org.osgi-3.0.0

    << org.apache.directory.api.asn1, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.asn1.actions, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.asn1.ber, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.asn1.ber.grammar, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.asn1.ber.tlv, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.codec.api, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls.ad, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls.ppolicy,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls.syncrepl.syncDone,
1.0.0.M27-SNAPSHOT
    <<
org.apache.directory.api.ldap.extras.controls.syncrepl.syncInfoValue,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls.syncrepl.syncState,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.cancel,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.certGeneration,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.gracefulDisconnect,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.gracefulShutdown,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.pwdModify,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.startTls,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.storedProcedure,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.whoAmI,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.url, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.slf4j, 1.7.7

    -->> org.apache.directory.api.ldap.extras.controls.ad_impl,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.controls.ppolicy_impl,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.controls.syncrepl_impl,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.ads_impl.cancel,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.ads_impl.certGeneration,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulDisconnect,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.ads_impl.gracefulShutdown,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.ads_impl.pwdModify,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.ads_impl.startTls,
1.0.0.M27-SNAPSHOT
    -->>
org.apache.directory.api.ldap.extras.extended.ads_impl.storedProcedure,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.extras.extended.ads_impl.whoAmI,
1.0.0.M27-SNAPSHOT
 
10) codec/standalone *** NOT OSGI !!! ***
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-net-mina-1.0.0-M27-SNAPSHOT
    api-ldap-codec-core-1.0.0-M27-SNAPSHOT
    api-ldap-extras-codec-1.0.0-M27-SNAPSHOT
    mina-core-2.0.9
        slf4j-api-1.7.7

11) dsml/parser
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-ldap-codec-standalone-1.0.0-M27-SNAPSHOT
    api-ldap-codec-core-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    dom4j-1.6.1
      xml-apis-1.0.b2
    xpp3-1.1.4c
    annotations-1.0.0

    << org.apache.directory.api.asn1, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.asn1.util, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.codec.api, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.filter, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.ldif, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message.controls,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.url, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.dom4j, 1.6.1
    << org.dom4j.io, 1.6.1
    << org.dom4j.tree, 1.6.1
    << org.slf4j, 1.7.7
    << org.xmlpull.v1, 1.1.0.4c

    -->> org.apache.directory.api.dsmlv2, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.dsmlv2.request, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.dsmlv2.response, 1.0.0.M27-SNAPSHOT

12) dsml/engine
    api-i18n-1.0.0-M27-SNAPSHOT
    api-dsml-parser-1.0.0-M27-SNAPSHOT
    api-ldap-api-client-1.0.0-M27-SNAPSHOT
    xpp3-1.1.4c
    dom4j-1.6.1
      xml-apis-1.0.b2

      << org.apache.directory.api.asn1, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.dsmlv2, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.dsmlv2.request, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.dsmlv2.response, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.ldap.model.cursor, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
      << org.apache.directory.ldap.client.api, 1.0.0.M27-SNAPSHOT
      << org.dom4j, 1.6.1
      << org.slf4j, 1.7.7
      << org.xmlpull.v1, 1.1.0.4c
     
      -->> org.apache.directory.api.dsmlv2.engine, 1.0.0.M27-SNAPSHOT


13) extras/aci
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-util-1.0.0-M27-SNAPSHOT
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    antlr-2.7.7
   
    << antlr, 2.7.7
    << antlr.collections.impl, 2.7.7
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.filter, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema.normalizers,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.subtree, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.slf4j, 1.7.7

    -->> org.apache.directory.api.ldap.aci, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.aci.protectedItem, 1.0.0.M27-SNAPSHOT
   
14) schema/data
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    api-ldap-extras-aci-1.0.0-M27-SNAPSHOT
    commons-io-2.4[test]
   
    << org.apache.directory.api.asn1.util, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.ldif, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema.normalizers,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema.parsers,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema.registries,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.slf4j, 1.7.7"

    -->> org.apache.directory.api.ldap.schemaextractor, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.schemaextractor.impl,
1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.schemaloader, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.schemamanager.impl,
1.0.0.M27-SNAPSHOT

15) client/api
    junit-4.11[test]
      hamcrest-core-1.3[test]
    api-ldap-schema-data-1.0.0-M27-SNAPSHOT
    api-ldap-codec-core-1.0.0-M27-SNAPSHOT
    api-ldap-extras-codec-1.0.0-M27-SNAPSHOT
    api-ldap-extras-codec-api-1.0.0-M27-SNAPSHOT
    commons-pool-1.6
    mina-core-2.0.9
        slf4j-api-1.7.7

    << org.apache.commons.pool, 1.6
    << org.apache.commons.pool.impl, 1.6
    << org.apache.directory.api.asn1, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.asn1.util, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.codec.api, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls.ppolicy,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.controls.ppolicy_impl,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.startTls,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.cursor, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message.controls,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message.extended,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema.parsers,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema.registries,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.schemamanager.impl, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.apache.mina.core.filterchain, 1.0.0.M27-SNAPSHOT
    << org.apache.mina.core.future, 2.0.9
    << org.apache.mina.core.service, 2.0.9
    << org.apache.mina.core.session, 2.0.9
    << org.apache.mina.filter.codec, 2.0.9
    << org.apache.mina.filter.ssl, 2.0.9
    << org.apache.mina.transport.socket.nio, 2.0.9
    << org.slf4j, 1.7.7
   
    -->> org.apache.directory.ldap.client.api, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.ldap.client.api.callback, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.ldap.client.api.exception,
1.0.0.M27-SNAPSHOT    
    -->> org.apache.directory.ldap.client.api.future, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.ldap.client.template, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.ldap.client.template.exception,
1.0.0.M27-SNAPSHOT
   
16) extras/util
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-codec-core-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT

    << org.apache.directory.api.asn1;, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.codec.api, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.slf4j, 1.7.7
   
    -->> org.apache.directory.api.ldap.util, 1.0.0.M27-SNAPSHOT
    -->> org.apache.directory.api.ldap.util.tree, 1.0.0.M27-SNAPSHOT
 
17) extras/sp
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-util-1.0.0-M27-SNAPSHOT
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    api-ldap-extras-codec-1.0.0-M27-SNAPSHOT
    api-ldap-extras-util-1.0.0-M27-SNAPSHOT
    commons-io-2.4
    commons-lang-2.6

    << org.apache.commons.io, 2.4
    << org.apache.commons.lang, 2.6
    << org.apache.directory.api.ldap.codec.api, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.extras.extended.storedProcedure,
1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
 
    -->> org.apache.directory.api.ldap.trigger, 1.0.0.M27-SNAPSHOT
 
18) extras/triggers
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    api-util-1.0.0-M27-SNAPSHOT
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    antlr-2.7.7
    commons-lang-2.6
   
    << antlr, 2.7.7
    << antlr.collections.impl, 2.7.7
    << org.apache.commons.lang, 2.6
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.message, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema, 1.0.0.M27-SNAPSHOT
    << org.slf4j, 1.7.7"
     
    -->> org.apache.directory.api.ldap.trigger, 1.0.0.M27-SNAPSHOT

19) schema/converter
    junit-addons-0.1[test]
      junit-4.11[test]
        hamcrest-core-1.3[test]
    commons-lang-2.6
    api-i18n-1.0.0-M27-SNAPSHOT
    api-ldap-model-1.0.0-M27-SNAPSHOT
    api-util-1.0.0-M27-SNAPSHOT
    antlr-2.7.7

    << antlr, 2.7.7
    << antlr.collections.impl, 2.7.7
    << org.apache.commons.lang.exception, [2.6,3)
    << org.apache.directory.api.i18n, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.constants, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.entry, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.exception, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.ldif, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.name, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.ldap.model.schema, 1.0.0.M27-SNAPSHOT
    << org.apache.directory.api.util, 1.0.0.M27-SNAPSHOT
    << org.slf4j, 1.7.7

    -->> org.apache.directory.api.ldap.converter.schema, 1.0.0.M27-SNAPSHOT


Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lecharny <el...@apache.org>.
This link propose a solution based on macros :
https://davidvaleri.wordpress.com/2011/04/07/secrets-of-the-felix-bundle-plug-in-macros-revealed/

That should solve the range issue in an elegant way.

As I'll be away from my computer for 4 days I won't be able to test it...


Le jeudi 11 décembre 2014, Stefan Seelmann <ma...@stefan-seelmann.de> a
écrit :

> On 12/11/2014 09:09 PM, Emmanuel Lécharny wrote:
> > Another question :
> >
> > we have imports in LDAP API which may be problematic at some point :
> >
> >     org.apache.commons.lang;version="2.6"
> >
> > shouldn't we declare that instead ? :
> >
> >     org.apache.commons.lang;version="[2.6,3)"
> >
> > If so, how do we make Felix generate the MANIFEST from what we decalre
> > in the pom.xml ?
> >
> > (I'm refering to schema-converter which has such a commons.long
> > declaration, and there are some <![CDATA[ ... ]]> declaration in the
> > polm, not sure it's related)
>
> In schema-converter I tried to achieve such a version range. Adding it
> to the instructions didn't work. Then I found somewhere in the internet
> the hint with CDATA but that didn't work either. What worked then is to
> remove org.apache.commons.lang from instructions and put the "*" to the
> end of the <Import-Packages> instruction.
>
> Kind Regards,
> Stefan
>
>
>

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Re: Validation of ApacheDS OSGi bundles

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 12/11/2014 09:09 PM, Emmanuel Lécharny wrote:
> Another question :
> 
> we have imports in LDAP API which may be problematic at some point :
> 
>     org.apache.commons.lang;version="2.6"
> 
> shouldn't we declare that instead ? :
> 
>     org.apache.commons.lang;version="[2.6,3)"
> 
> If so, how do we make Felix generate the MANIFEST from what we decalre
> in the pom.xml ?
> 
> (I'm refering to schema-converter which has such a commons.long
> declaration, and there are some <![CDATA[ ... ]]> declaration in the
> polm, not sure it's related)

In schema-converter I tried to achieve such a version range. Adding it
to the instructions didn't work. Then I found somewhere in the internet
the hint with CDATA but that didn't work either. What worked then is to
remove org.apache.commons.lang from instructions and put the "*" to the
end of the <Import-Packages> instruction.

Kind Regards,
Stefan



Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Another question :

we have imports in LDAP API which may be problematic at some point :

    org.apache.commons.lang;version="2.6"

shouldn't we declare that instead ? :

    org.apache.commons.lang;version="[2.6,3)"

If so, how do we make Felix generate the MANIFEST from what we decalre
in the pom.xml ?

(I'm refering to schema-converter which has such a commons.long
declaration, and there are some <![CDATA[ ... ]]> declaration in the
polm, not sure it's related)


Re: Validation of ApacheDS OSGi bundles

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 12/11/2014 07:51 PM, Emmanuel Lécharny wrote:
> But at some point, we should get rid of the
> hand-drafter manifests, and make them generated by the felix plugin.

I think that is not possible, Tycho requires manifest first approach...


Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 11/12/14 19:36, Stefan Seelmann a écrit :
> On 12/11/2014 05:59 PM, Emmanuel Lécharny wrote:
>> Hi !
>>
>> today, I spent some time on checking *all* the dependencies for LDAP
>> API, and all the imported and exported packages. I removed a few useless
>> dependencies.
>>
>> One whic I think might be troublesome is a dependency on xml-apis 2.0.2
>> in dsml/parser, when it internally uses dom4j, which depends on xml-apis
>> 1.0.b2. That *might* explain the pb we have when trying to build Studio
>> with the latest API version (not sure though).
>>
>> I still have a few modules to check, then I'll have to test the build
>> with a API 1.0.0-M27-SNAPSHOT, which is everything but simple (I'm
>> afraid I'lm have to update the various manifest with the generated
>> versions, which is all but funny...)
>>
>> Stefan, do you have a better idea ?
> sed for the rescue?
>
> find . -name MANIFEST.MF | xargs sed -i
> 's/\(org\.apache\.directory\.api.*\)\(1\.0\.0\.M24\)/\11.0.0.M27-SNAPSHOT/g'
>
>
> The p2-maven-plugin we use for generating the P2 repo of the
> eclipse-target-platform doesn't support "-SNAPSHOT" versions but
> replaces "-SNAPSHOT" with the current timestamp. 

I will try that.

> There is an issue [1]
> to change that. As a quick fix I cloned the source, did the following
> change, built it and use that patched version in
> eclipse-target-platform/pom.xml:
>
> diff --git a/src/main/java/org/reficio/p2/utils/JarUtils.java
> b/src/main/java/org/reficio/p2/utils/JarUtils.java
> index 67be51f..33889a6 100644
> --- a/src/main/java/org/reficio/p2/utils/JarUtils.java
> +++ b/src/main/java/org/reficio/p2/utils/JarUtils.java
> @@ -137,7 +137,7 @@ public class JarUtils {
>          } else if (version.contains(OSGI_SNAPSHOT_POSTFIX)) {
>              tweakedVersion =
> tweakedVersion.replace(OSGI_SNAPSHOT_POSTFIX, "." + getTimeStamp());
>          }
> -        return tweakedVersion;
> +        return version;
>      }

Sounds like a workaround. But at some point, we should get rid of the
hand-drafter manifests, and make them generated by the felix plugin.



Re: Validation of ApacheDS OSGi bundles

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 12/11/2014 05:59 PM, Emmanuel Lécharny wrote:
> Hi !
> 
> today, I spent some time on checking *all* the dependencies for LDAP
> API, and all the imported and exported packages. I removed a few useless
> dependencies.
> 
> One whic I think might be troublesome is a dependency on xml-apis 2.0.2
> in dsml/parser, when it internally uses dom4j, which depends on xml-apis
> 1.0.b2. That *might* explain the pb we have when trying to build Studio
> with the latest API version (not sure though).
> 
> I still have a few modules to check, then I'll have to test the build
> with a API 1.0.0-M27-SNAPSHOT, which is everything but simple (I'm
> afraid I'lm have to update the various manifest with the generated
> versions, which is all but funny...)
> 
> Stefan, do you have a better idea ?

sed for the rescue?

find . -name MANIFEST.MF | xargs sed -i
's/\(org\.apache\.directory\.api.*\)\(1\.0\.0\.M24\)/\11.0.0.M27-SNAPSHOT/g'


The p2-maven-plugin we use for generating the P2 repo of the
eclipse-target-platform doesn't support "-SNAPSHOT" versions but
replaces "-SNAPSHOT" with the current timestamp. There is an issue [1]
to change that. As a quick fix I cloned the source, did the following
change, built it and use that patched version in
eclipse-target-platform/pom.xml:

diff --git a/src/main/java/org/reficio/p2/utils/JarUtils.java
b/src/main/java/org/reficio/p2/utils/JarUtils.java
index 67be51f..33889a6 100644
--- a/src/main/java/org/reficio/p2/utils/JarUtils.java
+++ b/src/main/java/org/reficio/p2/utils/JarUtils.java
@@ -137,7 +137,7 @@ public class JarUtils {
         } else if (version.contains(OSGI_SNAPSHOT_POSTFIX)) {
             tweakedVersion =
tweakedVersion.replace(OSGI_SNAPSHOT_POSTFIX, "." + getTimeStamp());
         }
-        return tweakedVersion;
+        return version;
     }

Kind Regards,
Stefan


[1] https://github.com/reficio/p2-maven-plugin/issues/59



Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 11/12/14 18:16, Emmanuel Lécharny a écrit :
> Le 11/12/14 17:59, Emmanuel Lécharny a écrit :
>> Hi !
>>
>> today, I spent some time on checking *all* the dependencies for LDAP
>> API, and all the imported and exported packages. I removed a few useless
>> dependencies.
>>
>> One whic I think might be troublesome is a dependency on xml-apis 2.0.2
>> in dsml/parser, when it internally uses dom4j, which depends on xml-apis
>> 1.0.b2. That *might* explain the pb we have when trying to build Studio
>> with the latest API version (not sure though).
>>
>> I still have a few modules to check, then I'll have to test the build
>> with a API 1.0.0-M27-SNAPSHOT, which is everything but simple (I'm
>> afraid I'lm have to update the various manifest with the generated
>> versions, which is all but funny...)
>>
>> Stefan, do you have a better idea ?
> Ok, I found another error wich is more lakely the root cause of the
> failure. The dsml-engine MANIFEST.MF file contains that :
>
> ...
> org.dom4j;version=${prg.dom4j.version},
> ...
>
> Unlikely to please the build...
And another error :

              org.apache.mina.core.filterchain;version=${.version},

instead of :
              org.apache.mina.core.filterchain;version=${mina.core.version},

in api-ldap-client-api :/


Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 11/12/14 17:59, Emmanuel Lécharny a écrit :
> Hi !
>
> today, I spent some time on checking *all* the dependencies for LDAP
> API, and all the imported and exported packages. I removed a few useless
> dependencies.
>
> One whic I think might be troublesome is a dependency on xml-apis 2.0.2
> in dsml/parser, when it internally uses dom4j, which depends on xml-apis
> 1.0.b2. That *might* explain the pb we have when trying to build Studio
> with the latest API version (not sure though).
>
> I still have a few modules to check, then I'll have to test the build
> with a API 1.0.0-M27-SNAPSHOT, which is everything but simple (I'm
> afraid I'lm have to update the various manifest with the generated
> versions, which is all but funny...)
>
> Stefan, do you have a better idea ?

Ok, I found another error wich is more lakely the root cause of the
failure. The dsml-engine MANIFEST.MF file contains that :

...
org.dom4j;version=${prg.dom4j.version},
...

Unlikely to please the build...

Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Hi !

today, I spent some time on checking *all* the dependencies for LDAP
API, and all the imported and exported packages. I removed a few useless
dependencies.

One whic I think might be troublesome is a dependency on xml-apis 2.0.2
in dsml/parser, when it internally uses dom4j, which depends on xml-apis
1.0.b2. That *might* explain the pb we have when trying to build Studio
with the latest API version (not sure though).

I still have a few modules to check, then I'll have to test the build
with a API 1.0.0-M27-SNAPSHOT, which is everything but simple (I'm
afraid I'lm have to update the various manifest with the generated
versions, which is all but funny...)

Stefan, do you have a better idea ?

Re: Validation of ApacheDS OSGi bundles

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 12/05/2014 03:55 PM, Emmanuel Lécharny wrote:
> 
> What about using pax-exam ?
> 
> 
> http://docs.peergreen.com/peergreen_server/latest/reference/xhtml-single/peergreen-server-osgi-paxexam-junit-guide.xhtml
> 

That looks very promising, I already played a bit with it. Many thanks
for the pointer!


Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 02/12/14 19:43, Stefan Seelmann a écrit :
> Hi all,
>
> As you know we try to migrate Studio to Tycho build, and always want to
> use the latest and greates build of JDBM, Mavibot, API, and ApacheDS. It
> happened the released artifacts are no valid OSGi bundles or have
> invalid MANIFEST.MF. But even worse is that in the Tycho build the error
> messages are not really explicit, it is very hard to find the problem.
>
> What I dream from is to have some mechanism to avoid that problems and
> to identify OSGi related problems early. I don't have enough knowledge
> which tools exists out there, so maybe an OSGi export can help.
>
> First idea I have is to have a test that checks that each single
> artifact is a valid bundle.
>
> Second thing would be some kind of integration test that starts an OSGi
> runtime (preferred both Equinox and Felix/Karaf) and installs all
> ApacheDS bundles, to verify that all dependencies can be resolved.
>
> Third idea would be to even startup ApacheDS in that runtime, but maybe
> that requires more work.
>
> Any ideas or further suggestions are welcomed.
>
> Kind Regards,
> Stefan

What about using pax-exam ?


http://docs.peergreen.com/peergreen_server/latest/reference/xhtml-single/peergreen-server-osgi-paxexam-junit-guide.xhtml

Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 02/12/14 19:43, Stefan Seelmann a écrit :
> Hi all,
>
> As you know we try to migrate Studio to Tycho build, and always want to
> use the latest and greates build of JDBM, Mavibot, API, and ApacheDS. It
> happened the released artifacts are no valid OSGi bundles or have
> invalid MANIFEST.MF. But even worse is that in the Tycho build the error
> messages are not really explicit, it is very hard to find the problem.
>
> What I dream from is to have some mechanism to avoid that problems and
> to identify OSGi related problems early. I don't have enough knowledge
> which tools exists out there, so maybe an OSGi export can help.

I'll ask some fellow OSGi open-sourcers to see if they have some good
tools/best practices to solve this painfull issue.

Obviously, we can't keep going the way we do atm, it's just too much a
pain. A single error in a dependency manifest (like the one in
ldap-client-api), and you are doomed to serach for yours what's wrong...

(I have to say that I wonder how you did found this one, Stefan...)
>
> First idea I have is to have a test that checks that each single
> artifact is a valid bundle.
We can add a ant task that does that in our maven build, or add a script
in project/resources that does this check.

>
> Second thing would be some kind of integration test that starts an OSGi
> runtime (preferred both Equinox and Felix/Karaf) and installs all
> ApacheDS bundles, to verify that all dependencies can be resolved.

That would be great to have.

>
> Third idea would be to even startup ApacheDS in that runtime, but maybe
> that requires more work.

That precludes teh first two steps have been fulfilled.

I'll be back with some more (usefull) ideas later...


Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 11/12/14 18:37, Stefan Seelmann a écrit :
> On 12/11/2014 05:59 PM, Emmanuel Lécharny wrote:
>> Le 11/12/14 10:24, Jeff MAURY a écrit :
>>> The impact is quite simple: build is failing (as of today) !!!!
>> It's fixed. And it builds.
> Unfortunately not, if I delete it from my local ~/.m2/repostory the
> build fails because in plugins/ldapbrowser.core/pom.xml we still
> reference it and ExportOdfRunnable we use that API. So need to remove it
> from the pom and remove/comment out the code till we switch to OdfToolkit.
rahhh...


>
> Any info why it was removed?

No idea.

We can switch to odfToolkit, it's not such a big deal.


Re: Validation of ApacheDS OSGi bundles

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
On 12/11/2014 05:59 PM, Emmanuel Lécharny wrote:
> Le 11/12/14 10:24, Jeff MAURY a écrit :
>> The impact is quite simple: build is failing (as of today) !!!!
> 
> It's fixed. And it builds.

Unfortunately not, if I delete it from my local ~/.m2/repostory the
build fails because in plugins/ldapbrowser.core/pom.xml we still
reference it and ExportOdfRunnable we use that API. So need to remove it
from the pom and remove/comment out the code till we switch to OdfToolkit.

Any info why it was removed?

Kind Regards,
Stefan



Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 11/12/14 10:24, Jeff MAURY a écrit :
> The impact is quite simple: build is failing (as of today) !!!!

It's fixed. And it builds.


Re: Validation of ApacheDS OSGi bundles

Posted by Jeff MAURY <je...@jeffmaury.com>.
The impact is quite simple: build is failing (as of today) !!!!

Jeff

On Thu, Dec 11, 2014 at 9:32 AM, Emmanuel Lécharny <el...@gmail.com>
wrote:

> Seems like the odfdom jar is not present on maven central (thanks
> Jean-François Maury).
>
> I wonder what kind of impact it has on the tycho build...
>



-- 
Jeff MAURY


"Legacy code" often differs from its suggested alternative by actually
working and scaling.
 - Bjarne Stroustrup

http://www.jeffmaury.com
http://riadiscuss.jeffmaury.com
http://www.twitter.com/jeffmaury

Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Seems like the odfdom jar is not present on maven central (thanks
Jean-François Maury).

I wonder what kind of impact it has on the tycho build...

Re: Validation of ApacheDS OSGi bundles

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 02/12/14 19:43, Stefan Seelmann a écrit :
> Hi all,
>
> As you know we try to migrate Studio to Tycho build, and always want to
> use the latest and greates build of JDBM, Mavibot, API, and ApacheDS. It
> happened the released artifacts are no valid OSGi bundles or have
> invalid MANIFEST.MF. But even worse is that in the Tycho build the error
> messages are not really explicit, it is very hard to find the problem.
>
> What I dream from is to have some mechanism to avoid that problems and
> to identify OSGi related problems early. I don't have enough knowledge
> which tools exists out there, so maybe an OSGi export can help.
>
> First idea I have is to have a test that checks that each single
> artifact is a valid bundle.
>
> Second thing would be some kind of integration test that starts an OSGi
> runtime (preferred both Equinox and Felix/Karaf) and installs all
> ApacheDS bundles, to verify that all dependencies can be resolved.
>
> Third idea would be to even startup ApacheDS in that runtime, but maybe
> that requires more work.
>
> Any ideas or further suggestions are welcomed.
>
> Kind Regards,
> Stefan


What about http://www.aqute.biz/Bnd/CommandLine ?