harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stepan Mishura" <stepan.mish...@gmail.com>
Subject [general] Managing dependencies: Antlib for Maven 2.0, Ivy or Ant only (i.e. Harmony specific way)?
Date Tue, 03 Apr 2007 16:04:19 GMT
Hi all,

I'd like to hear opinions about choosing a way for managing library
dependencies.

Currently I'm reviewing proposal for improving build-and-test infra
[1][2]. One of declared features according to the proposal is:
  "Implemented Approach to share External Library Dependencies between different
   Test Suites allows to perform external dependencies fetching in one place by
   one means and to save time and internet traffic."

And the implementation [2] of the proposal contains a set of ANT
macros/targets that does library dependencies management for testing
suites. Briefly, a test suite may have a number of dependencies on
external libraries. It is proposed for suite to use parameters.xml
file to declare them. And the infra provides a common way for
downloading, unpacking and storing them in a 'local libraries
repository'. For example a suite can declare dependency on
'ant-contrib' in the following way:
<parameters>
    <external>
        <ant-contrib
            jar="ant-contrib-1.0b3.jar"
            url="http://kent.dl.sourceforge.net/sourceforge/ant-contrib/ant-contrib-1.0b3-bin.zip"
            md5="c5a75fc28cbc52f09bd43b5506978601"
        />
    </external>
</parameters>

Alexander, could you add more details if my description is incomplete
(or not quite incorrect)?

Taking into account that build-and-test is going to grow I agree with
the proposal [1] (that we need common solution for managing library
dependencies). And I think that the proposal may be a good moment for
reconsidering library dependencies management. Currently Class
library, DRL VM and build-and-test infra use ANT tasks to manage
external dependencies in similar way: check whether a library exists,
if not – download it. Within Harmony we have subproject that also is
aimed to resolve the issue with libraries [3]. Also Maven was
mentioned in several discussions but I don't remember any proposal for
migrating to it.

I have browsed through documentation for Antlib for Maven 2.0[4] and
Ivy[5] and it seems for me that they may help us to find a common
approach for Harmony that can be tested with the build-and-test infra.
And class library with DRL VM will migrate later.

So the question is: are we OK with the current state (no common
approach and tool) and develop and support a set of ANT tasks that
covers needs of the build-and-test infra. Or does it make sense to
look for 'standard' solution (Antlib for Maven 2.0, Ivy or something
else)? I've red through several recommendations of the Web but … I
have no experience with using Maven or Ivy. So it is hard for me to
make deliberate choose.

Thoughts? Recommendations?

[1] http://mail-archives.apache.org/mod_mbox/harmony-dev/200703.mbox/%3ce09a11790703262343m576dee90j5a59d52e14290274@mail.gmail.com%3e
[2] http://issues.apache.org/jira/browse/HARMONY-3501
[3] http://svn.apache.org/viewvc/harmony/enhanced/common_resources/
[4] http://maven.apache.org/ant-tasks.html
[5] http://incubator.apache.org/ivy/index.html

Thanks,
Stepan Mishura
Intel Enterprise Solutions Software Division

Mime
View raw message