private void validateX_InternalDirective(IHeader header, ManifestElement element) { String internal = element.getDirective(ICoreConstants.INTERNAL_DIRECTIVE); if (internal == null) return; for (int i = 0; i < BOOLEAN_VALUES.length; i++) { if (BOOLEAN_VALUES[i].equals(internal)) return; } String message = NLS.bind(PDECoreMessages.BundleErrorReporter_dir_value, (new String[] {internal, ICoreConstants.INTERNAL_DIRECTIVE})); report(message, getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); }
private void validateX_InternalDirective(IHeader header, ManifestElement element) { String internal = element.getDirective(ICoreConstants.INTERNAL_DIRECTIVE); if (internal == null) return; for (int i = 0; i < BOOLEAN_VALUES.length; i++) { if (BOOLEAN_VALUES[i].equals(internal)) return; } String message = NLS.bind(PDECoreMessages.BundleErrorReporter_dir_value, (new String[] { internal, ICoreConstants.INTERNAL_DIRECTIVE })); report(message, getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); }
private void validateBundleVersionAttribute(IHeader header, ManifestElement element) { String versionRange = element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE); int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_MISSING_VERSION_REQ_BUNDLE); if (severity != CompilerFlags.IGNORE && versionRange == null) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_MissingVersion, element.getValue()), getPackageLine(header, element), severity, PDEMarkerFactory.CAT_OTHER); } if (versionRange != null && !VersionUtil.validateVersionRange(versionRange).isOK()) { report(NLS.bind(UtilMessages.BundleErrorReporter_InvalidFormatInBundleVersion, element.getValue()), getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateSpecificationVersionAttribute(IHeader header, ManifestElement element) { String version = element.getAttribute(ICoreConstants.PACKAGE_SPECIFICATION_VERSION); IStatus status = VersionUtil.validateVersion(version); if (!status.isOK()) { report(status.getMessage(), getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } if (isCheckDeprecated()) { if (fOsgiR4 && version != null) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_deprecated_attribute_specification_version, ICoreConstants.PACKAGE_SPECIFICATION_VERSION), getPackageLine(header, element), CompilerFlags.P_DEPRECATED, PDEMarkerFactory.CAT_DEPRECATION); } } }
private void validateX_FriendsDirective(IHeader header, ManifestElement element) { String friends = element.getDirective(ICoreConstants.FRIENDS_DIRECTIVE); String internal = element.getDirective(ICoreConstants.INTERNAL_DIRECTIVE); if (friends != null && internal != null) { String message = NLS.bind(PDECoreMessages.BundleErrorReporter_directive_hasNoEffectWith_, new String[] {ICoreConstants.FRIENDS_DIRECTIVE, ICoreConstants.INTERNAL_DIRECTIVE}); IMarker marker = report(message, getPackageLine(header, element), CompilerFlags.WARNING, PDEMarkerFactory.M_DIRECTIVE_HAS_NO_EFFECT, PDEMarkerFactory.CAT_OTHER); addMarkerAttribute(marker, "packageName", element.getValue()); //$NON-NLS-1$ } }
private void validateSpecificationVersionAttribute(IHeader header, ManifestElement element) { String version = element.getAttribute(ICoreConstants.PACKAGE_SPECIFICATION_VERSION); IStatus status = VersionUtil.validateVersion(version); if(!status.isOK()){ report(status.getMessage(), getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } if (isCheckDeprecated()) { if (fOsgiR4 && version != null) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_deprecated_attribute_specification_version, ICoreConstants.PACKAGE_SPECIFICATION_VERSION), getPackageLine(header, element), CompilerFlags.P_DEPRECATED, PDEMarkerFactory.CAT_DEPRECATION); } } }
private void validateBundleVersionAttribute(IHeader header, ManifestElement element) { String versionRange = element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE); if (versionRange != null && !VersionUtil.validateVersionRange(versionRange).isOK()) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_InvalidFormatInBundleVersion, element.getValue()), getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateImportPackageVersion(IHeader header, ManifestElement element) { String version = element.getAttribute(Constants.VERSION_ATTRIBUTE); int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_MISSING_VERSION_IMP_PKG); if (severity != CompilerFlags.IGNORE && version == null) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_MissingVersion, element.getValue()), getPackageLine(header, element), severity, PDEMarkerFactory.CAT_OTHER); } validateVersionAttribute(header, element, true); }
private void validateExportPackageVersion(IHeader header, ManifestElement element) { String version = element.getAttribute(Constants.VERSION_ATTRIBUTE); int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_MISSING_VERSION_EXP_PKG); if (severity != CompilerFlags.IGNORE && version == null) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_MissingVersion, element.getValue()), getPackageLine(header, element), severity, PDEMarkerFactory.CAT_OTHER); } validateVersionAttribute(header, element, false); }
private void validateX_FriendsDirective(IHeader header, ManifestElement element) { String friends = element.getDirective(ICoreConstants.FRIENDS_DIRECTIVE); String internal = element.getDirective(ICoreConstants.INTERNAL_DIRECTIVE); if (friends != null && internal != null) { String message = NLS.bind( PDECoreMessages.BundleErrorReporter_directive_hasNoEffectWith_, new String[] { ICoreConstants.FRIENDS_DIRECTIVE, ICoreConstants.INTERNAL_DIRECTIVE }); IMarker marker = report(message, getPackageLine(header, element), CompilerFlags.WARNING, PDEMarkerFactory.M_DIRECTIVE_HAS_NO_EFFECT, PDEMarkerFactory.CAT_OTHER); try { if (marker != null) marker.setAttribute("packageName", element.getValue()); //$NON-NLS-1$ } catch (CoreException e) { } } }
private void validateFragmentHost(IHeader requireBundleHeader, ManifestElement element) { IHeader header = getHeader(Constants.FRAGMENT_HOST); if (header == null) return; ManifestElement[] elements = header.getElements(); if (elements[0] != null && elements[0].getValue().equals(element.getValue())) { IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_unecessaryDependencyDueToFragmentHost, element.getValue()), getPackageLine(requireBundleHeader, element), CompilerFlags.WARNING, PDEMarkerFactory.M_UNECESSARY_DEP, PDEMarkerFactory.CAT_OTHER); addMarkerAttribute(marker, "bundleId", element.getValue()); //$NON-NLS-1$ } }
private void validateFragmentHost(IHeader requireBundleHeader, ManifestElement element) { IHeader header = getHeader(Constants.FRAGMENT_HOST); if(header == null) return; ManifestElement[] elements = header.getElements(); if (header != null && elements[0] != null && elements[0].getValue().equals(element.getValue())) { IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_unecessaryDependencyDueToFragmentHost, element.getValue()), getPackageLine(requireBundleHeader, element), CompilerFlags.WARNING, PDEMarkerFactory.M_UNECESSARY_DEP, PDEMarkerFactory.CAT_OTHER); if (marker != null) { try { marker.setAttribute("bundleId", element.getValue()); //$NON-NLS-1$ } catch (CoreException e) {} } } } }
if (jreHeader == null || !"true".equals(jreHeader.getValue())) { //$NON-NLS-1$ message = PDECoreMessages.BundleErrorReporter_exportNoJRE; report(message, getPackageLine(header, elements[i]), CompilerFlags.ERROR, PDEMarkerFactory.M_JAVA_PACKAGE__PORTED, PDEMarkerFactory.CAT_FATAL); IMarker marker = report(message, getPackageLine(header, elements[i]), CompilerFlags.P_UNRESOLVED_IMPORTS, PDEMarkerFactory.M_EXPORT_PKG_NOT_EXIST, PDEMarkerFactory.CAT_OTHER); addMarkerAttribute(marker, "packageName", name); //$NON-NLS-1$
private void validateVersionAttribute(IHeader header, ManifestElement element, boolean range) { String version = element.getAttribute(Constants.VERSION_ATTRIBUTE); if (version == null) return; IStatus status = range ? VersionUtil.validateVersionRange(version) : VersionUtil.validateVersion(version); if(!status.isOK()) { report(status.getMessage(), getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateVersionAttribute(IHeader header, ManifestElement element, boolean range) { String version = element.getAttribute(Constants.VERSION_ATTRIBUTE); if (version != null) { IStatus status = range ? VersionUtil.validateVersionRange(version) : VersionUtil.validateVersion(version); if (!status.isOK()) { report(status.getMessage(), getPackageLine(header, element), CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } } }
if (jreHeader == null || !"true".equals(jreHeader.getValue())) { //$NON-NLS-1$ message = PDECoreMessages.BundleErrorReporter_exportNoJRE; report(message, getPackageLine(header, elements[i]), CompilerFlags.ERROR, PDEMarkerFactory.M_JAVA_PACKAGE__PORTED, IMarker marker = report(message, getPackageLine(header, elements[i]), CompilerFlags.P_UNRESOLVED_IMPORTS, PDEMarkerFactory.M_EXPORT_PKG_NOT_EXIST,
IHeader jreHeader = getHeader(ICoreConstants.ECLIPSE_JREBUNDLE); if (jreHeader == null || !"true".equals(jreHeader.getValue())) { //$NON-NLS-1$ report(PDECoreMessages.BundleErrorReporter_importNoJRE, getPackageLine(header, elements[i]), CompilerFlags.ERROR, PDEMarkerFactory.M_JAVA_PACKAGE__PORTED, PDEMarkerFactory.CAT_FATAL); if (range != null && !range.isIncluded(version)) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_unsatisfiedConstraint, importSpec.toString()), getPackageLine(header, elements[i]), severity, PDEMarkerFactory.CAT_FATAL); report(NLS.bind(PDECoreMessages.BundleErrorReporter_unresolvedExporter, new String[] {export.getSupplier().getSymbolicName(), name}), getPackageLine(header, elements[i]), severity, PDEMarkerFactory.CAT_OTHER); getPackageLine(header, elements[i]), severity, PDEMarkerFactory.M_IMPORT_PKG_NOT_AVAILABLE, PDEMarkerFactory.CAT_FATAL);
IHeader jreHeader = getHeader(ICoreConstants.ECLIPSE_JREBUNDLE); if (jreHeader == null || !"true".equals(jreHeader.getValue())) { //$NON-NLS-1$ report(PDECoreMessages.BundleErrorReporter_importNoJRE, getPackageLine(header, elements[i]), CompilerFlags.ERROR, PDEMarkerFactory.M_JAVA_PACKAGE__PORTED, PDEMarkerFactory.CAT_FATAL); continue; org.eclipse.osgi.service.resolver.VersionRange range = importSpec.getVersionRange(); if (range != null && !range.isIncluded(version)) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_unsatisfiedConstraint, importSpec.toString()), getPackageLine(header, elements[i]), severity, PDEMarkerFactory.CAT_FATAL); report(NLS.bind(PDECoreMessages.BundleErrorReporter_unresolvedExporter, new String[] {export.getSupplier().getSymbolicName(), name}), getPackageLine(header, elements[i]), severity, PDEMarkerFactory.CAT_OTHER); IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_PackageNotExported, name), getPackageLine(header, elements[i]), severity, PDEMarkerFactory.M_IMPORT_PKG_NOT_AVAILABLE, PDEMarkerFactory.CAT_FATAL); try { if (marker != null) {
IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_NotExistPDE, bundleID), getPackageLine(header, required[i]), severity, PDEMarkerFactory.M_REQ_BUNDLE_NOT_AVAILABLE, PDEMarkerFactory.CAT_FATAL); try { if (marker != null) { getPackageLine(header, required[i]), severity, PDEMarkerFactory.CAT_FATAL);
if (desc.getContainingState().getBundle(specs[i].getName(), null) == null) { IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_NotExistPDE, bundleID), getPackageLine(header, required[i]), severity, PDEMarkerFactory.M_REQ_BUNDLE_NOT_AVAILABLE, getPackageLine(header, required[i]), severity, PDEMarkerFactory.CAT_FATAL);