mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 22:52:11 +02:00
Output entries settings fixes
This commit is contained in:
parent
2504bc989e
commit
83d47c3329
4 changed files with 17 additions and 17 deletions
|
@ -257,8 +257,8 @@ public class ExternalSettingsProviderTests extends BaseTestCase{
|
||||||
|
|
||||||
cfgDes.getBuildSetting().setOutputDirectories(null);
|
cfgDes.getBuildSetting().setOutputDirectories(null);
|
||||||
ICOutputEntry[] expectedOutputEntries = new ICOutputEntry[]{
|
ICOutputEntry[] expectedOutputEntries = new ICOutputEntry[]{
|
||||||
new COutputEntry("op_a", null, 0),
|
new COutputEntry(project.getFullPath().append("op_a"), null, 0),
|
||||||
new COutputEntry("op_b", null, 0),
|
new COutputEntry(project.getFullPath().append("op_b"), null, 0),
|
||||||
};
|
};
|
||||||
ICOutputEntry[] outputEntries = cfgDes.getBuildSetting().getOutputDirectories();
|
ICOutputEntry[] outputEntries = cfgDes.getBuildSetting().getOutputDirectories();
|
||||||
assertEquals(2, outputEntries.length);
|
assertEquals(2, outputEntries.length);
|
||||||
|
|
|
@ -16,15 +16,15 @@ import org.eclipse.core.runtime.IPath;
|
||||||
public final class COutputEntry extends ACExclusionFilterEntry implements ICOutputEntry {
|
public final class COutputEntry extends ACExclusionFilterEntry implements ICOutputEntry {
|
||||||
|
|
||||||
public COutputEntry(IPath path, IPath exclusionPatterns[], int flags) {
|
public COutputEntry(IPath path, IPath exclusionPatterns[], int flags) {
|
||||||
super(path, exclusionPatterns, flags);
|
super(path, exclusionPatterns, flags | VALUE_WORKSPACE_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
public COutputEntry(IFolder folder, IPath exclusionPatterns[], int flags) {
|
public COutputEntry(IFolder folder, IPath exclusionPatterns[], int flags) {
|
||||||
super(folder, exclusionPatterns, flags);
|
super(folder, exclusionPatterns, flags | VALUE_WORKSPACE_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
public COutputEntry(String value, IPath exclusionPatterns[], int flags) {
|
public COutputEntry(String value, IPath exclusionPatterns[], int flags) {
|
||||||
super(value, exclusionPatterns, flags);
|
super(value, exclusionPatterns, flags | VALUE_WORKSPACE_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final int getKind() {
|
public final int getKind() {
|
||||||
|
|
|
@ -789,7 +789,7 @@ public class CDataUtil {
|
||||||
if(entries == null || entries.length == 0)
|
if(entries == null || entries.length == 0)
|
||||||
return getDefaultOutputEntries(makeAbsolute, project);
|
return getDefaultOutputEntries(makeAbsolute, project);
|
||||||
|
|
||||||
return makeAbsolute ? checkMakeAbsolute(project, entries) : checkMakeRelative(project, entries);
|
return makeAbsolute ? makeAbsolute(project, entries) : makeRelative(project, entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ICSourceEntry[] adjustEntries(ICSourceEntry entries[], boolean makeAbsolute, IProject project){
|
public static ICSourceEntry[] adjustEntries(ICSourceEntry entries[], boolean makeAbsolute, IProject project){
|
||||||
|
@ -873,20 +873,20 @@ public class CDataUtil {
|
||||||
return (ICSourceEntry[])makeAbsolute(project, entries, true);
|
return (ICSourceEntry[])makeAbsolute(project, entries, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ICOutputEntry checkMakeAbsolute(IProject project, ICOutputEntry entry){
|
public static ICOutputEntry makeAbsolute(IProject project, ICOutputEntry entry){
|
||||||
return (ICOutputEntry)makeAbsolute(project, entry, false);
|
return (ICOutputEntry)makeAbsolute(project, entry, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ICOutputEntry checkMakeRelative(IProject project, ICOutputEntry entry){
|
public static ICOutputEntry makeRelative(IProject project, ICOutputEntry entry){
|
||||||
return (ICOutputEntry)makeRelative(project, entry, false);
|
return (ICOutputEntry)makeRelative(project, entry, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ICOutputEntry[] checkMakeAbsolute(IProject project, ICOutputEntry[] entries){
|
public static ICOutputEntry[] makeAbsolute(IProject project, ICOutputEntry[] entries){
|
||||||
return (ICOutputEntry[])makeAbsolute(project, entries, false);
|
return (ICOutputEntry[])makeAbsolute(project, entries, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ICOutputEntry[] checkMakeRelative(IProject project, ICOutputEntry[] entries){
|
public static ICOutputEntry[] makeRelative(IProject project, ICOutputEntry[] entries){
|
||||||
return (ICOutputEntry[])makeRelative(project, entries, false);
|
return (ICOutputEntry[])makeRelative(project, entries, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Collection removePrefix(IPath prefix, Collection paths, Collection result){
|
private static Collection removePrefix(IPath prefix, Collection paths, Collection result){
|
||||||
|
|
|
@ -977,7 +977,7 @@ public class PathEntryTranslator {
|
||||||
Map nameKeyMap = getEntriesNameKeyMap(kind, true);
|
Map nameKeyMap = getEntriesNameKeyMap(kind, true);
|
||||||
for(int i = 0; i < entries.length; i++){
|
for(int i = 0; i < entries.length; i++){
|
||||||
ICExclusionPatternPathEntry entry = entries[i];
|
ICExclusionPatternPathEntry entry = entries[i];
|
||||||
entry = CDataUtil.makeAbsolute(fProject, entry, kind == ICSettingEntry.SOURCE_PATH);
|
entry = CDataUtil.makeAbsolute(fProject, entry, true);
|
||||||
EntryNameKey nameKey = new EntryNameKey(entry);
|
EntryNameKey nameKey = new EntryNameKey(entry);
|
||||||
PathEntryComposer old = (PathEntryComposer)nameKeyMap.get(nameKey);
|
PathEntryComposer old = (PathEntryComposer)nameKeyMap.get(nameKey);
|
||||||
if(old != null){
|
if(old != null){
|
||||||
|
@ -1724,8 +1724,8 @@ public class PathEntryTranslator {
|
||||||
}
|
}
|
||||||
|
|
||||||
ICOutputEntry[] oldEntries = bData.getOutputDirectories();
|
ICOutputEntry[] oldEntries = bData.getOutputDirectories();
|
||||||
oldEntries = (ICOutputEntry[])CDataUtil.makeRelative(fProject, oldEntries, false);
|
oldEntries = (ICOutputEntry[])CDataUtil.makeRelative(fProject, oldEntries, true);
|
||||||
entries = (ICOutputEntry[])CDataUtil.makeRelative(fProject, entries, false);
|
entries = (ICOutputEntry[])CDataUtil.makeRelative(fProject, entries, true);
|
||||||
entries = (ICOutputEntry[])replaceUserEntries(oldEntries, entries);
|
entries = (ICOutputEntry[])replaceUserEntries(oldEntries, entries);
|
||||||
|
|
||||||
switch (op) {
|
switch (op) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue