Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: More updates on repository layout

...

  • repository layout
  • release process
  • documentation
  • CI...

Git at Apache

http://wiki.apache.org/general/GitAtApache
http://www.apache.org/dev/git.html

...

There are currently 250 projects (modules) in our repository, counted using the tooling/scm/scripts/gen-repo-candidates.sh script ( repo-candidates.txt ).

Currently we consider every Maven project for extraction into its own repository. As exception we have:

  • tooling/ide, which is a releasable unit by itself and not buildable as individual modules due to toolchain limitations
  • tooling/scm, which contains various utility scripts
  • tooling/jenkins, which contains the Groovy scripts used to generate the Jenkins jobs

Additionally, we will probably have one aggregator repo used to generate the full view over the git repositories, using repo, gitslave, or another tool that we will settle on.

Idea

  • one Git repository per project/module (we should keep it that simple - is launchpad really different, a release unit, Justin Edelson?)
  • grouping repositories with Google repo, e.g. core (bundles), launchpad, testing, samples, tooling as needed
  • using artifactId as repository name for artifacts (bundles, plugins, jars, ...) and simple names for grouping (builder/reactor) repositories
  • using Google repo allows developers to set up their own grouping repositories - even non Sling committers

...