Skip to content

Commit a8f0994

Browse files
author
Neha Burnwal
committed
Quick fix for adding a space after the colon
1 parent 59e5453 commit a8f0994

File tree

9 files changed

+63
-1
lines changed

9 files changed

+63
-1
lines changed

ui/org.eclipse.pde.core/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: %name
44
Bundle-SymbolicName: org.eclipse.pde.core; singleton:=true
5-
Bundle-Version: 3.20.200.qualifier
5+
Bundle-Version: 3.20.300.qualifier
66
Bundle-Activator: org.eclipse.pde.internal.core.PDECore
77
Bundle-Vendor: %provider-name
88
Bundle-Localization: plugin

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDECoreMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ public class PDECoreMessages extends NLS {
181181
public static String BundleErrorReporter_noMainSection;
182182
public static String BundleErrorReporter_duplicateHeader;
183183
public static String BundleErrorReporter_noColon;
184+
public static String BundleErrorReporter_noSpaceAfterColon;
184185
public static String BundleErrorReporter_noSpaceValue;
185186
public static String BundleErrorReporter_nameHeaderInMain;
186187
public static String BundleErrorReporter_noNameHeader;

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/JarManifestErrorReporter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ protected void parseManifest(IDocument document, IProgressMonitor monitor) {
177177
report(PDECoreMessages.BundleErrorReporter_invalidHeaderName, lineNumber, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL);
178178
return;
179179
}
180+
if (line.length() >= colon + 2 && line.charAt(colon + 1) != ' ') {
181+
report(PDECoreMessages.BundleErrorReporter_noSpaceAfterColon, lineNumber, CompilerFlags.ERROR,
182+
PDEMarkerFactory.M_NO_SPACE_AFTER_COLON, PDEMarkerFactory.CAT_FATAL);
183+
return;
184+
}
180185
if (line.length() < colon + 2 || line.charAt(colon + 1) != ' ') {
181186
report(PDECoreMessages.BundleErrorReporter_noSpaceValue, lineNumber, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL);
182187
return;

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/PDEMarkerFactory.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public class PDEMarkerFactory {
7676
public static final int M_EXEC_ENV_TOO_LOW = 0x1029; // other problem
7777
public static final int M_CONFLICTING_AUTOMATIC_MODULE = 0x1030; // other
7878
// problem
79+
public static final int M_NO_SPACE_AFTER_COLON = 0x1032; // other problem
7980

8081
// build properties fixes
8182
public static final int B_APPEND_SLASH_FOLDER_ENTRY = 0x2001;

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/pderesources.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ BundleErrorReporter_lineTooLong = The line is too long
139139
BundleErrorReporter_noMainSection = Manifest has no main section
140140
BundleErrorReporter_duplicateHeader = Header already defined
141141
BundleErrorReporter_noColon = ':' is required after the header name
142+
BundleErrorReporter_noSpaceAfterColon=Single space is required after the colon
142143
BundleErrorReporter_noSpaceValue = Single space and a value is required after the header name
143144
BundleErrorReporter_nameHeaderInMain = 'Name' header is not allowed in the main section
144145
BundleErrorReporter_noNameHeader = Extraneous empty line causes the file to be invalid

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3227,6 +3227,8 @@ public class PDEUIMessages extends NLS {
32273227

32283228
public static String AddSourceBuildEntryResolution_label;
32293229

3230+
public static String AddSpaceAfterColon_add;
3231+
32303232
public static String RemoveSeperatorBuildEntryResolution_label;
32313233

32323234
public static String ExternalizeStringsResolution_desc;
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package org.eclipse.pde.internal.ui.correction;
2+
3+
import org.eclipse.core.resources.IMarker;
4+
import org.eclipse.core.runtime.CoreException;
5+
import org.eclipse.jface.text.BadLocationException;
6+
import org.eclipse.jface.text.IDocument;
7+
import org.eclipse.jface.text.IRegion;
8+
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
9+
import org.eclipse.pde.internal.ui.PDEUIMessages;
10+
11+
public class AddSpaceBeforeValue extends AbstractManifestMarkerResolution {
12+
13+
public AddSpaceBeforeValue(int type, IMarker marker) {
14+
super(type, marker);
15+
}
16+
17+
@Override
18+
public String getLabel() {
19+
return PDEUIMessages.AddSpaceAfterColon_add;
20+
}
21+
22+
@Override
23+
protected void createChange(BundleModel model) {
24+
try {
25+
IDocument doc = model.getDocument();
26+
int lineNum;
27+
lineNum = (int) marker.getAttribute(IMarker.LINE_NUMBER);
28+
IRegion lineInfo = doc.getLineInformation(lineNum - 1);
29+
int offset = lineInfo.getOffset();
30+
int length = lineInfo.getLength();
31+
32+
String getLine = doc.get(offset, length);
33+
int colonInd = getLine.indexOf(':');
34+
35+
if (colonInd > 0 && getLine.charAt(colonInd + 1) != ' ') {
36+
String userHeader = getLine.substring(0, colonInd + 1);
37+
userHeader = userHeader + " "; //$NON-NLS-1$
38+
doc.replace(offset, colonInd + 1, userHeader);
39+
}
40+
} catch (BadLocationException e) {
41+
e.printStackTrace();
42+
} catch (CoreException e) {
43+
e.printStackTrace();
44+
}
45+
46+
}
47+
48+
}

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ public IMarkerResolution[] getNonConfigSevResolutions(IMarker marker) {
147147
case PDEMarkerFactory.M_CONFLICTING_AUTOMATIC_MODULE:
148148
return new IMarkerResolution[] {
149149
new RemoveRedundantAutomaticModuleHeader(AbstractPDEMarkerResolution.REMOVE_TYPE, marker) };
150+
case PDEMarkerFactory.M_NO_SPACE_AFTER_COLON:
151+
return new IMarkerResolution[] {
152+
new AddSpaceBeforeValue(AbstractPDEMarkerResolution.CREATE_TYPE, marker) };
150153
}
151154
return NO_RESOLUTIONS;
152155
}

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,7 @@ AdvancedPluginExportPage_signButton=Si&gn the JAR archives using a keystore (a p
590590
AdvancedPluginExportPage_noKeystore=Keystore location is not set
591591
AdvancedPluginExportPage_noPassword=Password is not set
592592
AddSourceBuildEntryResolution_label=Add a {0} entry.
593+
AddSpaceAfterColon_add=Add a space after the colon
593594
AdvancedFeatureExportPage_createJNLP=&Create JNLP manifests for the JAR archives
594595
AdvancedFeatureExportPage_jreVersion=&JRE version:
595596
AdvancedPluginExportPage_qualifier = &Qualifier replacement (default value is today's date):

0 commit comments

Comments
 (0)