Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 155015 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/pde/internal/core/builders/BuildErrorReporter.java (-2 / +24 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2005, 2008 IBM Corporation and others.
2
 * Copyright (c) 2005, 2009 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 15-21 Link Here
15
15
16
import java.io.File;
16
import java.io.File;
17
import java.io.FilenameFilter;
17
import java.io.FilenameFilter;
18
import java.util.ArrayList;
18
import java.util.*;
19
import java.util.regex.Matcher;
19
import java.util.regex.Matcher;
20
import java.util.regex.Pattern;
20
import java.util.regex.Pattern;
21
import org.eclipse.core.resources.*;
21
import org.eclipse.core.resources.*;
Lines 123-128 Link Here
123
		IBuildEntry bundleList = null;
123
		IBuildEntry bundleList = null;
124
		ArrayList sourceEntries = new ArrayList();
124
		ArrayList sourceEntries = new ArrayList();
125
		ArrayList sourceEntryKeys = new ArrayList();
125
		ArrayList sourceEntryKeys = new ArrayList();
126
		Map encodingEntries = new HashMap();
126
		IBuildEntry[] entries = build.getBuildEntries();
127
		IBuildEntry[] entries = build.getBuildEntries();
127
		for (int i = 0; i < entries.length; i++) {
128
		for (int i = 0; i < entries.length; i++) {
128
			String name = entries[i].getName();
129
			String name = entries[i].getName();
Lines 138-143 Link Here
138
				srcExcludes = entries[i];
139
				srcExcludes = entries[i];
139
			else if (name.startsWith(PROPERTY_SOURCE_PREFIX))
140
			else if (name.startsWith(PROPERTY_SOURCE_PREFIX))
140
				sourceEntries.add(entries[i]);
141
				sourceEntries.add(entries[i]);
142
			else if (name.startsWith(PROPERTY_JAVAC_DEFAULT_ENCODING_PREFIX))
143
				encodingEntries.put(entries[i].getName(), entries[i].getTokens()[0]);
141
			else if (name.equals(PROPERTY_JAR_EXTRA_CLASSPATH))
144
			else if (name.equals(PROPERTY_JAR_EXTRA_CLASSPATH))
142
				jarsExtra = entries[i];
145
				jarsExtra = entries[i];
143
			else if (name.equals(IBuildEntry.SECONDARY_DEPENDENCIES))
146
			else if (name.equals(IBuildEntry.SECONDARY_DEPENDENCIES))
Lines 185-190 Link Here
185
		validateSourceEntries(sourceEntries);
188
		validateSourceEntries(sourceEntries);
186
		validateMissingSourceInBinIncludes(binIncludes, sourceEntryKeys, build);
189
		validateMissingSourceInBinIncludes(binIncludes, sourceEntryKeys, build);
187
		validateBinIncludes(binIncludes);
190
		validateBinIncludes(binIncludes);
191
		validateDefaultEncoding(sourceEntries, encodingEntries);
192
	}
193
194
	private void validateDefaultEncoding(ArrayList sourceEntries, Map encodingEntries) {
195
		String defaultEncoding = System.getProperty("file.encoding"); //$NON-NLS-1$
196
		for (int i = 0; i < sourceEntries.size(); i++) {
197
			try {
198
				String name = ((IBuildEntry) sourceEntries.get(i)).getName();
199
				String library = name.substring(name.indexOf('.') + 1, name.length());
200
				String encoding = fProject.getDefaultCharset();
201
				String encodingId = PROPERTY_JAVAC_DEFAULT_ENCODING_PREFIX + library;
202
				String libraryEncoding = (String) encodingEntries.get(encodingId);
203
				if (!defaultEncoding.equalsIgnoreCase(encoding) && libraryEncoding == null) {
204
					prepareError(encodingId, encoding, NLS.bind(PDECoreMessages.BuildErrorReporter_defaultEncodingMissing, new Object[] {defaultEncoding, encoding}), PDEMarkerFactory.B_ADDDITION, PDEMarkerFactory.CAT_OTHER);
205
				}
206
			} catch (CoreException e) {
207
				e.printStackTrace();
208
			}
209
		}
188
	}
210
	}
189
211
190
	private void validateBinIncludes(IBuildEntry binIncludes) {
212
	private void validateBinIncludes(IBuildEntry binIncludes) {
(-)src/org/eclipse/pde/internal/core/pderesources.properties (+1 lines)
Lines 84-89 Link Here
84
Builders_Manifest_internal_rootElement = Access to extension point ''{0}'' is discouraged 
84
Builders_Manifest_internal_rootElement = Access to extension point ''{0}'' is discouraged 
85
BuildErrorReporter_binIncludesMissing=An entry for {0} is required in bin.includes
85
BuildErrorReporter_binIncludesMissing=An entry for {0} is required in bin.includes
86
BuildErrorReporter_entiresMustRefDirs={0}: entries ending in / must reference directories
86
BuildErrorReporter_entiresMustRefDirs={0}: entries ending in / must reference directories
87
BuildErrorReporter_defaultEncodingMissing=The default encoding of ''{0}'' does not match the project specific encoding of ''{1}''
87
Builders_Manifest_deprecated_rootElement = The extension point ''{0}'' is deprecated
88
Builders_Manifest_deprecated_rootElement = The extension point ''{0}'' is deprecated
88
BuildErrorReporter_classpathEntryMissing={0} is not included in any "source.*" build entry
89
BuildErrorReporter_classpathEntryMissing={0} is not included in any "source.*" build entry
89
BuildErrorReporter_classpathEntryMissing1={0} is missing from {1}
90
BuildErrorReporter_classpathEntryMissing1={0} is missing from {1}
(-)src/org/eclipse/pde/internal/core/PDECoreMessages.java (-9 / +1 lines)
Lines 214-237 Link Here
214
	public static String ManifestConsistencyChecker_buildPropertiesSubtask;
214
	public static String ManifestConsistencyChecker_buildPropertiesSubtask;
215
215
216
	public static String BuildErrorReporter_missingEntry;
216
	public static String BuildErrorReporter_missingEntry;
217
218
	public static String BuildErrorReporter_missingFolder;
217
	public static String BuildErrorReporter_missingFolder;
219
220
	public static String BuildErrorReporter_emptyEntry;
218
	public static String BuildErrorReporter_emptyEntry;
221
222
	public static String BuildErrorReporter_binIncludesMissing;
219
	public static String BuildErrorReporter_binIncludesMissing;
223
224
	public static String BuildErrorReporter_sourceMissing;
220
	public static String BuildErrorReporter_sourceMissing;
225
226
	public static String BuildErrorReporter_classpathEntryMissing;
221
	public static String BuildErrorReporter_classpathEntryMissing;
227
228
	public static String BuildErrorReporter_missingFile;
222
	public static String BuildErrorReporter_missingFile;
229
230
	public static String BuildErrorReporter_entiresMustRefDirs;
223
	public static String BuildErrorReporter_entiresMustRefDirs;
231
232
	public static String BuildErrorReporter_dirsMustEndSlash;
224
	public static String BuildErrorReporter_dirsMustEndSlash;
233
234
	public static String BuildErrorReporter_classpathEntryMissing1;
225
	public static String BuildErrorReporter_classpathEntryMissing1;
226
	public static String BuildErrorReporter_defaultEncodingMissing;
235
227
236
	public static String LoadTargetOperation_mainTaskName;
228
	public static String LoadTargetOperation_mainTaskName;
237
229

Return to bug 155015