import groovy.util.logging.Slf4j
import org.commonjava.maven.atlas.ident.ref.SimpleProjectVersionRef
import org.commonjava.maven.ext.common.model.Project
import org.commonjava.maven.ext.core.groovy.BaseScript
import org.commonjava.maven.ext.core.groovy.InvocationStage
import org.commonjava.maven.ext.core.groovy.PMEBaseScript
import org.commonjava.maven.ext.core.groovy.PMEInvocationPoint

/**
*
* This script replaces the project version by the one from the org.kie:kie-parent project. Then once PME runs it takes the suffix from DA service
* This script should be removed since the appformer project version has been aligned with the rest of projects https://issues.jboss.org/browse/BXMSPROD-585
* The purpose of this script is to align the project version with the one from kie-parent.
* IMPORTANT: The -DversionOverride flag is mandatory
*
**/
@PMEInvocationPoint(invocationPoint = InvocationStage.FIRST)
@PMEBaseScript BaseScript pme
@Slf4j
class OverrideKieParentVersion {

    BaseScript pme
    Project project

    def execute() {
        def versionOverride = pme.getUserProperties().getProperty("versionOverride")
        log.info("OverrideKieParentVersion versionOverride property {} ", versionOverride)
        pme.overrideProjectVersion(SimpleProjectVersionRef.parse("org.kie:kie-parent:" + versionOverride))
        log.info("OverrideKieParentVersion set project version to {} ", project.getVersion())
    }
}

def OverrideKieParentVersion overrideKieParentVersion = new OverrideKieParentVersion(pme: pme, project: pme.getProject())
overrideKieParentVersion.execute()