Clean up support for generating service.version {}
This has been manually tested in a project external to this plugin, will need to get some integration tests going Real Soon Now(tm)
This commit is contained in:
parent
1eaca05ec2
commit
6c17234ef7
|
@ -54,6 +54,7 @@ test {
|
|||
}
|
||||
/* Whenever we're building an artifact, we should run the tests */
|
||||
assemble.dependsOn check
|
||||
jar.dependsOn check
|
||||
////////
|
||||
|
||||
|
||||
|
@ -69,6 +70,7 @@ task groovydocJar(type: Jar, dependsOn: groovydoc) {
|
|||
classifier = 'groovydoc'
|
||||
from groovydoc.destinationDir
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives sourcesJar
|
||||
archives groovydocJar
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
rootProject.name = 'service-artifact-plugin'
|
|
@ -17,9 +17,12 @@ class ServiceArtifactExtension {
|
|||
protected final Map<String, String> env
|
||||
protected Logger logger = LoggerFactory.getLogger(ServiceArtifactExtension.class)
|
||||
/** List of scm handler classes, in priority order */
|
||||
private final List<Class<AbstractScmHandler>> scmHandlerImpls = [scm.GerritHandler.class]
|
||||
private final List<Class<AbstractScmHandler>> scmHandlerImpls = [
|
||||
scm.GerritHandler.class,
|
||||
scm.GitHandler.class,
|
||||
]
|
||||
/** SCM Handler appropriate for this execution */
|
||||
private AbstractScmHandler scmHandler
|
||||
protected AbstractScmHandler _scmHandler
|
||||
|
||||
|
||||
ServiceArtifactExtension(final Project project) {
|
||||
|
@ -36,20 +39,20 @@ class ServiceArtifactExtension {
|
|||
* Lazily look up our SCM Handler
|
||||
*/
|
||||
AbstractScmHandler getScmHandler() {
|
||||
if (this.scmHandler != null) {
|
||||
return this.scmHandler
|
||||
if (this._scmHandler != null) {
|
||||
return this._scmHandler
|
||||
}
|
||||
|
||||
this.scmHandlerImpls.each { Class<AbstractScmHandler> h ->
|
||||
AbstractScmHandler handler = h.build(this.env)
|
||||
this.scmHandlerImpls.find {
|
||||
AbstractScmHandler handler = it.build(this.env)
|
||||
|
||||
if (handler.isAvailable()) {
|
||||
this.scmHandler = handler
|
||||
return
|
||||
this._scmHandler = handler
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return this.scmHandler
|
||||
return this._scmHandler
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -57,10 +60,8 @@ class ServiceArtifactExtension {
|
|||
* environment
|
||||
*/
|
||||
String version(final String baseVersion) {
|
||||
AbstractScmHandler handler = getScmHandler()
|
||||
|
||||
if (handler instanceof AbstractScmHandler) {
|
||||
return handler.annotatedVersion(baseVersion)
|
||||
if (this.scmHandler instanceof AbstractScmHandler) {
|
||||
return this.scmHandler.annotatedVersion(baseVersion)
|
||||
}
|
||||
|
||||
return baseVersion
|
||||
|
|
|
@ -9,6 +9,9 @@ class ServiceArtifactPlugin implements Plugin<Project> {
|
|||
/* Add the git plugin for finding out our projects meta-data */
|
||||
project.apply plugin: 'org.ajoberstar.release-base'
|
||||
|
||||
project.extensions.create('service', ServiceArtifactExtension, project, System.env)
|
||||
project.extensions.create('service',
|
||||
ServiceArtifactExtension,
|
||||
project,
|
||||
System.env)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,8 @@ class ServiceArtifactExtensionVersionSpec extends ServiceArtifactExtensionSpec {
|
|||
|
||||
def "version() should return an unmolested string by default"() {
|
||||
given:
|
||||
def ext = new ServiceArtifactExtension(this.project)
|
||||
def ext = Spy(ServiceArtifactExtension, constructorArgs: [this.project])
|
||||
1 * ext.getScmHandler() >> null
|
||||
|
||||
when:
|
||||
String version = ext.version('1.0')
|
||||
|
|
Loading…
Reference in New Issue