github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/src/com/sap/piper/versioning/ArtifactVersioning.groovy (about) 1 package com.sap.piper.versioning 2 3 abstract class ArtifactVersioning implements Serializable { 4 5 final protected script 6 final protected Map configuration 7 8 protected ArtifactVersioning(script, configuration) { 9 this.script = script 10 this.configuration = configuration 11 } 12 13 public static getArtifactVersioning(buildTool, script, configuration) { 14 switch (buildTool) { 15 case 'dub': 16 return new DubArtifactVersioning(script, configuration) 17 case 'docker': 18 return new DockerArtifactVersioning(script, configuration) 19 case 'golang': 20 return new GolangArtifactVersioning(script, configuration) 21 case 'maven': 22 return new MavenArtifactVersioning(script, configuration) 23 case 'mta': 24 return new MtaArtifactVersioning(script, configuration) 25 case 'npm': 26 return new NpmArtifactVersioning(script, configuration) 27 case 'pip': 28 return new PipArtifactVersioning(script, configuration) 29 case 'sbt': 30 return new SbtArtifactVersioning(script, configuration) 31 default: 32 throw new IllegalArgumentException("No versioning implementation for buildTool: ${buildTool} available.") 33 } 34 } 35 36 abstract setVersion(version) 37 abstract getVersion() 38 39 protected echo(msg){ 40 script.echo("[${this.getClass().getSimpleName()}] ${msg}") 41 } 42 }