mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
40 lines
1.1 KiB
Groovy
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 + '\'' +
|
|
'}'
|
|
}
|
|
}
|