[jboss-jira] [JBoss JIRA] (DROOLS-850) All maven assemblies must use <useTransitiveFiltering>true</> for every <dependencySet>
Geoffrey De Smet (JIRA)
issues at jboss.org
Fri Jul 17 09:00:05 EDT 2015
[ https://issues.jboss.org/browse/DROOLS-850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13090388#comment-13090388 ]
Geoffrey De Smet commented on DROOLS-850:
-----------------------------------------
It's more complex that just adding the <useTransitiveFiltering>true</> flag: often many other excludes/includes become obsolete or even harmfull. Never the less, it is a much less error-prone way to handle assemblies. Here's what I had to do:
https://github.com/droolsjbpm/optaplanner/commit/972b694096fb1b513b3813cd267dae4577fc26dc
By doing that changed, I was able to move a bunch of jars in the distribution zip from binaries to examples/binaries, making optaplanner a more lightweight runtime enviroment for ANT users who just copy the entire binaries directory.
> All maven assemblies must use <useTransitiveFiltering>true</> for every <dependencySet>
> ---------------------------------------------------------------------------------------
>
> Key: DROOLS-850
> URL: https://issues.jboss.org/browse/DROOLS-850
> Project: Drools
> Issue Type: Task
> Reporter: Geoffrey De Smet
> Assignee: Petr Široký
> Priority: Minor
>
> When the assemblies were originally written, this option wasn't available yet. Because don't use it, we have been doing <excludes> for transitive dependencies, which have being going stale/incorrect as we've been upgrading dependency versions. it's a mess. The only sane thing to do is to use this option everywhere. As they admit, it should be the default but they couldn't:
> "<useTransitiveFiltering> Determines whether the include/exclude patterns in this dependency set will be applied to the transitive path of a given artifact. If true, and the current artifact is a transitive dependency brought in by another artifact which matches an inclusion or exclusion pattern, then the current artifact has the same inclusion/exclusion logic applied to it as well. By default, this value is false, in order to preserve backward compatibility with version 2.1. This means that includes/excludes only apply directly to the current artifact, and not to the transitive set of artifacts which brought it in. (Since 2.2-beta-1) "
> See
> https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_dependencySet
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list