Fork me on GitHub

tycho-wrap:verify

Full name:

org.eclipse.tycho:tycho-wrap-plugin:6.0.0-SNAPSHOT:verify

Description:

Verifies that the OSGi metadata of a plain Maven project's main artifact is usable, without requiring a full OSGi integration test.

The manifest of the project artifact (e.g. generated by the maven-bundle-plugin or bnd-maven-plugin) is checked for a valid Bundle-SymbolicName and Bundle-Version. Then every non-optional Import-Package is matched against the packages provided by the running JVM and the project's dependencies. The build fails if an import can not be satisfied, or is only available from a dependency that is not an OSGi bundle. Each problem is reported with a hint how to resolve it.

This mojo does not need an Eclipse/Tycho build and can be added to any Maven project, bound by default to the verify phase and typically used after the manifest was generated:

<plugin>
  <groupId>org.eclipse.tycho</groupId>
  <artifactId>tycho-wrap-plugin</artifactId>
  <version>${tycho-version}</version>
  <executions>
    <execution>
      <goals><goal>verify</goal></goals>
    </execution>
  </executions>
</plugin>

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: verify.

Optional Parameters

Name Type Since Description
<ignored> Set<String> - Problems that should not fail the build, either temporary or permanently. Each entry must exactly match the requirement as printed in the error message, e.g. Import-Package: x.y.z. Optional imports are never reported.
<packaging> Set<String> - The packaging types of projects this mojo should verify, projects with a different packaging are skipped.
Default: jar

Parameter Details

<ignored>

Problems that should not fail the build, either temporary or permanently. Each entry must exactly match the requirement as printed in the error message, e.g. Import-Package: x.y.z. Optional imports are never reported.
  • Type: java.util.Set<java.lang.String>
  • Required: No

<packaging>

The packaging types of projects this mojo should verify, projects with a different packaging are skipped.
  • Type: java.util.Set<java.lang.String>
  • Required: No
  • Default: jar