Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/athackst/vscode-ros2-features

VSCode ROS2 devcontainer features
https://github.com/athackst/vscode-ros2-features

Last synced: 6 days ago
JSON representation

VSCode ROS2 devcontainer features

Awesome Lists containing this project

README

        

# VSCode ROS2 Features

> This repo provides a [dev container Features](https://containers.dev/implementors/features/) for [ros2](https://docs.ros.org/en/humble/index.html).

## Usage

### `ros2`

Running `ros2` inside the built container will install ros2 inside of the container.

```jsonc
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/devcontainers/vscode-ros2-features/ros2:latest": {
"distro": "humble"
}
}
}
```

## License

This package is licensed under the MIT license.

It used the template [devcontainers feature starter](https://github.com/devcontainers/feature-starter) as a starting template.

It uses installation instructions from [ROS2](https://docs.ros.org/en/foxy/Installation.html)

## Developing

### Repo and Feature Structure

```
├── src
│ ├── ros2
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
...
```

The dev container _options_ are found in [the documented dev container properties](https://containers.dev/implementors/features/#devcontainer-feature-json-properties) from the feature's `devcontainer-feature.json` file, and execute in the `install.sh` entrypoint script in the container during build time.

### Packaging

You can run the dev container locally using an [implementing tool](https://containers.dev/supporting#tools). Implementing tools are also free to process attributes under the `customizations` property as desired.

```bash
devcontainer features package -f src
```

### Testing

You can test the dev container locally

```bash
devcontainer features test --base-image ubuntu:22.04 .
```

### Tasks

- **test (autogenerated)** Run test.sh over autogenerated feature with default options
- **test (scenarios)** Test all scenarios
- **test (all)** Test both
- **package** Package the feature