[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-dev] [discuss] tycho repository layout and metadata format

I think I am finally ready to give TYCHO-335 [1] 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 [2]
  - 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
  OSGi tools


Did I miss anything? Comments, ideas?


[1] https://issues.sonatype.org/browse/TYCHO-335 [2] http://search.maven.org/#stats

--
Regards,
Igor