A simple gradle plugin:
- Manage and switch maven repositories under multiple namespaces;
 - Very convenient for private git maven warehouse management.
 
support gradle version('gradle/wrapper/gradle-wrapper.properties'): gradle-7.6+
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
- project 'build.gradle'
 
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath('io.github.oxsource:maven-repo-plugin:1.0.2')
    }
}
...
apply plugin: 'pizzk.gradle.maven.repo'
mavenrepo {
    changing(false)
    manifests {
        manifestLocal()
        manifestGitee(false)
    }
    namespace {
        include(["jitpack"], ['*'])
    }
}
- you can run gradle task 'mavenrepoHelp' for help
 
Task :usage:mavenrepoHelp ---BASIC-- 1. local root dir: [/Users/pizzk/.m2repo]; 2. manifest.xml config reference:
<?xml version="1.0" encoding="utf-8" ?>
<manifest>
<group name="default">
    <repo name="jitpack" url="https://jitpack.io"/>
</group>
<group name="<group>(required)" url="[git:|http:|file:](required)" type="[git](optional)">
    <repo name="<name>(required)" url="[@](required|inherit)" type="[@](required|inherit)" branch="[*](optional)" priority="[1-100](optional)"/>
</group>
</manifest>
---USAGE--
1. changing(changing: Boolean): resolve ignore cache while set changing true;
2. scope(value: List): extension api add to which projects;
3. manifestLocal(): `/Users/pizzk/.m2repo/manifests/manifest.xml`;
4. manifestGitee(changing: Boolean): `https://gitee.com/oxsource/mavenrepo.manifest/raw/main/manifest.xml`;
5. manifest(url: String, changing: Boolean): local or http manifest.xml;
6. include(names: List, scope: List): inject named repo into which project's repositories;
---WORKFLOW--
1. collect manifests then choose matching repo via include name and priority;
2. clone or pull manifest git repo into(/Users/pizzk/.m2repo/contents) sub dir;
3. repo transform to `maven{name,url}` and inject into `repositories` via policy;