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.
The plug-in compiler preferences are set at a workspace level on the 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.
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 |
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 |
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 |
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 |
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 |
The following is a brief explanation for some of the non-obvious potential problems that are flagged by PDE: