Manifest to fetch every Apache Maven git repositories using Google repo: default.xml
file configures the
directory structure where the different Git repositories will be put.
In addition, an aggregator build structure is provided to build everything as one aggregated build.
mkdir maven
cd maven
repo init -u https://gitbox.apache.org/repos/asf/maven-sources.git
repo sync
repo start master --all
Resulting directory tree looks like:
|-- core
| |-- build-cache
| |-- its
| |-- maven
| |-- maven-3
| |-- mvnd
| |-- resolver
| |-- resolver-ant-tasks
| `-- wrapper
|-- doxia
| |-- doxia
| |-- site
| |-- sitetools
| `-- tools
|-- misc
| |-- archetypes
| |-- dist-tool
| |-- gh-actions-shared
| |-- indexer
| |-- jenkins
| |-- plugin-testing
| |-- pom
| | |-- apache
| | |-- apache-resources
| | `-- maven
| |-- skins
| | |-- default
| | `-- fluido
| `-- wagon
|-- plexus
| |-- classworlds
| |-- codehaus-plexus.github.io
| |-- components
| | |-- archiver
| | |-- cipher
| | |-- compiler
| | |-- digest
| | |-- i18n
| | |-- interactivity
| | |-- interpolation
| | |-- io
| | |-- languages
| | |-- resources
| | |-- sec-dispatcher
| | |-- testing
| | `-- velocity
| |-- modello
| |-- plexus-containers
| |-- pom
| |-- utils
| `-- xml
|-- plugins
| |-- core
| | |-- maven-clean-plugin
| | |-- maven-compiler-plugin
| | |-- maven-deploy-plugin
| | |-- maven-install-plugin
| | |-- maven-resources-plugin
| | |-- maven-site-plugin
| | |-- maven-verifier-plugin
| | `-- surefire
| |-- packaging
| | |-- maven-acr-plugin
| | |-- maven-ear-plugin
| | |-- maven-ejb-plugin
| | |-- maven-jar-plugin
| | |-- maven-jlink-plugin
| | |-- maven-jmod-plugin
| | |-- maven-rar-plugin
| | |-- maven-shade-plugin
| | |-- maven-source-plugin
| | `-- maven-war-plugin
| |-- reporting
| | |-- jxr
| | |-- maven-changelog-plugin
| | |-- maven-changes-plugin
| | |-- maven-checkstyle-plugin
| | |-- maven-doap-plugin
| | |-- maven-javadoc-plugin
| | |-- maven-jdeps-plugin
| | |-- maven-linkcheck-plugin
| | |-- maven-pmd-plugin
| | `-- maven-project-info-reports-plugin
| `-- tools
| |-- archetype
| |-- enforcer
| |-- maven-antrun-plugin
| |-- maven-artifact-plugin
| |-- maven-assembly-plugin
| |-- maven-dependency-plugin
| |-- maven-gpg-plugin
| |-- maven-help-plugin
| |-- maven-invoker-plugin
| |-- maven-jarsigner-plugin
| |-- maven-jdeprscan-plugin
| |-- maven-patch-plugin
| |-- maven-pdf-plugin
| |-- maven-remote-resources-plugin
| |-- maven-scm-publish-plugin
| |-- maven-scripting-plugin
| |-- maven-stage-plugin
| |-- maven-toolchains-plugin
| |-- plugin-tools
| |-- release
| `-- scm
|-- shared
| |-- archiver
| |-- artifact-transfer
| |-- common-artifact-filters
| |-- dependency-analyzer
| |-- dependency-tree
| |-- file-management
| |-- filtering
| |-- invoker
| |-- jarsigner
| |-- mapping
| |-- project-utils
| |-- reporting-api
| |-- reporting-exec
| |-- reporting-impl
| |-- script-interpreter
| |-- shared-incremental
| |-- shared-io
| |-- shared-jar
| |-- shared-resources
| |-- shared-utils
| `-- verifier
|-- sisu
| `-- sisu-project
|-- site
|-- sources
| `-- aggregator
|-- studies
`-- svn
|-- doxia-ide
|-- repository-tools
`-- sandbox
Then simply use the content in this tree with normal git
commands.
Once content is cloned with previous instructions, you can build each local clone as a separate project.
You can also build absolutely everything in one aggregated run (WARNING: more than 400 modules...):
cd sources/aggregator
mvn --fail-at-end -Prun-its verify
mvn --fail-at-end -Preporting site
See Maven Sources Overview description.