假设我有一个共享库GlobalSharedLibs,该存储库包含:
/vars/global.groovy
我还有一个Java库JavaSharedLibs,其中包含:
/vars/javaBuild.groovy (and others)
我还有一个JavaScript存储库JsSharedLibs,其中包含:
/vars/javascriptBuild.groovy (and others)
global.groovy脚本具有javaBuild和javascriptBuild的通用代码。我希望在每个Java构建和JavaScript构建中都包含全局库。
稍后,我将在Java构建中使用javaBuild:
@Library('JavaSharedLibs')_
javaBuild{
}
JavaScript版本将使用javascriptBuild:
@Library('JsSharedLibs')_
javascriptBuild{
}
我可以通过在this example中为Java分配消耗应用程序中的两个应用程序来使其工作:
@Library(['GlobalSharedLibs', 'JavaSharedLibs'])_
javaBuild{
}
我希望避免这种情况,因为它会将对GlobalSharedLib的引用散布在数百个应用程序中(并在开发人员手中),而不是在少数其他共享库中传播。