tycho-source:feature-source
Full name:
org.eclipse.tycho:tycho-source-plugin:5.0.0:feature-source
Deprecated:
Source features are used for a long time to include sources in development environments but they where always brittle to use and badly integrated. As nowadays Tycho/P2 offers better ways to archive similar, the automatic generation of such features is deprecated and will be removed on the next release. In cases where this is still required, one should replace it with an explicitly maintained source feature in a dedicated module.
Description:
Generates a source feature for projects of packaging type eclipse-feature
. By default, the generated source feature
- Declares feature id
<originalFeatureId>.source
- Declares feature label
"<originalFeatureLabel> Developer Resources"
- If present, reuses feature provider, description, copyright and license as well as respective URLs from <originalFeature>
- Includes all plugins included by <originalFeature>, but each with
.source
appended to each plugin id - Includes all features included by <originalFeature>, but each with
.source
appended to each feature id - Includes the original feature. This ensures that binaries and corresponding sources match.
sourceTemplateFeature/
. Files added here will be added to the root of the source feature jar. Especially, if file sourceTemplateFeature/feature.properties
is found, values in this file override values of respective keys in <originalFeature>/feature.properties
.
Attributes:
- Requires a Maven project to be executed.
- The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
package
.
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<archive> |
MavenArchiveConfiguration |
- |
No description. |
<brandingPlugin> |
String |
- |
Use this to explicitly set the branding plugin attribute of the generated source feature (overrides reuseBrandingPlugin ). |
<excludes> |
PlexusConfiguration |
- |
Bundles and features that do not have corresponding sources. Example:
<excludes> <plugin id="plugin.nosource"/> <feature id="feature.nosource"/> </excludes> |
<finalName> |
String |
- |
The filename to be used for the generated archive file. For the source-feature goal, "-sources-feature" is appended to this filename. User Property: project.build.finalName |
<includeBinaryFeature> |
boolean |
- |
Whether to add an include dependency from the source feature to the corresponding binary feature. If true , this ensures the version of the installed sources matches the binaries.Default: true |
<labelSuffix> |
String |
- |
Source feature label suffix. Unless explicitly provided in sourceTemplateFeature/feature.properties , this suffix will be appended to the original feature label to construct the source feature label.Default: Developer Resources |
<missingSourcesAction> |
SourceFeatureMojo$MissingSourcesAction |
- |
No description. Default: WARN |
<outputTimestamp> |
String |
- |
Timestamp for reproducible output archive entries, either formatted as ISO 8601 extended offset date-time (e.g. in UTC such as '2011-12-03T10:15:30Z' or with an offset '2019-10-05T20:37:42+06:00'), or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH). Default: ${project.build.outputTimestamp} |
<plugins> |
PlexusConfiguration |
- |
Additional plugins to include in the generated source feature. Beware that these additional plugins are not considered during build target platform calculation and ordering of reactor projects. Use <extraRequirements> dependency resolver configuration to guarantee proper reactor build order.
WARNING This experimental parameter may be removed from future source-feature mojo versions without prior notice. |
<reuseBrandingPlugin> |
boolean |
- |
Whether to reuse an explicit branding plugin from the binary feature for the generated source feature. Default: true |
<skip> |
boolean |
- |
Whether to skip source feature generation. Default: false |
<useDefaultExcludes> |
boolean |
- |
No description. Default: true |
Parameter Details
<archive>
- Type:
org.apache.maven.archiver.MavenArchiveConfiguration
- Required:
No
<brandingPlugin>
reuseBrandingPlugin
).- Type:
java.lang.String
- Required:
No
<excludes>
<excludes> <plugin id="plugin.nosource"/> <feature id="feature.nosource"/> </excludes>
- Type:
org.codehaus.plexus.configuration.PlexusConfiguration
- Required:
No
<finalName>
- Type:
java.lang.String
- Required:
No
- User Property:
project.build.finalName
<includeBinaryFeature>
true
, this ensures the version of the installed sources matches the binaries.- Type:
boolean
- Required:
No
- Default:
true
<labelSuffix>
sourceTemplateFeature/feature.properties
, this suffix will be appended to the original feature label to construct the source feature label.- Type:
java.lang.String
- Required:
No
- Default:
Developer Resources
<missingSourcesAction>
- Type:
org.eclipse.tycho.source.SourceFeatureMojo$MissingSourcesAction
- Required:
No
- Default:
WARN
<outputTimestamp>
- Type:
java.lang.String
- Required:
No
- Default:
${project.build.outputTimestamp}
<plugins>
WARNING This experimental parameter may be removed from future source-feature mojo versions without prior notice.
- Type:
org.codehaus.plexus.configuration.PlexusConfiguration
- Required:
No
<reuseBrandingPlugin>
- Type:
boolean
- Required:
No
- Default:
true
<skip>
- Type:
boolean
- Required:
No
- Default:
false
<useDefaultExcludes>
- Type:
boolean
- Required:
No
- Default:
true