tycho-p2-plugin:p2-metadata-default

Full name:

org.eclipse.tycho:tycho-p2-plugin:4.0.10:p2-metadata-default

Description:

P2 metadata generation goal bound to default artifact build lifecycle. For explicit binding use p2-metadata goal. The idea is to avoid double p2 metadata generation for projects that generate additional artifacts or post process standard artifacts using custom goals bound to package phase.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.

Optional Parameters

Name Type Since Description
<attachP2Metadata> boolean - No description.
Default: true
<baselineMode> BaselineMode - What happens when build artifact does not match baseline version:
  • disable: Disable baseline validation.
  • warn (default): Warn about discrepancies between build and baseline artifacts but do not fail the build.
  • failCommon: Fail the build if there are discrepancies between artifacts present both in build and baseline. Attached artifacts only present in the build do not result in build failure.
  • fail: Fail the build if there are any discrepancy between build and baseline artifacts.

Default: warn
User Property: tycho.baseline
<baselineReplace> BaselineReplace - Whether to replace build artifacts with baseline version or use reactor version:
  • none: Do not replace build artifacts with baseline version.
  • common: Replace build artifacts with baseline version. Attached artifacts only present in the build are not removed and will likely result in inconsistencies among artifacts of the same project! Use as last resort when baseline does not contain all build artifacts.
  • all (default): Replace build artifacts with baseline version. Attached artifacts only present in the build are removed.

Default: all
User Property: tycho.baseline.replace
<baselineRepositories> List<Repository> - Baseline build repository(ies).

P2 assumes that the same artifact type, id and version represent the same artifact. If baselineRepositories parameter is specified, this assumption is validated and optionally enforced.
<defaultP2Metadata> boolean - No description.
Default: true
<enhanceLogs> boolean - No description.
Default: false
<generateChecksums> boolean - No description.
Default: true
User Property: tycho.generateChecksums
<generateDownloadStatsProperty> boolean - Whether to generate a 'download.stats' property for artifact metadata. See https://wiki.eclipse.org/Equinox_p2_download_stats
Default: false
User Property: tycho.generateDownloadStatsProperty
<ignoredPatterns> List<String> - A list of file path patterns that are ignored when comparing the build artifact against the baseline version. <ignoredPatterns> <pattern>META-INF/ECLIPSE_.RSA<pattern> <pattern>META-INF/ECLIPSE_.SF</pattern> </ignoredPatterns>
<logDirectory> File - If given a folder, enhances the ECJ compiler logs with class compare errors so it can be analyzed by tools understanding that format
Default: ${project.build.directory}/compile-logs
<project> MavenProject - No description.
User Property: project
<supportedProjectTypes> List<String> - Project types which this plugin supports.
<writeComparatorDelta> boolean - Weather or not detailed information about encountered differences is written in case the comparison found some. The differing states in baseline and build are written to ${project.build.directory/artifactcomparison}
Default: false
User Property: tycho.debug.artifactcomparator

Parameter Details

<attachP2Metadata>

No description.
  • Type: boolean
  • Required: No
  • Default: true

<baselineMode>

What happens when build artifact does not match baseline version:
  • disable: Disable baseline validation.
  • warn (default): Warn about discrepancies between build and baseline artifacts but do not fail the build.
  • failCommon: Fail the build if there are discrepancies between artifacts present both in build and baseline. Attached artifacts only present in the build do not result in build failure.
  • fail: Fail the build if there are any discrepancy between build and baseline artifacts.
  • Type: org.eclipse.tycho.plugins.p2.BaselineMode
  • Required: No
  • User Property: tycho.baseline
  • Default: warn

<baselineReplace>

Whether to replace build artifacts with baseline version or use reactor version:
  • none: Do not replace build artifacts with baseline version.
  • common: Replace build artifacts with baseline version. Attached artifacts only present in the build are not removed and will likely result in inconsistencies among artifacts of the same project! Use as last resort when baseline does not contain all build artifacts.
  • all (default): Replace build artifacts with baseline version. Attached artifacts only present in the build are removed.
  • Type: org.eclipse.tycho.plugins.p2.BaselineReplace
  • Required: No
  • User Property: tycho.baseline.replace
  • Default: all

<baselineRepositories>

Baseline build repository(ies).

P2 assumes that the same artifact type, id and version represent the same artifact. If baselineRepositories parameter is specified, this assumption is validated and optionally enforced.
  • Type: java.util.List<org.eclipse.tycho.plugins.p2.Repository>
  • Required: No

<defaultP2Metadata>

No description.
  • Type: boolean
  • Required: No
  • Default: true

<enhanceLogs>

No description.
  • Type: boolean
  • Required: No
  • Default: false

<generateChecksums>

No description.
  • Type: boolean
  • Required: No
  • User Property: tycho.generateChecksums
  • Default: true

<generateDownloadStatsProperty>

Whether to generate a 'download.stats' property for artifact metadata. See https://wiki.eclipse.org/Equinox_p2_download_stats
  • Type: boolean
  • Required: No
  • User Property: tycho.generateDownloadStatsProperty
  • Default: false

<ignoredPatterns>

A list of file path patterns that are ignored when comparing the build artifact against the baseline version. <ignoredPatterns> <pattern>META-INF/ECLIPSE_.RSA<pattern> <pattern>META-INF/ECLIPSE_.SF</pattern> </ignoredPatterns>
  • Type: java.util.List<java.lang.String>
  • Required: No

<logDirectory>

If given a folder, enhances the ECJ compiler logs with class compare errors so it can be analyzed by tools understanding that format
  • Type: java.io.File
  • Required: No
  • Default: ${project.build.directory}/compile-logs

<project>

No description.
  • Type: org.apache.maven.project.MavenProject
  • Required: No
  • User Property: project

<supportedProjectTypes>

Project types which this plugin supports.
  • Type: java.util.List<java.lang.String>
  • Required: No

<writeComparatorDelta>

Weather or not detailed information about encountered differences is written in case the comparison found some. The differing states in baseline and build are written to ${project.build.directory/artifactcomparison}
  • Type: boolean
  • Required: No
  • User Property: tycho.debug.artifactcomparator
  • Default: false