private void setOsgiR4() { IHeader header = getHeader(Constants.BUNDLE_MANIFESTVERSION); if (header != null) { String version = header.getValue(); try { fOsgiR4 = version != null && Integer.parseInt(version) > 1 ; } catch (NumberFormatException e) { } } }
private boolean validateBundleManifestVersion() { IHeader header = getHeader(Constants.BUNDLE_MANIFESTVERSION); if (header != null) { String version = header.getValue(); if (!(fOsgiR4 = "2".equals(version)) && !"1".equals(version)) { //$NON-NLS-1$ //$NON-NLS-2$ report(PDECoreMessages.BundleErrorReporter_illegalManifestVersion, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); return false; } } return true; }
/** * Validates the Eclipse-BundleShape header * * @since 3.5 */ private void validateEclipseBundleShape() { IHeader header = getHeader(ICoreConstants.ECLIPSE_BUNDLE_SHAPE); if (header == null) return; String value = header.getValue(); if (value != null) { validateHeaderValue(header, ICoreConstants.SHAPE_VALUES); } }
private void validateBundleVersion() { IHeader header = validateRequiredHeader(Constants.BUNDLE_VERSION); if (header == null) return; IStatus status = VersionUtil.validateVersion(header.getValue()); if(!status.isOK()){ int line = getLine(header, header.getValue()); report(status.getMessage(), line, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateBundleVersion() { IHeader header = validateRequiredHeader(Constants.BUNDLE_VERSION); if (header == null) return; IStatus status = VersionUtil.validateVersion(header.getValue()); if (!status.isOK()) { int line = getLine(header, header.getValue()); report(status.getMessage(), line, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateTranslatableHeaders() { int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_NOT_EXTERNALIZED); if (severity == CompilerFlags.IGNORE) return; for (int i = 0; i < ICoreConstants.TRANSLATABLE_HEADERS.length; i++) { IHeader header = getHeader(ICoreConstants.TRANSLATABLE_HEADERS[i]); if (header != null) { String value = header.getValue(); if (!value.startsWith("%")) { //$NON-NLS-1$ report(NLS.bind(PDECoreMessages.Builders_Manifest_non_ext_attribute, header.getName()), getLine(header, value), severity, PDEMarkerFactory.P_UNTRANSLATED_NODE, header.getName(), PDEMarkerFactory.CAT_NLS); } else if (fModel instanceof AbstractNLModel) { NLResourceHelper helper = ((AbstractNLModel) fModel).getNLResourceHelper(); if (helper == null || !helper.resourceExists(value)) { report(NLS.bind(PDECoreMessages.Builders_Manifest_key_not_found, value.substring(1), PDEManager.getBundleLocalization(fModel).concat(".properties")), getLine(header, value), severity, PDEMarkerFactory.CAT_NLS); //$NON-NLS-1$ } } } } }
if (header == null) return; String location = header.getValue(); String fileName = null; int index = location.lastIndexOf('/');
private void validateTranslatableHeaders() { int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_NOT_EXTERNALIZED); if (severity == CompilerFlags.IGNORE) return; for (int i = 0; i < ICoreConstants.TRANSLATABLE_HEADERS.length; i++) { IHeader header = getHeader(ICoreConstants.TRANSLATABLE_HEADERS[i]); if (header != null) { String value = header.getValue(); if (!value.startsWith("%")) { //$NON-NLS-1$ report(NLS.bind(PDECoreMessages.Builders_Manifest_non_ext_attribute, header.getName()), getLine(header, value), severity, PDEMarkerFactory.P_UNTRANSLATED_NODE, header.getName(), PDEMarkerFactory.CAT_NLS); } else if (fModel instanceof AbstractNLModel) { NLResourceHelper helper = ((AbstractNLModel)fModel).getNLResourceHelper(); if (helper == null || !helper.resourceExists(value)) report(NLS.bind(PDECoreMessages.Builders_Manifest_key_not_found, value.substring(1)), getLine(header, value), severity, PDEMarkerFactory.CAT_NLS); } } } }
if (header == null) return; String location = header.getValue(); String fileName = null; int index = location.lastIndexOf('/');
if (name.equals("java") || name.startsWith("java.")) { //$NON-NLS-1$ //$NON-NLS-2$ IHeader jreHeader = getHeader(ICoreConstants.ECLIPSE_JREBUNDLE); if (jreHeader == null || !"true".equals(jreHeader.getValue())) { //$NON-NLS-1$ message = PDECoreMessages.BundleErrorReporter_exportNoJRE; report(message, getPackageLine(header, elements[i]),
if (name.equals("java") || name.startsWith("java.")) { //$NON-NLS-1$ //$NON-NLS-2$ IHeader jreHeader = getHeader(ICoreConstants.ECLIPSE_JREBUNDLE); 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);
private void validateBundleActivator() { IHeader header = getHeader(Constants.BUNDLE_ACTIVATOR); if (header == null) return; String activator = header.getValue(); BundleDescription desc = fModel.getBundleDescription(); if (desc != null && desc.getHost() != null) { report(PDECoreMessages.BundleErrorReporter_fragmentActivator, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); return; } if (isCheckUnknownClass()) { try { if (fProject.hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProject = JavaCore.create(fProject); // Look for this activator in the project's classpath if (!PDEJavaHelper.isOnClasspath(activator, javaProject)) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_NoExist, activator), getLine(header, activator), CompilerFlags.P_UNKNOWN_CLASS, PDEMarkerFactory.M_UNKNOWN_ACTIVATOR, PDEMarkerFactory.CAT_FATAL); } } } catch (CoreException ce) { } } }
private void validateBundleActivator() { IHeader header = getHeader(Constants.BUNDLE_ACTIVATOR); if (header == null) return; String activator = header.getValue(); BundleDescription desc = fModel.getBundleDescription(); if (desc != null && desc.getHost() != null) { report(PDECoreMessages.BundleErrorReporter_fragmentActivator, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); return; } if (isCheckUnknownClass()) { try { if (fProject.hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProject = JavaCore.create(fProject); // Look for this activator in the project's classpath if (!PDEJavaHelper.isOnClasspath(activator, javaProject)) { report(NLS.bind(PDECoreMessages.BundleErrorReporter_NoExist, activator), getLine(header, activator), CompilerFlags.P_UNKNOWN_CLASS, PDEMarkerFactory.M_UNKNOWN_ACTIVATOR, PDEMarkerFactory.CAT_FATAL); } } } catch (CoreException ce) { } } }
private void validateEclipsePlatformFilter() { IHeader header = getHeader(ICoreConstants.PLATFORM_FILTER); if (header == null) return; try { PDECore.getDefault().getBundleContext().createFilter(header.getValue()); int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_INCOMPATIBLE_ENV); if (severity == CompilerFlags.IGNORE) return; BundleDescription desc = fModel.getBundleDescription(); if (desc != null && !desc.isResolved()) { ResolverError[] errors = desc.getContainingState().getResolverErrors(desc); for (int i = 0; i < errors.length; i++) { if (errors[i].getType() == ResolverError.PLATFORM_FILTER) { report(PDECoreMessages.BundleErrorReporter_badFilter, header.getLineNumber() + 1, severity, PDEMarkerFactory.CAT_OTHER); } } } } catch (InvalidSyntaxException ise) { report(PDECoreMessages.BundleErrorReporter_invalidFilterSyntax, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateEclipsePlatformFilter() { IHeader header = getHeader(ICoreConstants.PLATFORM_FILTER); if (header == null) return; try { PDECore.getDefault().getBundleContext().createFilter(header.getValue()); int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_INCOMPATIBLE_ENV); if (severity == CompilerFlags.IGNORE) return; BundleDescription desc = fModel.getBundleDescription(); if (desc != null && !desc.isResolved()) { ResolverError[] errors = desc.getContainingState().getResolverErrors(desc); for (int i = 0; i < errors.length; i++) { if (errors[i].getType() == ResolverError.PLATFORM_FILTER) { report(PDECoreMessages.BundleErrorReporter_badFilter, header.getLineNumber() + 1, severity, PDEMarkerFactory.CAT_OTHER); } } } } catch (InvalidSyntaxException ise) { report(PDECoreMessages.BundleErrorReporter_invalidFilterSyntax, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
if (name.equals("java") || name.startsWith("java.")) { //$NON-NLS-1$ //$NON-NLS-2$ 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;
if (name.equals("java") || name.startsWith("java.")) { //$NON-NLS-1$ //$NON-NLS-2$ 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,
if (elems.length > 0) { if (!VersionUtil.validateVersionRange(elems[0].getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE)).isOK()) { int line = getLine(header, header.getValue()); report(UtilMessages.BundleErrorReporter_InvalidFormatInBundleVersion, line, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL);