Fix missing output when running Container commands

- change ContainerCommandProcess destroy() to delay before closing
  the piped std streams to allow output to complete
- also flush the piped streams at the end of the attach thread and
  stop the logging thread after waiting for container completion
- add getImageByTag() method to DockerConnection
- when copying volumes from image in ContainerLauncher,
  keep track of which directories are copied and don't bother if
  they already recorded in a static map for the connection and
  image which we serialize to a file upon exit
- add new getCopiedVolumes() method to ContainerLauncher to get
  the volumes that have been copied for an image
- also keep track of the image id and store in a file so that
  if the image id changes for the repo tag, assume that previous
  copying is null and void and copy all headers again
- don't cause an error if an exception occurs copying as we might
  be attempting to copy a local include path that doesn't exist
  in the image so just ignore it and move to next path to copy  
- fix uses of Objects.toStringHelper to instead use
  MoreObjects.toStringHelper (ImageSearchResultV1,
  ImageSearchResultV2, and RepositoryTag classes)

Change-Id: Ib01ff56d92c50fb7cebf32ce0d277f32ee825fba
6 files changed
tree: a803f48ecd412e6a357fe940376cd5f33e501c30
  1. changelog/
  2. containers/
  3. gcov/
  4. gprof/
  5. javadocs/
  6. libhover/
  7. lttng/
  8. man/
  9. oprofile/
  10. perf/
  11. profiling/
  12. releng/
  13. rpm/
  14. systemtap/
  15. vagrant/
  16. valgrind/
  17. .gitignore
  18. pom.xml
  19. README.md
README.md

Contributing to Linux Tools

Thanks for your interest in this project.

Project description:

The Linux Tools project aims to bring a full-featured C and C++ IDE to Linux developers. We build on the source editing and debugging features of the CDT and integrate popular native development tools such as the GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Current projects include LTTng trace viewers and analyzers, an RPM .spec editor, Autotools build integration, a Valgrind heap usage analysis tool, and OProfile call profiling tools. The project also provides a place for Linux distributions to collaboratively overcome issues surrounding distribution packaging of Eclipse technology. The project produces both best practices and tools related to packaging. One of our features is a source archive of the Eclipse SDK that can be used by all Linux distributions building and distributing it.

Developer resources:

Information regarding source code management, builds, coding standards, and more.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Contact:

Contact the project developers via the project's “dev” list.

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!