Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJeff Johnston2017-02-09 23:43:05 +0000
committerJeff Johnston2017-10-22 09:38:51 +0000
commitc96d126b86382356caec9b8ee961e37b84313f6b (patch)
treef48f38e68d303c6d8c7d9f1b30d22f3c8ea3c59e /doc
parent4c1a6e0ccd90da71cb6d2e7cacfc284a07b180b8 (diff)
downloadorg.eclipse.cdt-c96d126b86382356caec9b8ee961e37b84313f6b.tar.gz
org.eclipse.cdt-c96d126b86382356caec9b8ee961e37b84313f6b.tar.xz
org.eclipse.cdt-c96d126b86382356caec9b8ee961e37b84313f6b.zip
Bug 513589 - Add support to build CDT projects in a Docker Container
- add IOptionalBuildObjectPropertiesContainer interface to use for objects that supply optional build properties - add new IOptionalBuildProperties interface that defines optional build properties donated by external plug-ins - add new - change IConfiguration to an IOptionalBuildObjectPropertiesContainer - change IManagedProject to be an IOptionalBuildObjectPropertiesContainer - fix ProcessClosure to ensure that readers are not null before accessing them - fix Container launch delegate to look at project optional build properties for active configuration to fetch connection and image info and use said info to find a matching launch or create a new one - have Container launch delegate use the image name as part of the launch config name - have Container launch short-cut also use the project's optional build properties for the active config to get connection and image information before any defaulting - change AutotoolsNewMarkerGenerator to store the command launcher as an ICommandLauncher - add new CommandLauncherFactory extension to cdt.core that allows plug-ins to specify a CommandLauncherFactory that will return an ICommandLauncher based on the project - add macros for new extension to CCorePlugin - add new CommandLauncherManager class that loads CommandLauncherFactory extensions and is used to give an ICommandLauncher wrapper that will go through the list of CommandLauncherFactory extensions until one returns non-null ICommandLauncher - add code to RemoteCommandLauncher so it will use the CommandLauncherManager to get the local launcher - also change RemoteCommandLauncher to check at execution time whether the command is local and in that case use the local command launcher - add new ICommandLauncherFactory interface - add new ContainerCommandLauncher to launch - add new ContainerCommandLauncherFactory class for returning a ContainerCommandLauncher instance to launch commands in a Docker Container - change MakeBuilder to use CommandLauncherManager to get its ICommandLauncher - change CommandBuilder to use CommandLauncherManager too - ditto for Builder and AbstractBuiltinSpecsDetector and ExternalToolInvoker - change Configuration to load/store optional build properties as well as return the properties to get/set - ditto for MultiConfiguration - change ManagedProject to implement IOptionalBuildOptionProperties interface - ditto for ProjectType - create new OptionalBuildProperties class to store optional build properties for a configuration - bump cdt.docker.launcher to 1.1.0 - use CommandLauncherFactory extension to define ContainerCommandLauncherFactory - add optional ContainerPropertyTab which allows the end-user to optionally choose to build a C/C++ project in a Container and specify the connection/image to use - in LanguageSettingsSerializableSettings class, call the CommandLauncherManager getLanguageSettingEntries method to get the massaged language setting entries based on the current list - in LanguageSettingsProviderSerializer, try and get the pooled entries using the cfg description so that it will have the project and can use the CommandLauncherManager to get entries from image - in ContainerCommandLauncherFactory move cached headers under a HEADERS directory in the plug-in area - create a sub-directory for the connection and a sub-directory for the image based on cleansed names - store the real names of the connection and image to use later in the DockerHeaderPreferencePage - modify LanguageSettingsEntriesTab to force the horizontal scroll bar to appear (this is a bug in SWT SashForm support and the fix here isn't quite correct, but is better) - add new DockerHeaderPreferencePage that allows user to remove cached headers from images - change C/C++ Docker preferences to be titled: Docker Container - fix LanguageSettingsWorkspaceProvider.getSettingEntries method to use the CommandLauncherManager so entries will be transformed to use cached headers - add BaseDatabindingModel class - add DataVolumeModel class to model a volume mount - add ContainerPropertyVolumes model to model volume specification and selected volumes - add properties to ContainerCommandLauncher to represent volumes and selected volumes for a configuration - add ContainerDataVolumeDialog for specifying a volume mount by the end-user - add a null detector for cfgDescription in LanguageSettingsSerializableProvider - fix AutotoolsNewMakeGenerator.getWinOSType to not specify "." for working dir - fix GCCBuiltinSpecsDetectorCygwin to not map paths to Cygwin if the current configuration is enabled for container build - add logic to ContainerCommandLauncher to look for Windows file formats and change them to unix format and map any "." working dir to be /tmp - fix ContainerLauncherConfigurationDelegate similarly - fix AbstractBuiltinSpecsDetector to pass in the current configuration description when getting the CommandLauncher since the current configuration may not be the active configuration - change ContainerPropertyTab to add Elf and GNU Elf binary parsers when build in Container is chosen so that output executables are treated as Binaries by the CDT project - add documentationl for the ContainerPropertyTab in Build Settings and the Data Volume dialog pop-up it brings up - change CommandBuilder to accept a project as an argument to its constructor and to pass this as an argument to the CommandLauncherManager - have StepBuilder pass project when creating a CommandBuilder Change-Id: Ia78488b93056e6ec7ca83a6c87b3a9d2b9424943
Diffstat (limited to 'doc')
-rw-r--r--doc/org.eclipse.cdt.doc.user/images/prop_container.pngbin0 -> 41949 bytes
-rw-r--r--doc/org.eclipse.cdt.doc.user/images/prop_datavolumes.pngbin0 -> 22638 bytes
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build.htm1
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_artifact.htm1
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_binparser.htm1
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_container.htm166
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_errparser.htm1
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_steps.htm1
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_tool.htm1
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_data_volumes.htm149
-rw-r--r--doc/org.eclipse.cdt.doc.user/reference/cdt_u_properties.htm1
11 files changed, 322 insertions, 0 deletions
diff --git a/doc/org.eclipse.cdt.doc.user/images/prop_container.png b/doc/org.eclipse.cdt.doc.user/images/prop_container.png
new file mode 100644
index 00000000000..e6e47bbf8b5
--- /dev/null
+++ b/doc/org.eclipse.cdt.doc.user/images/prop_container.png
Binary files differ
diff --git a/doc/org.eclipse.cdt.doc.user/images/prop_datavolumes.png b/doc/org.eclipse.cdt.doc.user/images/prop_datavolumes.png
new file mode 100644
index 00000000000..1dea453d4bd
--- /dev/null
+++ b/doc/org.eclipse.cdt.doc.user/images/prop_datavolumes.png
Binary files differ
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build.htm
index e446b5934fa..5e7b923b63d 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build.htm
@@ -178,6 +178,7 @@ and, moreover, change the visibility of other property pages.
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_artifact.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_artifact.htm
index 94b36ef1be3..9a1f7ea59dc 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_artifact.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_artifact.htm
@@ -75,6 +75,7 @@
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_binparser.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_binparser.htm
index 2fc03874cad..06f58a92e1a 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_binparser.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_binparser.htm
@@ -85,6 +85,7 @@ symbols of the object file using the C/C++ Projects view.</p>
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_container.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_container.htm
new file mode 100644
index 00000000000..983542a1a90
--- /dev/null
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_container.htm
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+<head>
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>C/C++ Project Properties, Build, Settings, Container Settings</title>
+ <link rel="stylesheet" type="text/css" href="../help.css">
+</head>
+<body>
+<div role="main"><h1>C/C++ Project Properties, Build, Settings, Container Settings</h1>
+<p>Use the <strong>Container Settings</strong> properties tab to
+specify options for building the project in a Docker Container. This properties tab is
+provided with the optional Docker C/C++ Launch feature. By default,
+project configurations will build locally, however, if you want to have a particular
+configuration build the project in a Container, use the enablement check-box.
+After enabling building in a Container, you need to select an active Docker Connection and
+a down-loaded Image in that Connection to run the build in. The Image must have whatever
+tools are necessary to perform the build already installed. Docker Images will be linux-based so the build
+will use linux appropriate toolsets and create a linux-compatible executable.</p>
+<p>By default, the C/C++ project and all dependent project contents will be mounted
+into the Container where the build is occurring. This allows the build to find project source and
+header files. If additional host directories are needed to
+build the project (e.g. a local header file directory that is not part of an
+installed package in the Docker Image), such directories can be added to the Data Volumes table and they
+will be mounted in the Container before the build occurs. If the Docker daemon is running locally, this
+will be a simple mount. If the Docker daemon is remote,
+mounting will involve automatically copying the directory contents over to the Container since system mounting cannot
+occur across machines.</p>
+<p>To accommodate indexing, build-specs discovery will be performed in the Docker Container. Directories found
+by specs detection will be copied locally for use by the indexer. This copying process also occurs for any
+header file directories discovered while building. The
+header files are stored within the workspace and are only uploaded once per Docker Image. These header files
+can be removed from the Preferences page if, for example, the project no longer needs to build/index for that
+particular Docker Image.</p>
+
+<p><img img="" src="../images/prop_container.png"
+ alt="C/C++ Project Properties, Build, Settings, Container Settings"></p>
+
+
+<table cellpadding="5" cellspacing="0" border="1" width="600px" bordercolor="#DDDDDD" >
+ <caption><strong>Container settings options</strong></caption>
+ <colgroup>
+ <col width="30%" valign="top" >
+ <col width="70%" valign="top" >
+ </colgroup>
+ <tbody>
+ <tr style="text-align:center;">
+ <th id="group"><strong>Group</strong></th>
+ <th id="description"><strong>Description</strong></th>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Configuration</strong></td>
+ <td headers="description"><a href="cdt_u_prop_all.htm">Click here for a description.</a></td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Manage Configurations...</strong></td>
+ <td headers="description"><a href="cdt_u_prop_all.htm">Click here for a description.</a></td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Build inside Docker Image</strong> (check-box)</td>
+ <td headers="description">Enables the build to occur inside a Container.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Connection</strong></td>
+ <td headers="description">Pull-down that contains a list of known Docker daemon connections to run the build in if enablement button is checked.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Image</strong></td>
+ <td headers="description">Pull-down that contains Docker Image names to use to create the Container the build will run in. This list is enabled by
+ a Docker Connection selection and the enablement check-box.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Data Volumes</strong></td>
+ <td headers="description">Optional list of directories to mount into the Container prior to building. By default, the C/C++ project and any refererenced
+ projects are mounted automatically in the Container. Directories can be added, edited, or removed using the buttons to the
+ right of the list.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Add...</strong></td>
+ <td headers="description">Button to bring up the <a href="cdt_u_prop_data_volumes.htm">Data Volume</a> dialog for specifying a
+ data volume to mount in the Docker Container. This usually involves selecting a directory from the local system. Once finished,
+ the mount will be shown in the Data Volumes list.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Edit...</strong></td>
+ <td headers="description">Button to edit the currently selected data volume in the Data Volumes list.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Remove</strong></td>
+ <td headers="description">Button to remove the currently selected data volume(s) in the Data Volumes list.</td>
+ </tr>
+ </tbody>
+</table>
+<br>
+<p><strong>Available for:</strong> CDT projects.</p>
+
+<p><img src="../images/ngtasks.gif" alt="Related tasks"
+ width="143" height="21">
+<br>
+</p>
+
+
+<p style="margin-top: 0pt; margin-bottom: 0pt;"><img
+ src="../images/ngref.gif" alt="Related reference" width="143"
+ height="21"><br>
+
+
+<ul>
+<li><a href="cdt_u_prop_resource.htm">Project Properties, Resource page</a>
+<li><a href="cdt_u_prop_builders.htm">Project Properties, Builders page</a>
+<li><a href="cdt_u_prop_all.htm">Project Properties, common C/C++ Configurations handling</a>
+ <ul style="list-style-type: disc">
+ <li><a href="cdt_u_prop_manage_dialog.htm">Manage Configurations dialog</a>
+ <li><a href="cdt_u_prop_manage_newdialog.htm">Create Configuration dialog</a>
+ <li><a href="cdt_u_prop_manage_rendialog.htm">Rename Configuration dialog</a>
+ </ul>
+<li><a href="cdt_u_prop_build.htm">Project Properties, C/C++ Build category</a>
+ <ul style="list-style-type: disc">
+ <li><a href="cdt_u_prop_build_discovery.htm">Discovery options page</a>
+ <li><a href="cdt_u_prop_build_environment.htm">Environment page</a>
+ <li>Settings page
+ <ul>
+ <li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">ContainerSettings tab</a>
+ <li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
+ <li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
+ <li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
+ <li><a href="cdt_u_prop_build_settings_errparser.htm">Error Parsers tab</a>
+ </ul>
+ <li><a href="cdt_u_prop_build_toolchain.htm">Tool chain editor page</a>
+ <li><a href="cdt_u_prop_build_variables.htm">Variables page</a>
+ </ul>
+<li>Project Properties, <a href="cdt_u_prop_general.htm">C/C++ General category</a>
+ <ul style="list-style-type: disc">
+ <li><a href="cdt_u_prop_general_doc.htm">Documentation page</a>
+ <li><a href="cdt_u_prop_general_exp.htm">Export Settings page</a>
+ <!--ul>
+ <li><a href="cdt_u_prop_general_exp_inc.htm">Includes tab</a>
+ <li><a href="cdt_u_prop_general_exp_sym.htm">Symbols tab</a>
+ <li><a href="cdt_u_prop_general_exp_lib.htm">Libraries tab</a>
+ <li><a href="cdt_u_prop_general_exp_libpath.htm">Libraries path tab</a>
+ </ul-->
+ <li><a href="cdt_u_prop_general_typ.htm">File Types page</a>
+ <li><a href="cdt_u_prop_general_idx.htm">Indexer page</a>
+ <li><a href="cdt_u_prop_general_lng.htm">Language Mapping page</a>
+ <li>Paths and Symbols page
+ <ul>
+ <li><a href="cdt_u_prop_general_pns_inc.htm">Includes tab</a>
+ <li><a href="cdt_u_prop_general_pns_sym.htm">Symbols tab</a>
+ <li><a href="cdt_u_prop_general_pns_lib.htm">Libraries tab</a>
+ <li><a href="cdt_u_prop_general_pns_libpath.htm">Libraries path tab</a>
+ <li><a href="cdt_u_prop_general_pns_src.htm">Source Location tab</a>
+ <li><a href="cdt_u_prop_general_pns_out.htm">Output Location tab</a>
+ <li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
+ <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
+ </ul>
+ </ul>
+<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
+<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>
+</ul>
+</p>
+<hr >
+<p><img src="../images/intl_07.gif" ALT="Intel Copyright Statement" ></p>
+
+</div></body>
+</html>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_errparser.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_errparser.htm
index 566c8c54473..9de52de6876 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_errparser.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_errparser.htm
@@ -88,6 +88,7 @@ build output log.</p>
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_steps.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_steps.htm
index 39c3a44e902..3ed28ad752e 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_steps.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_steps.htm
@@ -99,6 +99,7 @@ including pre-build or post-build steps.<br>
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_tool.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_tool.htm
index 7d0a6d548a2..d999fa31f02 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_tool.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_build_settings_tool.htm
@@ -65,6 +65,7 @@ Use the <strong>Tool Settings</strong> properties tab to customize the tools and
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_data_volumes.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_data_volumes.htm
new file mode 100644
index 00000000000..8515ae8e1e4
--- /dev/null
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_prop_data_volumes.htm
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+<head>
+ <meta http-equiv="Content-Language" content="en-us">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>C/C++ Project Properties, Build, Settings, Data Volume Dialog</title>
+ <link rel="stylesheet" type="text/css" href="../help.css">
+</head>
+<body>
+<div role="main"><h1>C/C++ Project Properties, Build, Settings, Data Volume Dialog</h1>
+<p>The <strong>Data Volume</strong> dialog is brought up when a user selects the
+Add... button from the Container Settings Data Volumes table. Like the properties tab,
+this dialog is only available if the optional Docker C/C++ Launch feature is installed.</p>
+<p>Data volumes can be specified from the local file system, another Container, or created
+as empty, in the Docker Container where the build will be performed.</p>
+
+<p><img img="" src="../images/prop_datavolumes.png"
+ alt="C/C++ Project Properties, Build, Settings, Data Volume Dialog"></p>
+
+
+<table cellpadding="5" cellspacing="0" border="1" width="600px" bordercolor="#DDDDDD" >
+ <caption><strong>Data Volume Dialog</strong></caption>
+ <colgroup>
+ <col width="30%" valign="top" >
+ <col width="70%" valign="top" >
+ </colgroup>
+ <tbody>
+ <tr style="text-align:center;">
+ <th id="group"><strong>Group</strong></th>
+ <th id="description"><strong>Description</strong></th>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Container path</strong></td>
+ <td headers="description">This defines the path that the data volume will be mounted as within the Docker Container.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>No external mount</strong></td>
+ <td headers="description">Use this option to create a new empty directory in the Docker Container that is not mounted
+ to any external directory.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Mount a host directory or host file</strong></td>
+ <td headers="description">Use this to specify a local system path that will be mounted in the Docker Container with
+ the given Container path.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Path</strong></td>
+ <td headers="description">This is the local path of the directory or file to mount in the Docker Container. This
+ can be specified manually or via the Directory/File buttons.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Directory</strong></td>
+ <td headers="description">Use this button to bring up a local directory browser to fill in the Path text field
+ when mounting a local directory in the Docker Container.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>File</strong></td>
+ <td headers="description">Use this button to bring up a local file browser to fill in the Path text field
+ when mounting a local file in the Docker Container.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Read-only access</strong></td>
+ <td headers="description">Check this button if mounting a local directory or file and you do not wish the
+ Container to modify it.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Mount a data volume container</strong></td>
+ <td headers="description">Check this button if mounting the volumes of another Container.</td>
+ </tr>
+ <tr>
+ <td headers="group"><strong>Container</strong></td>
+ <td headers="description">This is a pull-down containing actively running Containers to use data volumes from if
+ the option above is chosen.</td>
+ </tr>
+ </tbody>
+</table>
+<br>
+<p><strong>Available for:</strong> CDT projects.</p>
+
+<p><img src="../images/ngtasks.gif" alt="Related tasks"
+ width="143" height="21">
+<br>
+</p>
+
+
+<p style="margin-top: 0pt; margin-bottom: 0pt;"><img
+ src="../images/ngref.gif" alt="Related reference" width="143"
+ height="21"><br>
+
+
+<ul>
+<li><a href="cdt_u_prop_resource.htm">Project Properties, Resource page</a>
+<li><a href="cdt_u_prop_builders.htm">Project Properties, Builders page</a>
+<li><a href="cdt_u_prop_all.htm">Project Properties, common C/C++ Configurations handling</a>
+ <ul style="list-style-type: disc">
+ <li><a href="cdt_u_prop_manage_dialog.htm">Manage Configurations dialog</a>
+ <li><a href="cdt_u_prop_manage_newdialog.htm">Create Configuration dialog</a>
+ <li><a href="cdt_u_prop_manage_rendialog.htm">Rename Configuration dialog</a>
+ </ul>
+<li><a href="cdt_u_prop_build.htm">Project Properties, C/C++ Build category</a>
+ <ul style="list-style-type: disc">
+ <li><a href="cdt_u_prop_build_discovery.htm">Discovery options page</a>
+ <li><a href="cdt_u_prop_build_environment.htm">Environment page</a>
+ <li>Settings page
+ <ul>
+ <li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">ContainerSettings tab</a>
+ <li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
+ <li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
+ <li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>
+ <li><a href="cdt_u_prop_build_settings_errparser.htm">Error Parsers tab</a>
+ </ul>
+ <li><a href="cdt_u_prop_build_toolchain.htm">Tool chain editor page</a>
+ <li><a href="cdt_u_prop_build_variables.htm">Variables page</a>
+ </ul>
+<li>Project Properties, <a href="cdt_u_prop_general.htm">C/C++ General category</a>
+ <ul style="list-style-type: disc">
+ <li><a href="cdt_u_prop_general_doc.htm">Documentation page</a>
+ <li><a href="cdt_u_prop_general_exp.htm">Export Settings page</a>
+ <!--ul>
+ <li><a href="cdt_u_prop_general_exp_inc.htm">Includes tab</a>
+ <li><a href="cdt_u_prop_general_exp_sym.htm">Symbols tab</a>
+ <li><a href="cdt_u_prop_general_exp_lib.htm">Libraries tab</a>
+ <li><a href="cdt_u_prop_general_exp_libpath.htm">Libraries path tab</a>
+ </ul-->
+ <li><a href="cdt_u_prop_general_typ.htm">File Types page</a>
+ <li><a href="cdt_u_prop_general_idx.htm">Indexer page</a>
+ <li><a href="cdt_u_prop_general_lng.htm">Language Mapping page</a>
+ <li>Paths and Symbols page
+ <ul>
+ <li><a href="cdt_u_prop_general_pns_inc.htm">Includes tab</a>
+ <li><a href="cdt_u_prop_general_pns_sym.htm">Symbols tab</a>
+ <li><a href="cdt_u_prop_general_pns_lib.htm">Libraries tab</a>
+ <li><a href="cdt_u_prop_general_pns_libpath.htm">Libraries path tab</a>
+ <li><a href="cdt_u_prop_general_pns_src.htm">Source Location tab</a>
+ <li><a href="cdt_u_prop_general_pns_out.htm">Output Location tab</a>
+ <li><a href="cdt_u_prop_general_pns_ref.htm">References tab</a>
+ <li><a href="cdt_u_prop_general_pns_hier.htm">Data Hierarchy tab</a>
+ </ul>
+ </ul>
+<li><a href="cdt_u_prop_ref.htm">C/C++ Project Properties, Project References page</a>
+<li><a href="cdt_u_prop_rundebug.htm">C/C++ Project Properties, Run/Debug Settings page</a>
+</ul>
+</p>
+<hr >
+<p><img src="../images/intl_07.gif" ALT="Intel Copyright Statement" ></p>
+
+</div></body>
+</html>
diff --git a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_properties.htm b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_properties.htm
index 06b57c23857..23611f6a4c1 100644
--- a/doc/org.eclipse.cdt.doc.user/reference/cdt_u_properties.htm
+++ b/doc/org.eclipse.cdt.doc.user/reference/cdt_u_properties.htm
@@ -39,6 +39,7 @@ To select object properties, right click on object in view and select <strong>Pr
<li>Settings page
<ul>
<li><a href="cdt_u_prop_build_settings_tool.htm"> Tool Settings tab</a>
+ <li><a href="cdt_u_prop_build_settings_container.htm">Container Settings tab</a>
<li><a href="cdt_u_prop_build_settings_steps.htm"> Build Steps tab</a>
<li><a href="cdt_u_prop_build_settings_artifact.htm"> Build Artifact tab</a>
<li><a href="cdt_u_prop_build_settings_binparser.htm">Binary Parsers tab</a>

Back to the top