Plug-in Compiler Preferences

Compilers preference page

Syntactic errors in plugin.xml, fragment.xml and MANIFEST.MF are all flagged as errors by the plug-in manifest compiler. As for semantic problems in the plug-in manifests, the severity for each problem category can be set to Error, Warning or Ignore.

Workspace vs. Project Settings

The plug-in compiler preferences are set at a workspace level on the Open the compilers preference page Window > Preferences... > Plug-in Development > Compilers preference page and take effect on all plug-in projects in the workspace.

It is also possible to override the workspace-scope settings by having compiler settings at the plug-in project level. To do so, select Properties from the context menu of a plug-in project. In the Properties dialog, project-level manifest compiler settings can be customized on the Plug-in Development > Plug-in Manifest Compiler preference page.

General Settings

Compilers preference page general section

Option

Description

Default

Required attributes not defined

A required attribute in a plug-in file is missing

Error

Incompatible environment

The plug-in's environment settings do not match the target platform's environment settings

Warning

Missing exported packages

One or more packages in a java source folder are not included in the Export-Package manifest entry

Ignore

No automatic module name

Automatic-Module-Name header (required for Java 9 compatibility) is not present in MANIFEST.MF. For details, see this link.

Warning

Build Settings

Compilers preference page build section

Option

Description

Default

Problems with 'source.<library>' entry

Semantic problem with source entry

Warning

Problems with 'output.<library>' entry

Semantic problem with output entry

Warning

Missing 'output.<library>' entry

A source entry exists without matching output

Ignore

Problems with 'bin.includes' entry

Semantic problem with binary includes entry

Warning

Problems with 'src.includes' entry

Semantic problem with source includes entry

Warning

Missing or incompatible Java compliance properties

Project has Java compliance settings without matching entry in build.properties

Warning

Missing project specific Java compiler settings

Project has Java complier settings without matching entry in build.properties

Ignore

Missing or incorrect file encodings

Project has file encoding settings without matching entry in build.properties

Ignore

Other problems with build.properties files

Other problems not part of another setting

Warning

Versioning Settings

Compilers preference page versioning section

Option

Description

Default

Missing versions on required bundles

A required bundle manifest entry does not have version restrictions

Ignore

Missing versions on exported packages

An exported package manifest entry does not have a version specified

Ignore

Missing versions on imported packages

An imported package manifest entry does not have version restrictions

Ignore

Bundle BREE lower than its dependencies

At least one of the bundle's dependencies requires an execution environment that is higher than the bundle's current execution environment

Warning

Usage Settings

Compilers preference page usage section

Option

Description

Default

Unresolved dependencies

A plug-in dependency (required bundle or imported package) can not be found

Error

Unresolved extension points

The provider for an extension point cannot be found

Error

Usage of internal extension points

Providing an extension to an extension point that is marked as internal

Warning

Usage of deprecated atributes and elements

Providing an extension that uses attributes or elements from an extension point that are marked as deprecated

Warning

Usage of non-externalized strings

A plug-in is using a string that could be translated in plugin.properties

Ignore

Usage of service component without lazy activation policy

Bundle manifest has a Service-Component without a Bundle-ActivationPolicy: lazy entry

Warning

References Settings

Compilers preference page references section

Option

Description

Default

Illegal elements

Referencing an illegal element in an extension

Warning

Illegal atributes

Referencing an illegal attribute in an extension

Warning

References to non-existent classes

Referencing a class from an extension that does not exist in the project

Warning

References to discourage classes

Referencing a class from an extension that has discouraged access warnings

Warning

References to non-existent resources

References a resource from an extension that does not exist in the project

Warning

References to non-existent identifier attributes

Referencing an identifier attribute that is not defined by a known extension

Warning

Non-obvious Problems

The following is a brief explanation for some of the non-obvious potential problems that are flagged by PDE:

PDE Compiler Preferences
PDE Preferences