commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alberto Mozzone (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEANUTILS-398) CLONE - The three jars contain wrong classes
Date Wed, 10 Aug 2011 08:39:27 GMT

    [ https://issues.apache.org/jira/browse/BEANUTILS-398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082230#comment-13082230
] 

Alberto Mozzone commented on BEANUTILS-398:
-------------------------------------------

I cloned the BEANUTILS-290 issue because, according to what is written in the project home
page, the three jars (I just downloaded them from Maven Central Repository) should contain
the following classes:

* commons-beanutils.jar - contains everything
* commons-beanutils-core.jar - excludes Bean Collections classes
* commons-beanutils-bean-collections.jar - only Bean Collections classes

In my opinion, this is not true, because:

* commons-beanutils.jar - contains everything: OK
* commons-beanutils-core.jar - excludes Bean Collections classes: false! It contains the package
"collection" too and excludes some classes from "beanutils" (among them: "BeanComparator"
and "BeanMap").
* commons-beanutils-bean-collections.jar - only Bean Collections classes: false! It contains
the package "beanutils" only.

The result is that when I add a dependency on "commons-beanutils-core", the class "BeanComparator"
(or "BeanMap") is not found.
In my project I also add a dependency on "commons-collections" and so when I remove the dependency
on "commons-beanutils-core" and add one on "commons-beanutils", some "collection" classes
are duplicate! Moreover, the "BeanMap" class is present but different in both packages "collections"
and "beanutils" !!!

In my opinion, there is a build problem and the right result should be:

* commons-beanutils-core: contains only the package "beanutils" with every class now contained
in the package "beanutils" in "commons-beanutils.jar"
* commons-beanutils-collections: contains only the package "collections" with every class
now contained in the package "collections" in "commons-beanutils.jar"
* commons-collections: drops the "Bean*" classes

As a consequence, "commons-beanutils-core" should declare a mandatory dependency on "commons-collections".

What do you think?


> CLONE - The three jars contain wrong classes
> --------------------------------------------
>
>                 Key: BEANUTILS-398
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-398
>             Project: Commons BeanUtils
>          Issue Type: Task
>          Components: Bean-Collections
>    Affects Versions: 1.8.3
>            Reporter: Alberto Mozzone
>            Assignee: Niall Pemberton
>            Priority: Minor
>
> This issue has been discussed in the following thread: http://tinyurl.com/2xdpku
> For BeanUtils 1.7.0 the following classes which had a dependency on Commons Collections
were split into a separate "bean-collections" sub-module:
>     BeanComparator.java
>     BeanMap.java
>     BeanPredicate.java
>     BeanPropertyValueChangeClosure.java
>     BeanPropertyValueEqualsPredicate.java
>     BeanToPropertyValueTransformer.java
> Three "flavours" of jars were released in 1.7.0
>    commons-beanutils.jar - containing all BeanUtils classes, including above bean-collections
ones
>    commons-beanutils-bean-collections.jar - containing just the above  bean-collections
classes
>    commons-beanutils-core.jar - containing BeanUtils classes excluding above bean-collections
ones
> BeanUtils 1.7.0 was created using ant and (I presume) the maven poms for the above artifacts
were manually created - unfortunately with mistakes:
> 1) The pom for commons-beanutils.jar DOESN'T declare any Commons Collections dependency
(which it has for the bean-collections classes)
> 2) The pom for commons-beanutils-core.jar DOES declare a Commons Collections dependency
(which it doesn't actually have)
> The proposal for BeanUtils 1.8.0 (see http://tinyurl.com/2xdpku) is to merge the bean-collections
classes back into core BeanUtils and get rid of the bean-collections sub-module - releasing
just a single jar for BeanUtils and marking the Commons Collections dependency as "optional"
in the maven pom (see http://tinyurl.com/2nm2bu).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message