Created
September 12, 2021 20:45
-
-
Save riprasad/e14d0508e8c086426754c5013f2bdc6e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import groovy.util.logging.Slf4j | |
import org.apache.maven.model.Build | |
import org.apache.maven.model.Dependency | |
import org.apache.maven.model.DependencyManagement | |
import org.apache.maven.model.Plugin | |
import org.codehaus.plexus.util.xml.Xpp3Dom | |
import org.commonjava.maven.atlas.ident.ref.SimpleProjectVersionRef | |
import org.commonjava.maven.ext.common.ManipulationException | |
import org.commonjava.maven.ext.common.model.Project | |
import org.commonjava.maven.ext.core.groovy.BaseScript | |
import org.commonjava.maven.ext.core.groovy.InvocationPoint | |
import org.commonjava.maven.ext.core.groovy.InvocationStage | |
import org.commonjava.maven.ext.core.groovy.PMEBaseScript | |
import org.commonjava.maven.ext.core.ManipulationSession | |
import org.commonjava.maven.ext.core.state.RESTState | |
import org.commonjava.maven.ext.io.rest.Translator | |
import org.commonjava.maven.atlas.ident.ref.SimpleProjectRef | |
@InvocationPoint(invocationPoint = InvocationStage.FIRST) | |
@PMEBaseScript BaseScript pme | |
@Slf4j | |
public class MangleVersion { | |
BaseScript pme; | |
def execute() { | |
log.info "##########################################################################################################################################" | |
pme.projects.each { | |
project -> | |
def deps = [project.model?.dependencies, project.model?.dependencyManagement?.dependencies].flatten() //aggregate the 2 sets in a single list | |
deps.removeAll { it == null } // remove nulls | |
log.info " # Scanning Module => $project.groupId:$project.artifactId" | |
// artifact 'org.everit.json.schema' is available from group 'org.everit.json' in Indy | |
overrideGroupId(deps, "org.everit.json", "com.github.everit-org.json-schema") | |
} | |
log.info "##########################################################################################################################################" | |
} | |
def overrideGroupId(deps, String oldGroup, String newGroup) { | |
deps.each { | |
dep -> | |
log.debug "$dep" | |
if (dep.groupId == oldGroup) { | |
log.info "\t--------------------------------------------------------------------------------------------------------" | |
log.info "\tCustom Adjustments : Overriding groupId: '$oldGroup' ---> $newGroup" | |
log.info "\t--------------------------------------------------------------------------------------------------------" | |
log.info "\tOld Coordinates: $dep" | |
dep.groupId = newGroup | |
log.info "\tNew Coordinates: $dep" | |
log.info "\t------------------------------------------ GroupId Overriden -------------------------------------------" | |
log.info "" | |
} | |
} | |
} | |
} | |
MangleVersion mangleVersion = new MangleVersion(pme: pme) | |
mangleVersion.execute() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment