tycho-packaging:package-plugin

Full name:

org.eclipse.tycho:tycho-packaging-plugin:4.0.9:package-plugin

Description:

Creates a jar-based plugin and attaches it as an artifact

Attributes:

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

Required Parameters

Name Type Since Description
<buildDirectory> File - The output directory of the jar file By default this is the Maven "target/" directory.
User Property: project.build.directory
<finalName> String - Name of the generated JAR.
User Property: project.build.finalName
Alias: jarName

Optional Parameters

Name Type Since Description
<additionalFileSets> DefaultFileSet[] - Additional files to be included in the final .jar.

A typical usage might be when bin.includes in build.properties is not flexible enough, e.g., for generated files, as when conflicting additional files win over bin.includes.

Example:

<additionalFileSets>
 <fileSet>
  <directory>${project.build.directory}/mytool-gen/</directory>
  <includes>
   <include>**/*</include>
  </includes>
 </fileSet>
</additionalFileSets>
Note: currently, additional file sets are not used for the package-iu goal.
<archive> MavenArchiveConfiguration - The maven archiver to use. One of the archiver properties is the addMavenDescriptor flag, which indicates whether the generated archive will contain the pom.xml and pom.properties file. If no archive configuration is specified, the default value is true. If the maven descriptor should not be added to the artifact, use the following configuration:
<plugin>
  <groupId>org.eclipse.tycho</groupId>
  <artifactId>tycho-packaging-plugin</artifactId>
  <version>${tycho-version}</version>
  <configuration>
    <archive>
      <addMavenDescriptor>false</addMavenDescriptor>
    </archive>
  </configuration>
</plugin>
<checkServiceComponentFilesExist> boolean - If true, it is checked that the explicitly declared OSGi service component files exist.
Default: true
<deriveHeaderFromProject> boolean - Whether to derive OSGi-Headers from the maven-pom configuration, currently the following header are supported
  • org.osgi.framework.Constants.BUNDLE_LICENSE is generated from maven <licenses> configuration

Default: true
<deriveHeaderFromSource> boolean - Whether to derive OSGi-Headers from the sources, currently the following header are supported
  • org.osgi.framework.Constants.REQUIRE_CAPABILITY is enhanced by those from code annotations

Default: true
<qualifier> String - Build qualifier. Recommended way to set this parameter is using build-qualifier goal.
User Property: buildQualifier
<skip> boolean - If true, skips the packaging entirely.
Default: false
<sourceReferences> SourceReferences - Whether to generate an Eclipse-SourceReferences MANIFEST header. When using this parameter, property ${tycho.scmUrl} must be set and be a valid maven SCM URL. Example configuration:
        <sourceReferences>
          <generate>true</generate>
        </sourceReferences>
Note that a org.eclipse.tycho.packaging.sourceref.SourceReferencesProvider component must be registered for the SCM type being used. You may also override the generated value by configuring:
        <sourceReferences>
          <generate>true</generate>
          <customValue>scm:myscm:customSourceReferenceValue</customValue>
        </sourceReferences>
<strictBinIncludes> boolean - If set to true (the default), missing build.properties bin.includes will cause build failure. If set to false, missing build.properties bin.includes will be reported as warnings but the build will not fail.
Default: true
<useDefaultExcludes> boolean - No description.
Default: true

Parameter Details

<additionalFileSets>

Additional files to be included in the final .jar.

A typical usage might be when bin.includes in build.properties is not flexible enough, e.g., for generated files, as when conflicting additional files win over bin.includes.

Example:

<additionalFileSets>
 <fileSet>
  <directory>${project.build.directory}/mytool-gen/</directory>
  <includes>
   <include>**/*</include>
  </includes>
 </fileSet>
</additionalFileSets>
Note: currently, additional file sets are not used for the package-iu goal.
  • Type: org.codehaus.plexus.archiver.util.DefaultFileSet[]
  • Required: No

<archive>

The maven archiver to use. One of the archiver properties is the addMavenDescriptor flag, which indicates whether the generated archive will contain the pom.xml and pom.properties file. If no archive configuration is specified, the default value is true. If the maven descriptor should not be added to the artifact, use the following configuration:
<plugin>
  <groupId>org.eclipse.tycho</groupId>
  <artifactId>tycho-packaging-plugin</artifactId>
  <version>${tycho-version}</version>
  <configuration>
    <archive>
      <addMavenDescriptor>false</addMavenDescriptor>
    </archive>
  </configuration>
</plugin>
  • Type: org.apache.maven.archiver.MavenArchiveConfiguration
  • Required: No

<buildDirectory>

The output directory of the jar file By default this is the Maven "target/" directory.
  • Type: java.io.File
  • Required: Yes
  • User Property: project.build.directory

<checkServiceComponentFilesExist>

If true, it is checked that the explicitly declared OSGi service component files exist.
  • Type: boolean
  • Required: No
  • Default: true

<deriveHeaderFromProject>

Whether to derive OSGi-Headers from the maven-pom configuration, currently the following header are supported
  • org.osgi.framework.Constants.BUNDLE_LICENSE is generated from maven <licenses> configuration
  • Type: boolean
  • Required: No
  • Default: true

<deriveHeaderFromSource>

Whether to derive OSGi-Headers from the sources, currently the following header are supported
  • org.osgi.framework.Constants.REQUIRE_CAPABILITY is enhanced by those from code annotations
  • Type: boolean
  • Required: No
  • Default: true

<finalName>

Name of the generated JAR.
  • Type: java.lang.String
  • Required: Yes
  • User Property: project.build.finalName
  • Alias: jarName

<qualifier>

Build qualifier. Recommended way to set this parameter is using build-qualifier goal.
  • Type: java.lang.String
  • Required: No
  • User Property: buildQualifier

<skip>

If true, skips the packaging entirely.
  • Type: boolean
  • Required: No
  • Default: false

<sourceReferences>

Whether to generate an Eclipse-SourceReferences MANIFEST header. When using this parameter, property ${tycho.scmUrl} must be set and be a valid maven SCM URL. Example configuration:
        <sourceReferences>
          <generate>true</generate>
        </sourceReferences>
Note that a org.eclipse.tycho.packaging.sourceref.SourceReferencesProvider component must be registered for the SCM type being used. You may also override the generated value by configuring:
        <sourceReferences>
          <generate>true</generate>
          <customValue>scm:myscm:customSourceReferenceValue</customValue>
        </sourceReferences>
  • Type: org.eclipse.tycho.packaging.SourceReferences
  • Required: No

<strictBinIncludes>

If set to true (the default), missing build.properties bin.includes will cause build failure. If set to false, missing build.properties bin.includes will be reported as warnings but the build will not fail.
  • Type: boolean
  • Required: No
  • Default: true

<useDefaultExcludes>

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