Mercury is still in it's 1.0.0-alpha-1-SNAPSHOT diapers, but I think it's important to communicate where it is going to. For Version 1.0.0 I plan to incorporate the following features:

  • New Jetty-client based transport layer
    • multi-threaded deployment and retrieval, transport client throws a set of Bindings (1 file request), and transport processes them in parallel
    • support for http, https, dav
    • support for authenticated proxy
    • only name/password authentication, certificates possibly, but most probably in the next release
    • support for pluggable StreamVerifiers
      • comes with SHA1 and OpenPGP implementations
  • New abstraction for Repository, split into Repository, RepositoryReader, RepositoryWriter
    • 3 GAV-based methods as a contract for RepositoryReader
    • 1 GAV-based method as a contract for RepositoryWriter
    • implementations for local and remote M2 repositories
    • Repository Metadata
      • preserve/populate existing maven-metadata.xml files
      • provide utility to create/repair those files
      • store local repo metadata in a lucene-based database
      • provide tools to create/repair/query this database
  • Version range processing standardization
    • OSGi based range definitions
    • attribute-based queries (to be documented)
  • SAT based dependency conflict resolver
  • client APIs for
    • Artifact retrieval/deployment
    • Dependency tree builder
    • Dependency tree resolver
  • Mercury could be used as a standalone library
    • I will try to create ant tasks for
      • dependency fetching
      • dependency resolution
      • ... please suggest
    • file signing/verification could be used standalone
  • No labels

1 Comment

  1. As for the Authentication mechanism, can the system/lib be rich enough to handle interactive challenge/response authentication as well?