You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Konrad Windszus (Jira)" <ji...@apache.org> on 2022/07/15 09:15:00 UTC

[jira] [Created] (FELIX-6549) Service descriptor XMLs contain empty lines with Bnd 6.3.1

Konrad Windszus created FELIX-6549:
--------------------------------------

             Summary: Service descriptor XMLs contain empty lines with Bnd 6.3.1
                 Key: FELIX-6549
                 URL: https://issues.apache.org/jira/browse/FELIX-6549
             Project: Felix
          Issue Type: Bug
          Components: SCR Tooling
    Affects Versions: scr bnd plugin 1.9.6
            Reporter: Konrad Windszus


When the SCR Bnd Plugin is used with a recent Bnd version (6.3.1) the service descriptor XMLs contain a lot of empty lines:

{code}
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.apache.jackrabbit.oak.composite.CrossMountReferenceValidatorProvider" configuration-policy="require" activate="activate">
        
    <property name="type" value="crossMountRefValidator"/>
        
    <property name="failOnDetection" type="Boolean" value="true"/>
        
    <service servicefactory="false">
                
        <provide interface="org.apache.jackrabbit.oak.spi.commit.ValidatorProvider"/>
                
        <provide interface="org.apache.jackrabbit.oak.spi.commit.EditorProvider"/>
            
    </service>
        
    <reference name="mountInfoProvider" interface="org.apache.jackrabbit.oak.spi.mount.MountInfoProvider" cardinality="1..1" policy="static" bind="bindMountInfoProvider" unbind="unbindMountInfoProvider"/>
        
    <implementation class="org.apache.jackrabbit.oak.composite.CrossMountReferenceValidatorProvider"/>
    
</scr:component>
{code}

With Bnd 5.1.1 the XML looked like this with the same version of the Bnd SCR plugin

{code}
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.apache.jackrabbit.oak.composite.CrossMountReferenceValidatorProvider" configuration-policy="require" activate="activate">
    <property name="type" value="crossMountRefValidator"/>
    <property name="failOnDetection" type="Boolean" value="true"/>
    <service servicefactory="false">
        <provide interface="org.apache.jackrabbit.oak.spi.commit.ValidatorProvider"/>
        <provide interface="org.apache.jackrabbit.oak.spi.commit.EditorProvider"/>
    </service>
    <reference name="mountInfoProvider" interface="org.apache.jackrabbit.oak.spi.mount.MountInfoProvider" cardinality="1..1" policy="static" bind="bindMountInfoProvider" unbind="unbindMountInfoProvider"/>
    <implementation class="org.apache.jackrabbit.oak.composite.CrossMountReferenceValidatorProvider"/>
</scr:component>
{code}

It seems that a different SAX {{Transformer}} is returned at https://github.com/apache/felix-dev/blob/28b4c77883b8dbdea06e723dc4e5a3eba7393f34/tools/org.apache.felix.scr.generator/src/main/java/org/apache/felix/scrplugin/xml/IOUtils.java#L70 which already emits the newlines due to the "INDENT" flag. Maybe Bnd embeds one, because I reproduced with the same JRE 11.0.15.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)