I see valid arguments here, and I keep my +1.

Regards
JB

On 02/11/2016 02:40 PM, Christian Schneider wrote:
I also did a jira issue that explains the change.
https://issues.apache.org/jira/browse/KARAF-4300

To show the advantage let me compare one of the old configs to the new one:
http://apaste.info/gC5

This shows that 18 lines of xml are replaced by 2 lines in the bnd file.
The syntax is basically the same
as in xml just without the brackets. The big advantage is that we can
leave out the boilerplate xml that maven
needs to redefine a plugin.

So I think the change to bnd files makes a lot of sense. I also did this
change in Aries a long time ago.
Btw. I also added API baselining in this change which helps us when do
changes on the API.

Christian


On 11.02.2016 14:21, Christian Schneider wrote:
As further reference. This is the commit where I did the change:
https://github.com/apache/karaf-decanter/commit/dabeeecd41f46a0c5344580f65c2ea6877fd6d35


As you can see I added 108 lines and removed 753.

That means the usage of bnd files saves us about 640 lines of xml. I
think this is a strong indicator that it is a good idea to do so. Of
course it might cause problems that I overlooked.

Christian

On 11.02.2016 13:57, Christian Schneider wrote:
Hi Achim,

it is difficult to predict what changes warrant a discussion. I agree
with you that I should have discussed this on the list. I talked to
JB and he was positive so I did not expect any problems. Apparently I
was wrong :-(

The usage of bnd files for configuration of the imports and exports
is a very concise replacement for the same configs in xml.

The big advantage is that you can omit the maven-bundle-plugin in the
pom of each module. So basically you replace about 10-15 lines of xml
with 0-5 lines in the bnd file.

This does not break any functionality for users. For developers it
just requires to put an empty bnd.bnd file into each module if it
does not need special configs. Unfortunately it is not possible to
define that it uses a bnd file if it is there  and is also happy if
no such file is there. I plan to suggest this to the felix project as
it would make this even easier to use.

In what way do you see this as a breaking change? I made sure that
all code still works and that all tests still pass. I also did manual
tests of all the modules.

So the only thing you need to do for a new module is to add this
empty bnd.bnd file and you are fine. If you do not want to use the
bnd file to configure your OSGi configs you can use the xml like before.

So apart from my bad communication where I fully agree with you.. do
you really  think this warrants a -1?
Do you have any technical concerns?

Christian


2016-02-11 9:55 GMT+01:00 Achim Nierbeck <bcanh...@googlemail.com
<mailto:bcanh...@googlemail.com>>:

    Hi,

    the other day I added another module to the decanter project
    (cassandra
    appender).
    And I've got to say I was quite astonished to see all those bnd
    files in
    there, but what
    really got me stirred. It is mandatory to have those now.

    I can't remember seeing a vote for such a change in development!

    So here is my

    -1

    on this not communicated and breaking functionality change that
    sneaked in
    there.

    So whoever changed that needs to revoke this, NOW.
    It hasn't been discussed up-front and actually I just can't stand
    such
    sneaky moves.

    regards, Achim

    --

    Apache Member
    Apache Karaf <http://karaf.apache.org/> Committer & PMC
    OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
    Committer &
    Project Lead
    blog <http://notizblog.nierbeck.de/>
    Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

    Software Architect / Project Manager / Scrum Master




--
--
Christian Schneider
http://www.liquid-reality.de
<https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>


Open Source Architect
http://www.talend.com
<https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to