1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 07:05:24 +02:00

Add user documentation about Container Build

- add details of the ContainerPropertyTab in Build Settings and
  the Data Volume dialog pop-up it brings up
This commit is contained in:
Jeff Johnston 2017-07-06 19:35:59 -04:00
parent 93935c5318
commit 7fe60c3393
11 changed files with 322 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>