From Fedora Project Wiki
(Start on guidelines rewrite.)
(Add javadoc section)
Line 5: Line 5:
This page contains Fedora guidelines for packaging Eclipse plug-ins. Since Eclipse plug-ins are also Java packages, this page extends (and where necessary, overrides) the guidelines laid out in the [[Packaging/Java|Fedora Packaging Guidelines for Java]]. If you are not familiar with Java packaging in Fedora, [[Packaging/Java|please read the Java guidelines]] before continuing.  
This page contains Fedora guidelines for packaging Eclipse plug-ins. Since Eclipse plug-ins are also Java packages, this page extends (and where necessary, overrides) the guidelines laid out in the [[Packaging/Java|Fedora Packaging Guidelines for Java]]. If you are not familiar with Java packaging in Fedora, [[Packaging/Java|please read the Java guidelines]] before continuing.  


== Package naming ==
== Package Naming ==


Packages '''MUST''' follow the standard Fedora [[Packaging/NamingGuidelines#Addon_Packages_.28Eclipse_plugins.29 | package naming guidelines]] for add-on packages.
Packages '''MUST''' follow the standard Fedora [[Packaging/NamingGuidelines#Addon_Packages_.28Eclipse_plugins.29 | package naming guidelines]] for add-on packages.
Line 23: Line 23:
And additionally, Eclipse plug-in binary packages or their dependencies '''MUST''' have Requires (generated by RPM or manual) on:
And additionally, Eclipse plug-in binary packages or their dependencies '''MUST''' have Requires (generated by RPM or manual) on:
* <code>eclipse-filesystem</code>
* <code>eclipse-filesystem</code>
* <code>eclipse-platform</code>
* <code>eclipse-platform</code> or <code>eclipse-platform >= 1:minimal_required_version</code>


{{admon/note|Note|In order to avoid circular dependencies, there is an exception to this rule. If the plug-in form a constituent part of the core Eclipse platform, then the binary package '''MUST NOT''' have a Requires on <code>eclipse-platform</code>.}}
{{admon/note|Note|In order to avoid circular dependencies, there is an exception to this rule. If the plug-in forms a constituent part of the core Eclipse platform, then the binary package '''MUST NOT''' have a Requires on <code>eclipse-platform</code>.}}
 
== Javadocs ==
 
Since Eclipse plug-ins provide their documentation through the Eclipse help system they '''SHOULD NOT''' have a javadoc sub-package. The normal javadoc generation can be disabled by passing an extra parameter to the Maven build command:
*<code>%mvn_build -j</code>


[[Category:Packaging guidelines]]
[[Category:Packaging guidelines]]

Revision as of 11:18, 6 May 2016

Introduction

This page contains Fedora guidelines for packaging Eclipse plug-ins. Since Eclipse plug-ins are also Java packages, this page extends (and where necessary, overrides) the guidelines laid out in the Fedora Packaging Guidelines for Java. If you are not familiar with Java packaging in Fedora, please read the Java guidelines before continuing.

Package Naming

Packages MUST follow the standard Fedora package naming guidelines for add-on packages.

BuildRequires and Requires

Eclipse plug-ins in Fedora are always built with Maven/Tycho, so they MUST BuildRequire it:

  • BuildRequires: tycho

And optionally, for plug-ins that make advanced use of Tycho:

  • BuildRequires: tycho-extras

Since Eclipse plug-in packages are also Java packages, the binary packages or their dependencies MUST have Requires (generated by RPM or manual) on:

  • java-headless or java-headless >= 1:minimal_required_version
  • javapackages-tools

And additionally, Eclipse plug-in binary packages or their dependencies MUST have Requires (generated by RPM or manual) on:

  • eclipse-filesystem
  • eclipse-platform or eclipse-platform >= 1:minimal_required_version
Note.png
Note
In order to avoid circular dependencies, there is an exception to this rule. If the plug-in forms a constituent part of the core Eclipse platform, then the binary package MUST NOT have a Requires on eclipse-platform.

Javadocs

Since Eclipse plug-ins provide their documentation through the Eclipse help system they SHOULD NOT have a javadoc sub-package. The normal javadoc generation can be disabled by passing an extra parameter to the Maven build command:

  • %mvn_build -j