Плагин версий Maven с не числовой версией

В настоящее время я выполняю работу Jenkins, целью которой является вызывать версии Maven: display-dependency-updates, чтобы найти последние доступные инкрементные обновления для моих зависимостей.

Однако плагин не справляется найти обновления для зависимостей, для которых основная версия похожа на develop. Действительно, я ссылаюсь на другие внутренние проекты в зависимостях моего проекта, все они начинаются с develop версий, пока мы не перейдем к ветви релиза, где мы будем ссылаться на нужную версию выпуска.

У меня есть выделенный POM для управления этими версиями, это выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>groupid</groupId>
        <artifactId>root</artifactId>
        <version>develop-SNAPSHOT</version>
    </parent>
    <artifactId>external-dependencies</artifactId>
    <packaging>pom</packaging>
    <properties>
        <dep1.version>2.3.18</dep1.version>
        <dep1.majorversion>2.3</dep1.majorversion>
        <dep1.version-range>[${dep1.majorversion}.0,${dep1.majorversion}.999)</dep1.version-range>
        <dep2.version>develop.5</dep2.version>
        <dep2.majorversion>develop</dep2.majorversion>
        <dep2.version-range>[${dep2.majorversion}.0,${dep2.majorversion}.999)</dep2.version-range>
        <dep3.version>1.0.1</dep3.version>
        <dep3.majorversion>1.0</dep3.majorversion>
        <dep3.version-range>[${dep3.majorversion}.0,${dep3.majorversion}.999)</dep3.version-range>
        <versions.to.update>
            dep1.version,
            dep2.version
        </versions.to.update>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>dep1.group</groupId>
                <artifactId>dep1.artifact</artifactId>
                <version>${dep1.version}</version>
            </dependency>
            <dependency>
                <groupId>dep2.group</groupId>
                <artifactId>dep2.artifact</artifactId>
                <version>${dep2.version}</version>
            </dependency>
            <dependency>
                <groupId>dep3.group</groupId>
                <artifactId>dep3.artifact</artifactId>
                <version>${dep3.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <includeProperties>${versions.to.update}</includeProperties>
                    <allowMajorUpdates>false</allowMajorUpdates>
                    <properties>
                        <property>
                            <name>dep1.version</name>
                            <version>${dep1.version-range}</version>
                        </property>
                        <property>
                            <name>dep2.version</name>
                            <version>${dep2.version-range}</version>
                        </property>
                    </properties>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Поэтому, когда я запускаю mvn versions:display-property-updates -DallowMajorUpdates=false, результат покажет мне возможные обновления dep1, но не dep2. Однако, удаление опции allowMajorUpdates вернет мне потенциальные обновления при разработке.

Мое понимание было бы в том, что Maven делает некоторые предположения в формате версии, например, численные, поэтому он не понимает develop как действительная версия и пропускает выполнение.

В конце концов, я хотел бы иметь возможность использовать параметр allowMajorUpdates, потому что я бы предпочел не проверять новые выпущенные версии зависимостей (мы получить информацию из других каналов), но потом я не получу мои обновления develop ...

Есть ли способ сделать проверку Maven, помимо своих собственных правил сравнения, форматов как develop?

Спасибо

0
задан 13 August 2018 в 15:45

0 ответов

Другие вопросы по тегам:

Похожие вопросы: