You've already forked jenkins-lib
mirror of
https://github.com/firstBitMarksistskaya/jenkins-lib.git
synced 2025-08-25 20:09:25 +02:00
fix load extensions, fix README
This commit is contained in:
@@ -259,8 +259,8 @@ pipeline1C()
|
|||||||
* [Coverage41C](https://github.com/1c-syntax/Coverage41C), его необходимо установить на агент отдельно
|
* [Coverage41C](https://github.com/1c-syntax/Coverage41C), его необходимо установить на агент отдельно
|
||||||
* EDT нужной версии или отдельные jar-файлы из его каталога установки, подробнее см. в [Coverage41C/README.md](https://github.com/1c-syntax/Coverage41C)
|
* EDT нужной версии или отдельные jar-файлы из его каталога установки, подробнее см. в [Coverage41C/README.md](https://github.com/1c-syntax/Coverage41C)
|
||||||
* Если на агенте Coverage41C не включен в PATH, необходимо указать полный путь к нему в параметре `coverage41CPath`
|
* Если на агенте Coverage41C не включен в PATH, необходимо указать полный путь к нему в параметре `coverage41CPath`
|
||||||
* Сбор замеров покрытия активируется для каждого стейджа отдельно с помощью установки параметра `"coverage": true`
|
* Сбор замеров покрытия активируется для каждого этапа отдельно с помощью установки параметра `"coverage": true`
|
||||||
* поддерживаются `bdd` и `yaxunit`, для использования замеров на стейже `smoke` ожидается исправление vanessa-add в этом [PR](https://github.com/vanessa-opensource/add/pull/1153)
|
* поддерживаются `bdd` и `yaxunit`, для использования замеров на этапе `smoke` ожидается исправление vanessa-add в этом [PR](https://github.com/vanessa-opensource/add/pull/1153)
|
||||||
* Чтобы замеры в `bdd`, `yaxunit`, `smoke` могли выполняться параллельно **на одном агенте**, необходимо указывать для них разные порты отладки в параметре `dbgsPort`.
|
* Чтобы замеры в `bdd`, `yaxunit`, `smoke` могли выполняться параллельно **на одном агенте**, необходимо указывать для них разные порты отладки в параметре `dbgsPort`.
|
||||||
* Не забудьте настроить подключение клиентов тестирования к серверу отладки.
|
* Не забудьте настроить подключение клиентов тестирования к серверу отладки.
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@ class LoadExtensions implements Serializable {
|
|||||||
|
|
||||||
private Extension[] extensionsFiltered
|
private Extension[] extensionsFiltered
|
||||||
|
|
||||||
LoadExtensions(JobConfiguration config, String stageName = "") {
|
LoadExtensions(JobConfiguration config, String stageName) {
|
||||||
this.config = config
|
this.config = config
|
||||||
this.stageName = stageName
|
this.stageName = stageName
|
||||||
}
|
}
|
||||||
@@ -33,13 +33,19 @@ class LoadExtensions implements Serializable {
|
|||||||
|
|
||||||
def extensions = this.config.initInfoBaseOptions.extensions
|
def extensions = this.config.initInfoBaseOptions.extensions
|
||||||
|
|
||||||
if (this.stageName) {
|
// NB: расширения, подключаемые на этапе initInfoBase, остаются подключенными на всех остальных этапах
|
||||||
this.extensionsFiltered = extensions.findAll { extension ->
|
if (this.stageName == "initInfoBase") {
|
||||||
extension.stages.contains(this.stageName)
|
// подключаются все расширения, у которых явно указано подключение на текущем этапе
|
||||||
}
|
// и те расширения, в которых этапы подключения не указаны вообще
|
||||||
}
|
this.extensionsFiltered = extensions.findAll({ extension ->
|
||||||
else {
|
extension.stages.contains(this.stageName) || extension.stages.length == 0
|
||||||
this.extensionsFiltered = extensions.findAll { extension -> extension.stages.length == 0 || extension.stages.contains("initInfoBase") }
|
})
|
||||||
|
} else {
|
||||||
|
// на остальных этапах подключаются расширения, которые не были подключены на этапе initInfoBase
|
||||||
|
// и у которых явно указано подключение на текущем этапе
|
||||||
|
this.extensionsFiltered = extensions.findAll({ extension ->
|
||||||
|
!extension.stages.contains("initInfoBase") && extension.stages.contains(this.stageName)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
def env = steps.env()
|
def env = steps.env()
|
||||||
|
@@ -35,7 +35,7 @@ class LoadExtensionsTest {
|
|||||||
.thenReturn(new FilePath(new File("/")));
|
.thenReturn(new FilePath(new File("/")));
|
||||||
|
|
||||||
// given
|
// given
|
||||||
// файл содержит 4 расширения для разных стейджей
|
// файл содержит 4 расширения для разных этапов
|
||||||
String config = IOUtils.resourceToString(
|
String config = IOUtils.resourceToString(
|
||||||
"jobConfiguration.json",
|
"jobConfiguration.json",
|
||||||
StandardCharsets.UTF_8,
|
StandardCharsets.UTF_8,
|
||||||
@@ -44,11 +44,11 @@ class LoadExtensionsTest {
|
|||||||
JobConfiguration jobConfiguration = ConfigurationReader.create(config);
|
JobConfiguration jobConfiguration = ConfigurationReader.create(config);
|
||||||
|
|
||||||
// when
|
// when
|
||||||
LoadExtensions loadExtensions = new LoadExtensions(jobConfiguration);
|
LoadExtensions loadExtensionsInit = new LoadExtensions(jobConfiguration, "initInfoBase");
|
||||||
loadExtensions.run();
|
loadExtensionsInit.run();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
InitInfoBaseOptions.Extension[] extensions = loadExtensions.getExtensionsFiltered();
|
InitInfoBaseOptions.Extension[] extensions = loadExtensionsInit.getExtensionsFiltered();
|
||||||
assertThat(extensions.length).isEqualTo(2);
|
assertThat(extensions.length).isEqualTo(2);
|
||||||
assertThat(extensions[0].getName()).isEqualTo("mods");
|
assertThat(extensions[0].getName()).isEqualTo("mods");
|
||||||
assertThat(extensions[1].getName()).isEqualTo("mods2");
|
assertThat(extensions[1].getName()).isEqualTo("mods2");
|
||||||
|
Reference in New Issue
Block a user