You pointed me at where it is documented in the OSGi Javadoc: http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Constants.html#IMPORT_SERVICE
Alasdair On 11 March 2010 11:48, Guillaume Nodet <[email protected]> wrote: > On Thu, Mar 11, 2010 at 12:35, Alasdair Nottingham <[email protected]> wrote: >> As I have explained before I am -1 for this for the following reason: >> >> 1. I hate any type of double definition. It just results in errors >> when they get out of sync. > > I don't understand. What i've done is exactly to remove double > definitions which were in obr.xml files. > >> 2. The Import-Service and Export-Service headers are not expressive >> enough. They only allow you to specify a comma separated list of >> service classes. You cannot specify service properties or service >> filters for publishing or consuming services. >> >> I think it is a reasonable fall back to use these headers, but not as >> a primary thing. > > Nobody has ever said they consist in a comma separated list of service > classes. > The way I've implemented the generation is exactly what you're asking for. > > Export-Service: foo.bar.Interface;availability:=optional;x=v > > You're right about the filters, I haven't put those on the header, but > I'll fix that asap. > > Unless you can prove that there are some informations that can't be > put on those headers, > I think it really simplifies the role of the tooling to not have to > dig into multiple different formats. > >> Alasdair >> >> On 11 March 2010 09:47, Guillaume Nodet <[email protected]> wrote: >>> On Thu, Mar 11, 2010 at 10:07, Jeremy Hughes <[email protected]> wrote: >>>> I was wondering about this change. AIUI the Export-Service and >>>> Import-Service are deprecated and adding them means a duplication of >>>> meta-data. I haven't yet seen what is making use of them - I guess >>>> it's to populate an OBR repository.xml. Because it's non-standard (not >>>> in the blueprint spec) whatever is expecting those exports/imports to >>>> be there, if it didn't find any, it would need to look for >>>> blueprint.xml files and services imported/exported there just in case >>>> the tool that generated the bundle didn't include export/import >>>> service headers. >>> >>> I don't think this would be a good idea to have a generic osgi tool do that. >>> I think the real problem would be that it would not catch pure osgi >>> bundle (those who don't >>> use blueprint at all, such as the aries-transaction-manager for example). >>> In such cases, the only way is to rely on those headers, so it makes >>> sense to not bloat >>> all osgi tools and instead leverage those headers imho. >>> >>> I'm not sure in which way the metadata in those headers is limited. >>> And if it is, we should >>> extend it imho. And there will always be cases where you can't know >>> the whole data >>> unless in the real environment (imagine if one of the service property >>> is computed at runtime, >>> or if the exact class exported isn't easily determined and you export >>> all its interfaces ...). >>> So I think you can know the intent, but not always the end result. >>> >>> Anyway, if you prefer enhancing OBR, maven-bundle-plugin, bnd and >>> bindex to natively support >>> introspecting blueprint bundles, declarative services, iPojo in >>> addition to those headers (which are >>> still the only way if you use the plain OSGI api), you're welcome to >>> do so. Once your patches >>> are in, I'll happily remove those bits ;-) >>> >>>> I'm more -0 for this change, because it doesn't hurt, but a consumer >>>> of the gen'd headers can't be guaranteed that they fully represent >>>> what's in the blueprint.xml files. >>>> >>>> Cheers, >>>> Jeremy >>>> >>>> On 10 March 2010 21:18, <[email protected]> wrote: >>>>> Author: gnodet >>>>> Date: Wed Mar 10 21:18:42 2010 >>>>> New Revision: 921573 >>>>> >>>>> URL: http://svn.apache.org/viewvc?rev=921573&view=rev >>>>> Log: >>>>> ARIES-197: remove the obr.xml files and use the latest plugin snapshot >>>>> which is able to introspect the blueprint bundles >>>>> >>>>> Removed: >>>>> incubator/aries/trunk/application/application-converters/obr.xml >>>>> incubator/aries/trunk/application/application-install/obr.xml >>>>> incubator/aries/trunk/application/application-management/obr.xml >>>>> incubator/aries/trunk/application/application-obr-resolver/obr.xml >>>>> incubator/aries/trunk/application/application-runtime/obr.xml >>>>> incubator/aries/trunk/application/application-utils/obr.xml >>>>> incubator/aries/trunk/blueprint/blueprint-bundle/obr.xml >>>>> incubator/aries/trunk/transaction/transaction-blueprint/obr.xml >>>>> incubator/aries/trunk/transaction/transaction-manager/obr.xml >>>>> incubator/aries/trunk/web/web-urlhandler/obr.xml >>>>> Modified: >>>>> incubator/aries/trunk/application/application-management/pom.xml >>>>> incubator/aries/trunk/application/application-obr-resolver/pom.xml >>>>> incubator/aries/trunk/application/application-runtime/pom.xml >>>>> incubator/aries/trunk/application/application-utils/pom.xml >>>>> incubator/aries/trunk/blueprint/blueprint-bundle/pom.xml >>>>> incubator/aries/trunk/blueprint/blueprint-core/pom.xml >>>>> incubator/aries/trunk/parent/default-parent/pom.xml >>>>> incubator/aries/trunk/transaction/transaction-blueprint/pom.xml >>>>> incubator/aries/trunk/transaction/transaction-testbundle/pom.xml >>>>> incubator/aries/trunk/web/web-urlhandler/pom.xml >>>>> >>>>> Modified: incubator/aries/trunk/application/application-management/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/application/application-management/pom.xml >>>>> (original) >>>>> +++ incubator/aries/trunk/application/application-management/pom.xml Wed >>>>> Mar 10 21:18:42 2010 >>>>> @@ -77,16 +77,6 @@ >>>>> <configuration> >>>>> <instructions> >>>>> >>>>> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> >>>>> - <Import-Service> >>>>> - >>>>> org.apache.aries.application.ApplicationMetadataFactory, >>>>> - >>>>> org.apache.aries.application.DeploymentMetadataFactory, >>>>> - >>>>> org.apache.aries.application.management.AriesApplicationResolver, >>>>> - >>>>> org.apache.aries.application.management.LocalPlatform, >>>>> - >>>>> org.apache.aries.application.management.ApplicationContextManager >>>>> - </Import-Service> >>>>> - <Export-Service> >>>>> - >>>>> org.apache.aries.application.management.AriesApplicationManager >>>>> - </Export-Service> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> >>>>> </instructions> >>>>> >>>>> Modified: >>>>> incubator/aries/trunk/application/application-obr-resolver/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-obr-resolver/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/application/application-obr-resolver/pom.xml >>>>> (original) >>>>> +++ incubator/aries/trunk/application/application-obr-resolver/pom.xml >>>>> Wed Mar 10 21:18:42 2010 >>>>> @@ -56,12 +56,6 @@ >>>>> <configuration> >>>>> <instructions> >>>>> >>>>> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> >>>>> - <Import-Service> >>>>> - org.osgi.service.obr.RepositoryAdmin >>>>> - </Import-Service> >>>>> - <Export-Service> >>>>> - >>>>> org.apache.aries.application.management.AriesApplicationResolver >>>>> - </Export-Service> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> >>>>> </instructions> >>>>> >>>>> Modified: incubator/aries/trunk/application/application-runtime/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-runtime/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/application/application-runtime/pom.xml >>>>> (original) >>>>> +++ incubator/aries/trunk/application/application-runtime/pom.xml Wed Mar >>>>> 10 21:18:42 2010 >>>>> @@ -77,11 +77,6 @@ >>>>> <configuration> >>>>> <instructions> >>>>> >>>>> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> >>>>> - <Export-Service> >>>>> - >>>>> org.apache.aries.application.management.ApplicationContextManager, >>>>> - >>>>> org.apache.aries.application.management.LocalPlatform, >>>>> - >>>>> org.apache.aries.application.management.AriesApplicationResolver >>>>> - </Export-Service> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> >>>>> </instructions> >>>>> >>>>> Modified: incubator/aries/trunk/application/application-utils/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/application/application-utils/pom.xml (original) >>>>> +++ incubator/aries/trunk/application/application-utils/pom.xml Wed Mar >>>>> 10 21:18:42 2010 >>>>> @@ -68,12 +68,6 @@ >>>>> <build> >>>>> <resources> >>>>> <resource> >>>>> - <directory>${basedir}</directory> >>>>> - <includes> >>>>> - <include>obr.xml</include> >>>>> - </includes> >>>>> - </resource> >>>>> - <resource> >>>>> <targetPath>OSGI-INF/blueprint</targetPath> >>>>> <filtering>false</filtering> >>>>> >>>>> <directory>${basedir}/src/main/resources/OSGI-INF/blueprint</directory> >>>>> @@ -101,10 +95,6 @@ >>>>> >>>>> org.apache.aries.application.utils.manifest;version="${pom.version}", >>>>> >>>>> org.apache.aries.application.utils.management;version="${pom.version}" >>>>> </Export-Package> >>>>> - <Export-Service> >>>>> - >>>>> org.apache.aries.application.ApplicationMetadataFactory, >>>>> - >>>>> org.apache.aries.application.DeploymentMetadataFactory >>>>> - </Export-Service> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> >>>>> </instructions> >>>>> >>>>> Modified: incubator/aries/trunk/blueprint/blueprint-bundle/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/blueprint/blueprint-bundle/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/blueprint/blueprint-bundle/pom.xml (original) >>>>> +++ incubator/aries/trunk/blueprint/blueprint-bundle/pom.xml Wed Mar 10 >>>>> 21:18:42 2010 >>>>> @@ -69,7 +69,7 @@ >>>>> <artifactId>maven-bundle-plugin</artifactId> >>>>> <configuration> >>>>> <instructions> >>>>> - >>>>> <Bundle-SymbolicName>${pom.groupId}</Bundle-SymbolicName> >>>>> + >>>>> <Bundle-SymbolicName>${pom.groupId};blueprint.graceperiod:=false</Bundle-SymbolicName> >>>>> >>>>> <Bundle-Activator>org.apache.aries.blueprint.container.BlueprintExtender</Bundle-Activator> >>>>> <Import-Package> >>>>> !org.apache.aries.blueprint*, >>>>> @@ -102,10 +102,11 @@ >>>>> OSGI-INF* >>>>> </Private-Package> >>>>> <Export-Service> >>>>> - org.apache.aries.blueprint.ParserService, >>>>> - >>>>> org.apache.aries.blueprint.NamespaceHandler;osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0, >>>>> - >>>>> org.apache.aries.blueprint.NamespaceHandler;osgi.service.blueprint.namespace=http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0 >>>>> + org.apache.aries.blueprint.ParserService >>>>> </Export-Service> >>>>> + <Import-Service> >>>>> + >>>>> org.osgi.service.cm.ConfigurationAdmin;availability:=optional >>>>> + </Import-Service> >>>>> <!-- include the right NOTICE with attribution to >>>>> the OSGi alliance --> >>>>> >>>>> <Include-Resource>{maven-resources},META-INF/NOTICE=../NOTICE</Include-Resource> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> Modified: incubator/aries/trunk/blueprint/blueprint-core/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/blueprint/blueprint-core/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/blueprint/blueprint-core/pom.xml (original) >>>>> +++ incubator/aries/trunk/blueprint/blueprint-core/pom.xml Wed Mar 10 >>>>> 21:18:42 2010 >>>>> @@ -105,7 +105,11 @@ >>>>> >>>>> org.apache.aries.util.tracker;resolution:=optional, >>>>> org.osgi.service.event*;resolution:=optional, >>>>> org.osgi.service.framework;resolution:=optional, >>>>> - *</Import-Package> >>>>> + * >>>>> + </Import-Package> >>>>> + <Export-Service> >>>>> + org.apache.aries.blueprint.ParserService >>>>> + </Export-Service> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> >>>>> </instructions> >>>>> >>>>> Modified: incubator/aries/trunk/parent/default-parent/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/parent/default-parent/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/parent/default-parent/pom.xml (original) >>>>> +++ incubator/aries/trunk/parent/default-parent/pom.xml Wed Mar 10 >>>>> 21:18:42 2010 >>>>> @@ -151,14 +151,6 @@ >>>>> <build> >>>>> <resources> >>>>> <resource> >>>>> - <directory>${project.basedir}</directory> >>>>> - <filtering>false</filtering> >>>>> - <includes> >>>>> - <include>obr.xml</include> >>>>> - </includes> >>>>> - </resource> >>>>> - >>>>> - <resource> >>>>> >>>>> <directory>${project.basedir}/src/main/resources</directory> >>>>> <filtering>false</filtering> >>>>> <includes> >>>>> @@ -231,7 +223,7 @@ >>>>> <plugin> >>>>> <groupId>org.apache.felix</groupId> >>>>> <artifactId>maven-bundle-plugin</artifactId> >>>>> - <version>2.0.1</version> >>>>> + <version>2.1.0-SNAPSHOT</version> >>>>> <extensions>true</extensions> >>>>> </plugin> >>>>> >>>>> >>>>> Modified: incubator/aries/trunk/transaction/transaction-blueprint/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/transaction/transaction-blueprint/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/transaction/transaction-blueprint/pom.xml >>>>> (original) >>>>> +++ incubator/aries/trunk/transaction/transaction-blueprint/pom.xml Wed >>>>> Mar 10 21:18:42 2010 >>>>> @@ -92,13 +92,6 @@ >>>>> org.apache.aries.transaction.parsing >>>>> </Private-Package> >>>>> >>>>> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> >>>>> - <Import-Service> >>>>> - javax.transaction.TransactionManager >>>>> - </Import-Service> >>>>> - <Export-Service> >>>>> - org.apache.aries.blueprint.Interceptor, >>>>> - org.apache.aries.blueprint.NamespaceHandler >>>>> - </Export-Service> >>>>> </instructions> >>>>> </configuration> >>>>> </plugin> >>>>> >>>>> Modified: incubator/aries/trunk/transaction/transaction-testbundle/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/transaction/transaction-testbundle/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/transaction/transaction-testbundle/pom.xml >>>>> (original) >>>>> +++ incubator/aries/trunk/transaction/transaction-testbundle/pom.xml Wed >>>>> Mar 10 21:18:42 2010 >>>>> @@ -44,11 +44,13 @@ >>>>> <plugin> >>>>> <groupId>org.apache.felix</groupId> >>>>> <artifactId>maven-bundle-plugin</artifactId> >>>>> - <version>2.0.1</version> >>>>> <extensions>true</extensions> >>>>> <configuration> >>>>> <instructions> >>>>> >>>>> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> >>>>> + >>>>> + >>>>> <nsh_interface>org.apache.aries.blueprint.NamespaceHandler</nsh_interface> >>>>> + >>>>> <nsh_namespace>osgi.service.blueprint.namespace</nsh_namespace> >>>>> </instructions> >>>>> </configuration> >>>>> </plugin> >>>>> >>>>> Modified: incubator/aries/trunk/web/web-urlhandler/pom.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/incubator/aries/trunk/web/web-urlhandler/pom.xml?rev=921573&r1=921572&r2=921573&view=diff >>>>> ============================================================================== >>>>> --- incubator/aries/trunk/web/web-urlhandler/pom.xml (original) >>>>> +++ incubator/aries/trunk/web/web-urlhandler/pom.xml Wed Mar 10 21:18:42 >>>>> 2010 >>>>> @@ -61,10 +61,6 @@ >>>>> <Export-Package> >>>>> >>>>> org.apache.aries.web.converter;version="${pom.version}", >>>>> </Export-Package> >>>>> - <Export-Service> >>>>> - >>>>> org.apache.aries.web.converter.WarToWabConverter, >>>>> - >>>>> org.osgi.service.url.URLStreamHandlerService;url.handler.protocol=webbundle >>>>> - </Export-Service> >>>>> >>>>> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> >>>>> >>>>> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> >>>>> </instructions> >>>>> >>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Cheers, >>> Guillaume Nodet >>> ------------------------ >>> Blog: http://gnodet.blogspot.com/ >>> ------------------------ >>> Open Source SOA >>> http://fusesource.com >>> >> >> >> >> -- >> Alasdair Nottingham >> [email protected] >> > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com > -- Alasdair Nottingham [email protected]
