1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/test/groovy/ProjectSource.groovy
2017-11-10 16:30:52 +01:00

40 lines
1.1 KiB
Groovy

import com.lesfurets.jenkins.unit.global.lib.SourceRetriever
import groovy.transform.CompileStatic
import groovy.transform.Immutable
/**
* Retrieves the shared lib sources of the current project which are expected to be
* at the default location "./vars".
*/
@Immutable
@CompileStatic
class ProjectSource implements SourceRetriever {
String sourceURL
/*
* None of the parameters provided in the signature are used in the use-case of that retriever.
*/
@Override
List<URL> retrieve(String repository, String branch, String targetPath) {
def sourceDir = new File(sourceURL)
if (sourceDir.exists()) {
return [sourceDir.getAbsoluteFile().toURI().toURL()]
}
throw new IllegalStateException("Directory $sourceDir.path does not exists")
}
static ProjectSource projectSource(String sourceDir = '.') {
new ProjectSource(sourceDir)
}
@Override
String toString() {
return "${getClass().getSimpleName()}{" +
"sourceURL='" + sourceURL + '\'' +
'}'
}
}