[Yanel-dev] [Bug 7551] Duplicate Apache commons-io in .m2
Mehmet Birgi
mehmet.birgi at wyona.com
Wed Apr 7 14:55:34 CEST 2010
I did some more checks for the other duplicates. It looks like we have 5
different versions of commons-logging in our repository, one of them twice:
$ find ~/.m2/repository/ -type f | grep "commons-logging"
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-l=
ogging/1.0.4/apache-jakarta-commons-logging-1.0.4.jar
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-l=
ogging/1.0.4/apache-jakarta-commons-logging-1.0.4.jar.md5
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-l=
ogging/1.0.4/apache-jakarta-commons-logging-1.0.4.pom
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-l=
ogging/1.0.4/apache-jakarta-commons-logging-1.0.4.pom.md5
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0/commons-log=
ging-1.0.pom
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0/commons-log=
ging-1.0.pom.sha1
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0.3/commons-l=
ogging-1.0.3.pom
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0.3/commons-l=
ogging-1.0.3.pom.sha1
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0.4/commons-l=
ogging-1.0.4.jar
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0.4/commons-l=
ogging-1.0.4.jar.sha1
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0.4/commons-l=
ogging-1.0.4.pom
/Users/memo/.m2/repository//commons-logging/commons-logging/1.0.4/commons-l=
ogging-1.0.4.pom.sha1
/Users/memo/.m2/repository//commons-logging/commons-logging/1.1/commons-log=
ging-1.1.jar
/Users/memo/.m2/repository//commons-logging/commons-logging/1.1/commons-log=
ging-1.1.jar.sha1
/Users/memo/.m2/repository//commons-logging/commons-logging/1.1/commons-log=
ging-1.1.pom
/Users/memo/.m2/repository//commons-logging/commons-logging/1.1/commons-log=
ging-1.1.pom.sha1
/Users/memo/.m2/repository//commons-logging/commons-logging/1.1.1/commons-l=
ogging-1.1.1.pom
/Users/memo/.m2/repository//commons-logging/commons-logging/1.1.1/commons-l=
ogging-1.1.1.pom.sha1
Is it necessary to have so many versions? At least the 2 1.0.4 versions seem
to be the same (checked jar file contents).
commons-discovery is also included twice (they are identical):
$ find ~/.m2/repository/ -type f | grep
"commons-discovery"/Users/memo/.m2/repository//apache-jakarta-commons/apach=
e-jakarta-commons-discovery/0.2/apache-jakarta-commons-discovery-0.2.jar
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-d=
iscovery/0.2/apache-jakarta-commons-discovery-0.2.jar.md5
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-d=
iscovery/0.2/apache-jakarta-commons-discovery-0.2.pom
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-d=
iscovery/0.2/apache-jakarta-commons-discovery-0.2.pom.md5
/Users/memo/.m2/repository//commons-discovery/commons-discovery/0.2/commons=
-discovery-0.2.jar
/Users/memo/.m2/repository//commons-discovery/commons-discovery/0.2/commons=
-discovery-0.2.jar.sha1
/Users/memo/.m2/repository//commons-discovery/commons-discovery/0.2/commons=
-discovery-0.2.pom
/Users/memo/.m2/repository//commons-discovery/commons-discovery/0.2/commons=
-discovery-0.2.pom.sha1
while commons-id is there only once, but with the jakarta-groupId:
$ find ~/.m2/repository/ -type f | grep "commons-id"
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-i=
d/0.1-dev-lcr357257/apache-jakarta-commons-id-0.1-dev-lcr357257.jar
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-i=
d/0.1-dev-lcr357257/apache-jakarta-commons-id-0.1-dev-lcr357257.jar.md5
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-i=
d/0.1-dev-lcr357257/apache-jakarta-commons-id-0.1-dev-lcr357257.pom
/Users/memo/.m2/repository//apache-jakarta-commons/apache-jakarta-commons-i=
d/0.1-dev-lcr357257/apache-jakarta-commons-id-0.1-dev-lcr357257.pom.md5
Shall we continue with the cleaning now, or just put this info into bugzilla
for later?
Thanks,
memo
On Wed, Apr 7, 2010 at 11:48 AM, Mehmet Birgi <mehmet.birgi at wyona.com>wrote:
>
>
> On Wed, Apr 7, 2010 at 11:27 AM, Michael Wechner <
> michael.wechner at wyona.com> wrote:
>
>> Mehmet Birgi wrote:
>>
>>> Re which one to use: in the maven documentation, it is suggested (
>>> http://maven.apache.org/guides/getting-started/index.html#How_do_I_use_=
external_dependencies,
>>> 7. paragraph) that one use http://ibiblio.org/maven2 as a reference to
>>> what the artifact id should be for any (apache) dependency. According to
>>> that, we should use "commons-io", rather than "apache-jakarta-commons-i=
o".
>>>
>>
>> ibiblio is just one of the many Maven repositories. I think we need to
>> approach this slightly different. First we should check if these
>> libs are really the same. One first simple check is to open the jar files
>> and compare:
>>
>> jar -tf
>> /Users/michaelwechner/.m2/repository/apache-jakarta-commons/apache-jakar=
ta-commons-io/1.2/apache-jakarta-commons-io-1.2.jar
>>
>> another simple one is to count the number of files
>>
>> jar -tf
>> /Users/michaelwechner/.m2/repository/apache-jakarta-commons/apache-jakar=
ta-commons-io/1.2/apache-jakarta-commons-io-1.2.jar
>> | wc -l
>>
>> and another is to compare the size
>>
>> ls -l
>> /Users/michaelwechner/.m2/repository/commons-io/commons-io/1.2/commons-i=
o-1.2.jar
>>
>> and yes it really seems that these are the same libs -;-)
>>
>> Yes, ibiblio contains
>>
>>
>> http://mirrors.ibiblio.org/pub/mirrors/maven2/commons-io/commons-io/
>>
>> but does not contain apache-jakarta-commons.
>>
>> Also commons is an ex-subproject of the jakarta project
>>
>> http://jakarta.apache.org/
>>
>> which is now
>>
>> http://commons.apache.org/io/
>> http://commons.apache.org/io/download_io.cgi
>>
>> http://svn.apache.org/repos/asf/commons/proper/io/tags/commons-io-1.4/po=
m.xml
>>
>> so based on this I would agree to replace the apache-jakarta-commons-io
>> by commons-io.
>>
>> I have done this now at
>>
>> https://svn.wyona.com/repos/public/yanel/trunk/src/build/dependencies.xml
>>
>> and
>>
>>
>> https://svn.wyona.com/repos/public/security/trunk/dependencies.xml
>>
>
> Thanks
>
>
>>
>>
>>
>> So I would suggest that we change all the dependencies referring to
>>> "apache-jakarta-commons-io" to refer to "commons-io". Is that OK, or are
>>> there other things to consider? If you agree, I will try to find out if=
this
>>> is documented somewhere, and if not, add it to the best practices, OK?
>>>
>>
>> I am not sure if the best practices are the best place for this, but I
>> guess it's better to add it there than nowhere
>
>
> We could add it here:
> http://wiki.wyona.com/WyonaWiki/Wiki.jsp?page=3DCodingGuidelines
> or better make a new page "MavenGuidelines", add it there, and link to it
> from here: http://documentation.yanel.wyona.org/wiki/wiki/Guidelines
>
> wdyt?
>
>
>
>>
>>>
>>> Of the files above, commons-discovery and commons-logging are download=
ed
>>> twice (like commons-io) while commons-id is only downloaded once (but t=
o the
>>> "wrong" path in the maven repository).
>>>
>>> Shall I continue looking for inconsistencies? (There is also the grep
>>> output of the src directory below to consider, I think there are a lot =
of
>>> "wrong" references that might still download to this second location if=
we
>>> correct the ref in wyona-org-security-core-0.2-dev-r48408.pom) The sure=
way
>>> to clean this all up would probably be to go through the ~/.m2 director=
y and
>>> check for each artifact if it is in the proper place, wdyt?
>>>
>>
>> I think we should do it incrementally. If we find something, then let's
>> replace, otherwise it doesn't hurt.
>>
>> Re commons-logging and the others we need to first check if these are
>> really the same libs. Have you done this?
>>
>
> no, i will check those and report back
>
> Thanks,
>
> memo
>
>
>
>>
>> Thanks
>>
>> Michi
>>
>>
>>
>>> Cheers,
>>>
>>> Memo
>>>
>>>
>>>
>>> Cheers
>>>
>>> Michi
>>>
>>> Mehmet Birgi wrote:
>>>
>>> What I could find out so far:
>>>
>>> 1. The correct artifact-id is "commons-io", according to the
>>> Maven docs, that point to ibiblio.org/maven2
>>> <http://ibiblio.org/maven2> <http://ibiblio.org/maven2> as the
>>>
>>> reference
>>> (
>>> http://mirrors.ibiblio.org/pub/mirrors/maven2/commons-io/commons-io/mav=
en-metadata.xml
>>> )
>>>
>>>
>>>
>>> 2. I have found a reference to the "incorrect" artifact-id,
>>> "apache-jakarta-commons-io", but there seem to be several
>>> others too:
>>>
>>> memo at Memos-MacSilver:~/Wyona/Work/Yanel $ grep -riI
>>> apache-jakarta-commons-io src | grep -v '/\.svn/' | grep -v
>>> '\.yarep/'
>>> src/build/dependencies.xml: <dependency
>>> groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io"
>>> src/contributions/resources/xinha/src/build/dependencies.xml:
>>> <dependency groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>>
>>> src/realms/welcome-admin/yanel/resources/update-webapp/src/build/depen=
dencies.xml:
>>> <dependency groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>> src/resources/add-realm/src/build/dependencies.xml:
>>> <dependency groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>> src/resources/testing-control/src/build/dependencies.xml:
>>> <dependency groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>> src/resources/tinymce/src/build/dependencies.xml:
>>> <dependency groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>> src/resources/xml/src/build/dependencies.xml: <dependency
>>> groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>> src/test/build.xml: <dependency
>>> groupId=3D"apache-jakarta-commons"
>>> artifactId=3D"apache-jakarta-commons-io" version=3D"1.2"/>
>>>
>>>
>>> I am attaching the new build.log after deleting ~/.m2 to this
>>> mail, I couldn't gain any new insights from it, but I will
>>> gladly pursue any further hints.
>>>
>>> That's it for now, cheers & good night
>>>
>>> Memo
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Apr 6, 2010 at 4:39 PM, Michael Wechner
>>> <michael.wechner at wyona.com <mailto:michael.wechner at wyona.com>
>>> <mailto:michael.wechner at wyona.com
>>> <mailto:michael.wechner at wyona.com>>> wrote:
>>>
>>> From your log-file it seems that these libraries are
>>> downloaded at
>>> the very beginning of the build:
>>>
>>> Apache Ant version 1.7.1 compiled on June 27 2008
>>> INFO: Building Yanel...
>>> Buildfile: src/build/build.xml
>>>
>>> init:
>>> [echo] INFO: Building with Apache Ant version 1.7.1
>>> compiled on
>>> June 27 2008 and Java version 1.6
>>> [echo] Yanel Home Dir:
>>> /Users/memo/Wyona/Work/Yanel/src/build/../../
>>>
>>> probe-proxy:
>>> [echo] Check if proxy has been set ...
>>>
>>> proxy:
>>>
>>>
>>> dependencies:
>>> [artifact:dependencies] Downloading:
>>> commons-io/commons-io/1.2/commons-io-1.2.pom from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>> commons-io/commons-io/1.2/commons-io-1.2.pom from central
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-discovery/0.2/apache-jak=
arta-commons-discovery-0.2.pom
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 0K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-id/0.1-dev-lcr357257/apa=
che-jakarta-commons-id-0.1-dev-lcr357257.pom
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 0K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-logging/1.0.4/apache-jak=
arta-commons-logging-1.0.4.pom
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 0K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-io/1.2/apache-jakarta-co=
mmons-io-1.2.pom
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 0K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>> commons-io/commons-io/1.2/commons-io-1.2.jar from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>> commons-io/commons-io/1.2/commons-io-1.2.jar from central
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-discovery/0.2/apache-jak=
arta-commons-discovery-0.2.jar
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 70K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-id/0.1-dev-lcr357257/apa=
che-jakarta-commons-id-0.1-dev-lcr357257.jar
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 53K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-logging/1.0.4/apache-jak=
arta-commons-logging-1.0.4.jar
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 37K from
>>> wyona.remote.repository
>>> [artifact:dependencies] Downloading:
>>>
>>> apache-jakarta-commons/apache-jakarta-commons-io/1.2/apache-jakarta-co=
mmons-io-1.2.jar
>>> from wyona.remote.repository
>>> [artifact:dependencies] Transferring 64K from
>>> wyona.remote.repository
>>> [unzip] Expanding:
>>>
>>> /Users/memo/.m2/repository/ext/gwtext/2.0.2/gwtext-2.0.2.zip into
>>>
>>> /Users/memo/Wyona/Work/Yanel/build/webapps/yanel/htdocs/gwt-ext-2.0.2
>>>
>>>
>>> Now one has to analyze why. I guess the easiest is to
>>> delete the
>>> whole local Maven repo and build/log again and then analyze it
>>> again. (I assume you just deleted this libs instead the whole
>>> local repo, right?)
>>>
>>> Thanks
>>>
>>> Michi
>>>
>>> Mehmet Birgi wrote:
>>>
>>> Hi Michael
>>>
>>>
>>> On Tue, Apr 6, 2010 at 3:52 PM, <bugzilla at wyona.com
>>> <mailto:bugzilla at wyona.com>
>>> <mailto:bugzilla at wyona.com <mailto:bugzilla at wyona.com>>
>>> <mailto:bugzilla at wyona.com <mailto:bugzilla at wyona.com>
>>>
>>> <mailto:bugzilla at wyona.com
>>> <mailto:bugzilla at wyona.com>>>> wrote:
>>>
>>>
>>> http://bugzilla.wyona.com/cgi-bin/bugzilla/show_bug.cgi?id=3D7551
>>>
>>>
>>> michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>>> changed:
>>>
>>>
>>> What |Removed |Added
>>>
>>> ----------------------------------------------------------------------=
------
>>> AssignedTo|michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>>> |mehmet.birgi at wyona.com
>>> <mailto:mehmet.birgi at wyona.com>
>>> <mailto:mehmet.birgi at wyona.com
>>> <mailto:mehmet.birgi at wyona.com>>
>>> <mailto:mehmet.birgi at wyona.com
>>> <mailto:mehmet.birgi at wyona.com>
>>> <mailto:mehmet.birgi at wyona.com
>>> <mailto:mehmet.birgi at wyona.com>>>
>>>
>>>
>>>
>>>
>>>
>>> ------- Comment #3 from michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>
>>> <mailto:michael.wechner at wyona.org
>>> <mailto:michael.wechner at wyona.org>>> 2010-04-06 14:48 -------
>>>
>>> It would be important that you add the piece of the log
>>> file where
>>> one can see
>>> from where the Maven download is actually started. Rig=
ht
>>> now one
>>> can only see,
>>> that it is downloaded, but not which resource or
>>> realm or
>>> component is actually
>>> triggering the download
>>>
>>>
>>> I am not sure I understand what you mean, I have
>>> attached the
>>> whole log file, can you point me to the proper entries?
>>> Maybe
>>> this information is not logged?
>>>
>>> Thanks,
>>>
>>> Memo
>>>
>>>
>>>
>>> --
>>> Configure bugmail:
>>>
>>> http://bugzilla.wyona.com/cgi-bin/bugzilla/userprefs.cgi?tab=3Demail
>>> ------- You are receiving this mail because: -------
>>> You are the QA contact for the bug, or are watching
>>> the QA
>>> contact.
>>> --
>>> Yanel-development mailing list
>>> Yanel-development at wyona.com <mailto:Yanel-development at wyona.com>
>>> <mailto:Yanel-development at wyona.com
>>> <mailto:Yanel-development at wyona.com>>
>>> <mailto:Yanel-development at wyona.com
>>> <mailto:Yanel-development at wyona.com>
>>> <mailto:Yanel-development at wyona.com
>>> <mailto:Yanel-development at wyona.com>>>
>>>
>>>
>>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>>
>>>
>>>
>>>
>>> -- Mehmet Birgi
>>> www.wyona.com <http://www.wyona.com>
>>> <http://www.wyona.com> <http://www.wyona.com>
>>>
>>>
>>>
>>> -- Yanel-development mailing list
>>> Yanel-development at wyona.com <mailto:Yanel-development at wyona.com>
>>> <mailto:Yanel-development at wyona.com
>>> <mailto:Yanel-development at wyona.com>>
>>>
>>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>>
>>>
>>>
>>>
>>> -- Mehmet Birgi
>>> www.wyona.com <http://www.wyona.com> <http://www.wyona.com>
>>>
>>>
>>> -- Yanel-development mailing list Yanel-development at wyona.com
>>> <mailto:Yanel-development at wyona.com>
>>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>>
>>>
>>>
>>>
>>> --
>>> Mehmet Birgi
>>> www.wyona.com <http://www.wyona.com>
>>>
>>>
>> --
>> Yanel-development mailing list Yanel-development at wyona.com
>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>
>
>
>
> --
> Mehmet Birgi
> www.wyona.com
>
>
-- =
Mehmet Birgi
www.wyona.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wyona.org/pipermail/yanel-development/attachments/2010040=
7/b96b0ba0/attachment-0001.htm
More information about the Yanel-development
mailing list