Anyone know of a Berkeley-DB-ish lib for Java that is compatible with
the ASL? Is the SleepyCat/Berkeley DB Java license compatible? Or
is jdbm any good?
--jason
On Jul 21, 2006, at 4:34 PM, Dain Sundstrom wrote:
On Jul 20, 2006, at 4:01 PM, Jason Dillon wrote:
It is not just how we use the m2-style repo inside of G, but also
how we build G using m2 that will cause problems for windows peeps.
The later is going to be more trouble to resolve I think.
I'm still thinking it would be a good idea to have some sort of
file-system abstraction for our m2-style repo... in the same way
that SVN has an abstraction... that could use BDB or a regular
file system (ie. FSFS) for actual storage. WIth something like
this, we could have the default distro use a BDB-ish filesystem
and completely resolve the windows file name limitations. With a
set of cli tools we can easily allow the BDB-ish to be converted
to a FSFS.
The repo is an interface. Well it is really three interfaces
depending how much you want to implement:
public interface Repository {
boolean contains(Artifact artifact);
File getLocation(Artifact artifact);
LinkedHashSet getDependencies(Artifact artifact);
}
public interface WriteableRepository extends Repository {
void copyToRepository(File source, Artifact destination,
FileWriteMonitor monitor) throws IOException;
void copyToRepository(InputStream source, int size, Artifact
destination, FileWriteMonitor monitor) throws IOException;
}
public interface ListableRepository extends Repository {
SortedSet list();
SortedSet list(Artifact query);
}
We have an M1 and M2 implementation of these, so if you want
another one you have some good base code to start with.
-dain