ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: repository
Date Tue, 16 Nov 2004 15:52:33 GMT

When I get home, I will check in the current version of the code, which 
will build and pass existing tests, but not new ones.

The key change (apart from new stuff going into 
tools/ant/tasks/repository (and not optional), is the
LibraryPolicy interface, which invokes an entry in the policy handler 
chain before going to fetch anything
and after fetching stuff.

The prefetch code lets you
   -mark/unmark stuff for fetching
   -change the destination name
   -indicate that you dont want any download to take place

The postfetch would let you
  -verify JARs are signed
  -create filesets of the files

So you could do

<getlibraries dir="lib">
   <schedule days="1" />  //elapsed time; should really go to calendar 
   <signcheck keystore="../keystore" />   //hypothetical
   <library project="doomed" archive="doomed" version="LATEST" />


<getlibraries dir="lib">
   <force />
   <library project="doomed" archive="doomed" version="LATEST" />

<force> marks everything for fetch then verifies they were pulled down
<absentOnly /> (default policy) only marks absent stuff for downloaded
<timestamp /> marks everything for timestamp-based-fetch

This stuff is written, I cannot say it works as for some reason the 
nesting isnt working. I'll check it in and see what people think. Oh, 
and I now save to project/lib subdirs by default.

The nice thing about this policy chain is that you can extend it w/ new 
datatypes, and the task itself uses it for some of its own work. Its 
fairly simple. The only worry is what is our fault handling strategy; if 
something says 'no connect', who gets notified?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message