Fetch versions of the defined artifacts on a nexus and ensures it is set as github release artifacts.

Coordinates

<plugin>
  <groupId>io.yupiik.maven</groupId>
  <artifactId>yupiik-tools-maven-plugin</artifactId>
  <version>1.2.2-SNAPSHOT</version>
</plugin>

To call this goal from the command line execute: mvn yupiik-tools:synchronize-github-releases.

To bind this goal in the build you can use:

<plugin>
  <groupId>io.yupiik.maven</groupId>
  <artifactId>yupiik-tools-maven-plugin</artifactId>
  <version>1.2.2-SNAPSHOT</version>
  <executions>
    <execution>
      <id>my-execution</id>
      <goals>
        <goal>synchronize-github-releases</goal>
      </goals>
      <configuration>
        <!-- execution specific configuration come there -->
      </configuration>
    </execution>
  </executions>
</plugin>

You can execute this goal particularly with mvn yupiik-tools:synchronize-github-releases@my-execution command.

Configuration

artifacts (List)

Property: ${yupiik.synchronize-github-releases.artifacts}.

attachIfExists (boolean)

Default value: false. Property: ${yupiik.synchronize-github-releases.attachIfExists}.

dryRun (boolean)

Property: ${yupiik.synchronize-github-releases.dryRun}.

force (boolean)

Default value: false. Property: ${yupiik.synchronize-github-releases.force}.

forceHttpV1 (boolean)

Default value: true. Property: ${yupiik.synchronize-github-releases.forceHttpV1}.

githubBaseApi (String)

Default value: https://api.github.com/ . Property: ${yupiik.synchronize-github-releases.githubRepository}.

githubRepository (String)

Property: ${yupiik.synchronize-github-releases.githubRepository}.

githubServerId (String)

Default value: github.com. Property: ${yupiik.synchronize-github-releases.githubServerId}.

mavenRepositoryBaseUrl (String)

Default value: https://repo.maven.apache.org/maven2/ . Property: ${yupiik.synchronize-github-releases.mavenRepositoryBaseUrl}.

nexusServerId (String)

Property: ${yupiik.synchronize-github-releases.nexusServerId}.

tagPattern (String)

Property: ${yupiik.synchronize-github-releases.tagPattern}.

threads (int)

Default value: 16. Property: ${yupiik.synchronize-github-releases.threads}.

workdir (String)

Default value: ${project.build.directory}/synchronize-github-releases-workdir. Property: ${yupiik.synchronize-github-releases.workdir}.