karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Grzybek <gr.grzy...@gmail.com>
Subject Re: Version alignment report for Karaf 4.2.3-SNAPSHOT - 1/2
Date Wed, 09 Jan 2019 06:58:03 GMT
Hello

wt., 8 sty 2019 o 20:08 Benjamin Graf <benjamin.graf@gmx.net> napisał(a):

> Hi Grzegorz,
>
> is there a reason why the plugin goal for generateConsistencyReport does
> not filter the features that were chosen in custom distributions? Using
> the report that way generates many "false friends" that are actually not
> needed to resolve. Maybe it should also interact with more than only
> blacklisted features/bundles for example replacements in
> org.apache.karaf.features.xml. This way you can iterative tune your
> distribution by adding more and more items to replacement list and
> checking consistency report.
>
> What do you think?
>

There are two reports: apache-karaf-4.2.3-SNAPSHOT-bundle-report-full.xml
and apache-karaf-4.2.3-SNAPSHOT-bundle-report.xml. The non full version
takes blacklisted and overriden bundles/features/repositories into account.
My idea was exactly this! Blacklist, see report, blacklist/override again,
see report, ... That's how I tweak my custom distros (Red Hat Fuse). Indeed
- there are lot of false positives, but I don't want to treat it as
resolution helper, but as consistency helper. To prevent having too many
guava libraries or e.g., commons-beanutils 1.9.2 and 1.9.3 included in the
distro.

Of course feel free to improve the report as you like ;)
https://github.com/apache/karaf/blob/master/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java#L1119-L1224

best regards
Grzegorz Grzybek


>
> Regards
>
> Benjamin
>
> Am 08.01.2019 um 13:28 schrieb Grzegorz Grzybek:
> > Hello
> >
> > For any custom Karaf distro we can enable generation of "consistency
> > report" - check sample here:
> > http://people.apache.org/~ggrzybek/bundle-report-full-karaf.xml
> (requires
> > browser that can do XSLT transformation using <?xml-stylesheet?>)
> >
> > it can be configured using:
> >
> > <plugin>
> >     <groupId>org.apache.karaf.tooling</groupId>
> >     <artifactId>karaf-maven-plugin</artifactId>
> >     <configuration>
> >
> >
> <generateConsistencyReport>${project.build.directory}/assembly</generateConsistencyReport>
> > ....
> >
> > karaf-maven-plugin:assembly then generates:
> >  - bundle-report.xslt - stylesheet to transform XMLs
> >  - bundle-report-full.xml - full report, including blacklisted
> > repos/features/bundles
> >  - bundle-report.xml - a report without blacklisted items
> >
> > The idea behind this report is to show _duplicates_ - bundles that appear
> > with the same groupId and artifactId (maven) but with different version.
> > The report also shows the features the bundles are declared in and
> feature
> > repositories the features come from.
> >
> > Entire closure of bundles → features → repositories is taken into
> account.
> >
> > It's most important when creating custom Karaf distribution - we can
> check
> > if some features declare conflicting bundles - we (usually) don't want to
> > have two versions of servlet-api JAR installed (though it's not a problem
> > with guava - it's even a must).
> >
> > When a _duplicate_ is found or even duplicate repositories are referenced
> > (directly or transitively) usually there's a need to _blacklist_
> something.
> >
> > With https://issues.apache.org/jira/browse/KARAF-5376 I've introduced a
> way
> > (documentation is still being written...) to blacklist
> > bundles/features/repositories or override bundles/features/repositories.
> >
> > Blacklisting/overriding is done using etc/org.apache.karaf.features.xml
> > file. Short summary of the mechanism is here:
> >
> https://issues.apache.org/jira/browse/KARAF-5376?focusedCommentId=16431939&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16431939
> >
> > In next email, I'll show what should/could be aligned in master branch
> for
> > Karaf 4.2.3-SNAPSHOT.
> >
> > regards
> > Grzegorz Grzybek
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message