[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tycho-dev] [discuss] tycho repository layout and metadata format
- From: Igor Fedorenko <igor@xxxxxxxxxxxxxx>
- Date: Fri, 27 May 2011 12:16:52 -0400
- Delivered-to: firstname.lastname@example.org
- User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:188.8.131.52) Gecko/20110424 Thunderbird/3.1.10
I think I am finally ready to give TYCHO-335  another try. For
uninitiated, this is about being able to share artifacts and
corresponding p2 metadata via a repository.Before I do anything I'd like
us to discuss and agree on high-level requirements for this
* synchronous or near-synchronous metadata update after deploy.
So if one Hudson (or cli) build deploys artifacts, the next build
is expected to be able to consume the artifacts
* efficiently support both deploy-only (i.e. RELEASE) and deploy-remove
(i.e. SNAPSHOT) repositories.
Although desirable, it is not a hard requirement to support both usage
patterns with single format, we can define two formats if needed.
* scale to 200K+ artifacts/installable units.
To put this in conext,
- there are ~160K artifacts in maven central 
- indigo M7 repo had ~11K IUs and was ~4.6M in size when jarred
- assuming comparable compression level, 200K IUs will be >65M jarred
* long term metadata compatibility strategy, i.e. artifacts deployed
with tycho 1.0 should be consumable by tycho 2.3.1
* focus on artifact deploy and dependency resolution during the build.
To help us manage scope of this work, I want to explicitly exclude
IU categories and other user-facing features from the scope.
* providing "simple" or "composite" p2 repository layouts is explicitly
NOT a requirement. likewise, using Maven2 repository layout is NOT
a requirement. Lets keep our options open
For bonus points
* allow efficient caching-proxy and aggregating repositories
* allow efficient implementation of fine-grained access control
* possibility to interact with maven-bundle-plugin and other maven
Did I miss anything? Comments, ideas?