Not sure what you mean by pointing this.
None of those constants describe the exact syntax of the headers.
Just take a look at:
   
http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Constants.html#IMPORT_PACKAGE

It simply does not say anything about what this header looks like,
only what its intent is.
In addition, the syntax isn't defined at all (see 3.2.1.23) whereas
the other headers are clearly described.

I don't have any problem discussing this issue as you see, but I still
fail to see the real problem you have in using those headers.

On Thu, Mar 11, 2010 at 14:36, Alasdair Nottingham <[email protected]> wrote:
> 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]
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to