Skip to content
John Casey edited this page Aug 20, 2013 · 7 revisions

##Architecture

  • CDI + JAX-RS server architecture (designed/implemented on JBoss AS 7 / EAP 6)
  • REST with JSON wire protocol
  • JavaScript (jQuery + Spine.js + AJAX) default UI architecture
  • Add-ons supported via CDI @Decorator and JEE Event/@Observes APIs

##Repository Management Features

  • Proxied repositories (Repositories)
  • Deployment points (hosted repositories) (DeployPoints)
    • Separate en/disable flags for snapshots and releases, allowing them to be stored together, or separately (or, not at all)
  • Groups - Prioritized, logical grouping containing Repositories, Deploy Points, and other Groups
    • Deployment to any group that contains an appropriate Deploy Point in its membership
    • Merging of archetype catalog, maven-metadata, etc.
    • Aggregation of Maven repository indexes (used by m2eclipse and other tools)
  • Artifact expiration (Repositories and Deploy Points)
    • Pass-through support for Repositories (minimal caching to support continuously changing content on the remote site)
    • Expirations in Deploy Points are for snapshots ONLY

##Repository (Proxy) Features

  • HTTP proxy support per-repository
  • Advanced SSL support per-repository
    • X.509 SSL mutual authentication
    • Self-signed server certificates

##Add-Ons

(NOTE: See Add-Ons for more information.)

  • Auto-proxying

    • Automatically create proxies to other repository manager instances using a remote base-URL and templating configuration
    • Proxies created on-demand when they are referenced
  • Dependency graphing support

    • Uses Cartographer for graph discovery and manipulation
    • Uses Galley as an artifact transport API
    • Uses Atlas for artifact identities and as a project-relationship database
    • Resolve entire (or subset) project-relationship graph starting from one or more top-level GAVs
    • Filter and retrieve depgraphs in a variety of formats:
      • modified dependency:tree format
      • JSON listing of relationship metadata
      • BOM file
      • Graphviz DOT file
  • WebDAV service (dot-maven)

    • Access to browse artifact storage
    • Generated settings.xml files tailored to each repository, group, and deploy-point on the system. For example:
      1. Mount http://localhost:8080/aprox/mavdav to /Volumes mavdav
      2. mvn -s /Volumes/mavdav/settings/groups/settings-public.xml clean install
      3. Artifacts stored in $HOME/.m2/repo-group-public
      4. If public group contains a deploy-point, override properties for maven-deploy-plugin are included
Clone this wiki locally