Maven: автоматически обновлять только некоторые библиотеки до последней версии - PullRequest
0 голосов
/ 17 апреля 2020

Я создал родительский проект pom и некоторые библиотеки, которыми я управляю. Так, например:

<parent>
   <groupId>my.group</groupId>
   <artifactId>parent</artifactId>
   <version>1.2.3-SNAPSHOT</version>
</parent>

  <dependencies>
       ...a loooot of them
         <dependency>
               <groupId>my.group</groupId>
               <artifactId>lib</artifactId>
              <version>1.2.3-SNAPSHOT</version>
         </dependency>
       ..otheeeeers
  </dependencies>

Теперь я хотел бы всегда использовать последний выпуск или снимок, в зависимости от того, на какой я ветке разработка или выпуск. Проблема в том, что «новый» подход maven 3 имеет:

mvn versions:use-latest-releases //release
mvn versions:use-latest-versions //snapshot

Но это обновит все остальные зависимости, и я не хочу этого! Я просто хочу обновить те, которые имеют groupId my.group.

Возможно ли это?

edit:

Следуя советам, которые я использую khmarbaise :

mvn версии: использовать последние версии "-Dincludes = com.project.my: : : : "

Но похоже, что он работает только для версий без снимков. ie. Если я определяю версию моей библиотеки 0.0.2, она работает, в то время как 0.0.2-SNAPSHOT не видна ... это нормально?

Еще одна вещь, которую я заметил, это то, что она работает только для встроенных свойств, например, это не будет работать:

<my-lib.version>0.0.1-SNAPSHOT</my-lib.version>

<groupId>com.project.my</groupId>
<artifactId>mylib</artifactId>
<version>${my-lib.version}</version> <--- undetected, I need to put 0.0.1-SNAPSHOT explicitely

1 Ответ

0 голосов
/ 18 апреля 2020

Следуя советам Хмарбайса, просто позвоните как-нибудь как

mvn versions:use-latest-releases -Dincludes=mygroup:*:*:*:*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...