tycho-source:plugin-source

Full name:

org.eclipse.tycho:tycho-source-plugin:5.0.0-SNAPSHOT:plugin-source

Description:

Goal to create a JAR-package containing all the source files of a osgi project.

Attributes:

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

Required Parameters

Name Type Since Description
<defaultManifestFile> File 2.1 Path to the default MANIFEST file to use. It will be used if useDefaultManifestFile is set to true.
Default: ${project.build.outputDirectory}/META-INF/MANIFEST.MF

Optional Parameters

Name Type Since Description
<additionalFileSets> DefaultFileSet[] - Additional files to be included in the source bundle jar. This can be used when src.includes in build.properties is not flexible enough , e.g. for files which would otherwise conflict with files in bin.includes
Example:
<additionalFileSets>
 <fileSet>
  <directory>${project.basedir}/sourceIncludes/</directory>
  <includes>
   <include>**/*</include>
  </includes>
 </fileSet>     
</additionalFileSets>
<archive> MavenArchiveConfiguration 2.1 The archive configuration to use. See Maven Archiver Reference.
<attach> boolean - Specifies whether or not to attach the artifact to the project
Default: true
User Property: attach
<classifier> String - The source bundles classifier. The name of the source bundle will be finalName- classifier.jar
Default: sources
<distinctSourceRoots> boolean - Whether sources for nested jars should be put into distinct source root folders inside the source jar (one source root per nested jar). E.g. if this paramater is true and there is a nested jar named foo.jar, all of its sources will go into folder foosrc/. Otherwise all sources for all jars, nested or not, will go into the root of the source jar (this is the default as it provides interoperability with maven source jars).
Default: false
<excludeResources> boolean 2.0.4 Specifies whether or not to exclude resources from the sources-jar. This can be convenient if your project includes large resources, such as images, and you don't want to include them in the sources-jar.
Default: false
User Property: source.excludeResources
<excludes> String[] 2.1 List of files to exclude. Specified as fileset patterns which are relative to the input directory whose contents is being packaged into the JAR.
<finalName> String - The filename to be used for the generated archive file. For the source:jar goal, "-sources" is appended to this filename. For the source:test-jar goal, "-test-sources" is appended.
User Property: project.build.finalName
<forceCreation> boolean 2.1 NOT SUPPORTED. Whether creating the archive should be forced. If set to true, the jar will always be created. If set to false, the jar will only be created when the sources are newer than the jar.
Default: false
User Property: source.forceCreation
<includePom> boolean 2.1 Specifies whether or not to include the POM file in the sources-jar.
Default: false
User Property: source.includePom
<includes> String[] 2.1 List of files to include. Specified as fileset patterns which are relative to the input directory whose contents is being packaged into the JAR.
<outputDirectory> File - The directory where the generated archive file will be put.
User Property: project.build.directory
<qualifier> String - Build qualifier. Recommended way to set this parameter is using build-qualifier goal. Only used when creating a source bundle.
User Property: buildQualifier
<sourceBundle> boolean - Whether the source jar should be an Eclipse source bundle.
Default: true
<sourceBundleSuffix> String - The suffix to be added to the symbolic name of the bundle to construct the symbolic name of the Eclipse source bundle.
Default: .source
User Property: sourceBundleSuffix
<strictSrcIncludes> boolean - If set to true (the default), missing build.properties src.includes will cause build failure. If set to false, missing build.properties src.includes will be reported as warnings but the build will not fail.
Default: true
<useDefaultExcludes> boolean 2.1 Exclude commonly excluded files such as SCM configuration. These are defined in the plexus FileUtils.getDefaultExcludes()
Default: true
<useDefaultManifestFile> boolean 2.1 Set this to true to enable the use of the defaultManifestFile.

Default: false
<useDefaultSourceExcludes> boolean - Whether default source excludes for SCM files defined in {AbstractScanner#DEFAULTEXCLUDES} should be used.
Default: true

Parameter Details

<additionalFileSets>

Additional files to be included in the source bundle jar. This can be used when src.includes in build.properties is not flexible enough , e.g. for files which would otherwise conflict with files in bin.includes
Example:
<additionalFileSets>
 <fileSet>
  <directory>${project.basedir}/sourceIncludes/</directory>
  <includes>
   <include>**/*</include>
  </includes>
 </fileSet>     
</additionalFileSets>
  • Type: org.codehaus.plexus.archiver.util.DefaultFileSet[]
  • Required: No

<archive>

The archive configuration to use. See Maven Archiver Reference.
  • Type: org.apache.maven.archiver.MavenArchiveConfiguration
  • Since: 2.1
  • Required: No

<attach>

Specifies whether or not to attach the artifact to the project
  • Type: boolean
  • Required: No
  • User Property: attach
  • Default: true

<classifier>

The source bundles classifier. The name of the source bundle will be finalName- classifier.jar
  • Type: java.lang.String
  • Required: No
  • Default: sources

<defaultManifestFile>

Path to the default MANIFEST file to use. It will be used if useDefaultManifestFile is set to true.
  • Type: java.io.File
  • Since: 2.1
  • Required: Yes
  • Default: ${project.build.outputDirectory}/META-INF/MANIFEST.MF

<distinctSourceRoots>

Whether sources for nested jars should be put into distinct source root folders inside the source jar (one source root per nested jar). E.g. if this paramater is true and there is a nested jar named foo.jar, all of its sources will go into folder foosrc/. Otherwise all sources for all jars, nested or not, will go into the root of the source jar (this is the default as it provides interoperability with maven source jars).
  • Type: boolean
  • Required: No
  • Default: false

<excludeResources>

Specifies whether or not to exclude resources from the sources-jar. This can be convenient if your project includes large resources, such as images, and you don't want to include them in the sources-jar.
  • Type: boolean
  • Since: 2.0.4
  • Required: No
  • User Property: source.excludeResources
  • Default: false

<excludes>

List of files to exclude. Specified as fileset patterns which are relative to the input directory whose contents is being packaged into the JAR.
  • Type: java.lang.String[]
  • Since: 2.1
  • Required: No

<finalName>

The filename to be used for the generated archive file. For the source:jar goal, "-sources" is appended to this filename. For the source:test-jar goal, "-test-sources" is appended.
  • Type: java.lang.String
  • Required: No
  • User Property: project.build.finalName

<forceCreation>

NOT SUPPORTED. Whether creating the archive should be forced. If set to true, the jar will always be created. If set to false, the jar will only be created when the sources are newer than the jar.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • User Property: source.forceCreation
  • Default: false

<includePom>

Specifies whether or not to include the POM file in the sources-jar.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • User Property: source.includePom
  • Default: false

<includes>

List of files to include. Specified as fileset patterns which are relative to the input directory whose contents is being packaged into the JAR.
  • Type: java.lang.String[]
  • Since: 2.1
  • Required: No

<outputDirectory>

The directory where the generated archive file will be put.
  • Type: java.io.File
  • Required: No
  • User Property: project.build.directory

<qualifier>

Build qualifier. Recommended way to set this parameter is using build-qualifier goal. Only used when creating a source bundle.
  • Type: java.lang.String
  • Required: No
  • User Property: buildQualifier

<sourceBundle>

Whether the source jar should be an Eclipse source bundle.
  • Type: boolean
  • Required: No
  • Default: true

<sourceBundleSuffix>

The suffix to be added to the symbolic name of the bundle to construct the symbolic name of the Eclipse source bundle.
  • Type: java.lang.String
  • Required: No
  • User Property: sourceBundleSuffix
  • Default: .source

<strictSrcIncludes>

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

<useDefaultExcludes>

Exclude commonly excluded files such as SCM configuration. These are defined in the plexus FileUtils.getDefaultExcludes()
  • Type: boolean
  • Since: 2.1
  • Required: No
  • Default: true

<useDefaultManifestFile>

Set this to true to enable the use of the defaultManifestFile.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • Default: false

<useDefaultSourceExcludes>

Whether default source excludes for SCM files defined in {AbstractScanner#DEFAULTEXCLUDES} should be used.
  • Type: boolean
  • Required: No
  • Default: true