With the help of Pascal and Stefan I
have been reviewing the repository code and making a few changes. With
DJ and Pascal's help these changes have now been released. Some change
- Without a doubt you will have to regenerate
metadata and profiles
- The repository APIs have now been
completely harmonized so that Artifact and Metadata repos/managers are
very much the same. We should look for reasonable code sharing opportunities
but for now the consumer experience is consistent
- Repositories are unifromly identified
by their location URL
- Location URLs NEVER include the file
name. That is, they are ALWAYS (in the case of our current repos) the folder
that contains the repo. This means you should never have to mess
arond with adding/removing segments to the repo location. Further
the name of the file(s) used to store repo information are treated as internal
- Repo mangaers now have the ability
to add, load or create repos. No more free creation of repos using
add() since there is no way of knowing what type of repo to add
- Repos types (metadata and artifact)
are contributed by extensions and the extension names a FACTORY not the
- Stefan's processing step functionality
has been integrated. This means we are very close to supporting deltas
and pack200 etc.
- the artifact repo API has been updated
to allow for descriptor discrimination. That is, rather than just
getting an artifactkey you can choose an artifactDescriptor to use in getting
- the metadata generator (and selfhosting)
both use IWriteable*Repository now
- the ability to have multiple nested
metadata repositories has been removed. If we still need that it can be
added back by having an explicit compound repository.
- there is still some work to do in
the repository class hierarchy...
- RequestHandler is now Transport
- Introduced IArtifactRequest and made
Invariably I have missed some things.
The changes were quite widespread and in some cases extensive. Please
update to HEAD and report any issues.
BTW, before releasing all changed projects
were tagged as "beforeRepoRefactoring0917"