[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mh_make full log



Geert Stappers <stappers@stappers.nl> writes:

> Thing that I mis is what to modify to get
> |-      <groupId>org.apache.felix</groupId>
> |:      <artifactId>maven-bundle-plugin</artifactId>
> |-      <version>3.5.0</version>
> upon:
>   mvn help:effective-pom -Doutput=effective-pom.xml
>   grep --context=1 maven-bundle-plugin effective-pom.xml
> before running
>   mh_make
> again

First, here is some background. The version 3.2.0 comes from the parent
POM hierarchy which is:

--8<---------------cut here---------------start------------->8---
$ mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.1:display-ancestors |grep --before-context=1 "Ancestor POMs"
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-modules-base ---
[INFO] Ancestor POMs: com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-module-afterburner ---
[INFO] Ancestor POMs: com.fasterxml.jackson.module:jackson-modules-base:2.9.4 <- com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-module-guice ---
[INFO] Ancestor POMs: com.fasterxml.jackson.module:jackson-modules-base:2.9.4 <- com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-module-jaxb-annotations ---
[INFO] Ancestor POMs: com.fasterxml.jackson.module:jackson-modules-base:2.9.4 <- com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-module-mrbean ---
[INFO] Ancestor POMs: com.fasterxml.jackson.module:jackson-modules-base:2.9.4 <- com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-module-osgi ---
[INFO] Ancestor POMs: com.fasterxml.jackson.module:jackson-modules-base:2.9.4 <- com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--
[INFO] --- maven-dependency-plugin:3.1.1:display-ancestors (default-cli) @ jackson-module-paranamer ---
[INFO] Ancestor POMs: com.fasterxml.jackson.module:jackson-modules-base:2.9.4 <- com.fasterxml.jackson:jackson-base:2.9.4 <- com.fasterxml.jackson:jackson-bom:2.9.4 <- com.fasterxml.jackson:jackson-parent:2.9.1 <- com.fasterxml:oss-parent:30
--8<---------------cut here---------------end--------------->8---

In this case, com.fasterxml:oss-parent:pom:30 defines the version of
maven-bundle-plugin as:

--8<---------------cut here---------------start------------->8---
<project>
  <properties>
    <version.plugin.bundle>3.2.0</version.plugin.bundle>
  </properties>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${version.plugin.bundle}</version>
	</plugin>
      </plugins>
    </pluginManagement>
  </build>
  <plugins>
    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${version.plugin.bundle}</version>
        <extensions>true</extensions>
    </plugin>
  </plugins>
</project>
--8<---------------cut here---------------end--------------->8---

You have to dig through parent POMs manually, I don't have a way to
automate this with plain CLI, without extra efforts.

There are several ways to change the version of maven-bundle-plugin.

1) When building, you can re-assign the value of property
'version.plugin.bundle' by passing additional parameter to mvn:

    $ mvn -Dversion.plugin.bundle=3.5.0 ...

You can try it with effective-pom goal:

--8<---------------cut here---------------start------------->8---
$ mvn help:effective-pom -Doutput=effective-pom.xml
$ mvn -Dversion.plugin.bundle=3.5.0 help:effective-pom -Doutput=effective-pom-custom-bundle-plugin.xml
$ diff --unified effective-pom.xml effective-pom-custom-bundle-plugin.xml
--8<---------------cut here---------------end--------------->8---

2) Permanently, by adding re-assigning version in the POM:

--8<---------------cut here---------------start------------->8---
  <properties>
    <version.plugin.bundle>3.5.0</version.plugin.bundle>
  </properties>
--8<---------------cut here---------------end--------------->8---

3) Permanently, by adding this to the POM:

--8<---------------cut here---------------start------------->8---
  <plugins>
    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>3.5.0</version>
    </plugin>
  </plugins>
--8<---------------cut here---------------end--------------->8---

Ideally, 2) or 3) should be applied to com.fasterxml:oss-parent:pom:30
(the root of the hierarchy) and all sub-modules of the project will
inherit this. Otherwise, the same snippet should be applied for every
single sub-module.

-- 
Mykola
https://manandbytes.git{lab,hub}.io/


Reply to: