mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-14 03:35:37 +02:00
Bug 566710 Copy CIncludeFileEntrys from Docker image
Also copy files included using "-include", by copying and adjusting ICIncludeFileEntry, entries. Change-Id: I886b87a39b3cd6a7b2ea59aeaef327ca9bc69e45
This commit is contained in:
parent
17b3e6c1a6
commit
10e74dda52
1 changed files with 17 additions and 4 deletions
|
@ -27,8 +27,10 @@ import org.eclipse.cdt.core.ICommandLauncherFactory2;
|
||||||
import org.eclipse.cdt.core.build.ICBuildConfiguration;
|
import org.eclipse.cdt.core.build.ICBuildConfiguration;
|
||||||
import org.eclipse.cdt.core.build.IToolChain;
|
import org.eclipse.cdt.core.build.IToolChain;
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
|
import org.eclipse.cdt.core.settings.model.CIncludeFileEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.CIncludePathEntry;
|
import org.eclipse.cdt.core.settings.model.CIncludePathEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICIncludeFileEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICIncludePathEntry;
|
import org.eclipse.cdt.core.settings.model.ICIncludePathEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
|
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
|
||||||
|
@ -41,6 +43,7 @@ import org.eclipse.cdt.managedbuilder.internal.dataprovider.BuildConfigurationDa
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.eclipse.core.runtime.Platform;
|
import org.eclipse.core.runtime.Platform;
|
||||||
import org.eclipse.linuxtools.docker.ui.launch.ContainerLauncher;
|
import org.eclipse.linuxtools.docker.ui.launch.ContainerLauncher;
|
||||||
|
|
||||||
|
@ -163,6 +166,9 @@ public class ContainerCommandLauncherFactory implements ICommandLauncherFactory,
|
||||||
for (ICLanguageSettingEntry entry : entries) {
|
for (ICLanguageSettingEntry entry : entries) {
|
||||||
if (entry instanceof ICIncludePathEntry) {
|
if (entry instanceof ICIncludePathEntry) {
|
||||||
paths.add(entry.getValue());
|
paths.add(entry.getValue());
|
||||||
|
} else if (entry instanceof ICIncludeFileEntry) {
|
||||||
|
paths.add(new org.eclipse.core.runtime.Path(entry.getValue()).removeLastSegments(1)
|
||||||
|
.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (paths.size() > 0) {
|
if (paths.size() > 0) {
|
||||||
|
@ -374,12 +380,19 @@ public class ContainerCommandLauncherFactory implements ICommandLauncherFactory,
|
||||||
entry.getFlags());
|
entry.getFlags());
|
||||||
newEntries.add(newEntry);
|
newEntries.add(newEntry);
|
||||||
continue;
|
continue;
|
||||||
} else {
|
|
||||||
newEntries.add(entry);
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
newEntries.add(entry);
|
|
||||||
}
|
}
|
||||||
|
if (entry instanceof ICIncludeFileEntry) {
|
||||||
|
IPath p = new Path(((ICIncludeFileEntry) entry).getName());
|
||||||
|
if (copiedVolumes.contains(p.removeLastSegments(1).toString())) {
|
||||||
|
IPath newPath = hostDir.append(entry.getName());
|
||||||
|
CIncludeFileEntry newEntry = new CIncludeFileEntry(newPath.toString(),
|
||||||
|
entry.getFlags());
|
||||||
|
newEntries.add(newEntry);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newEntries.add(entry);
|
||||||
}
|
}
|
||||||
return newEntries;
|
return newEntries;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue