Struct conductor::Project [] [src]

pub struct Project { /* fields omitted */ }

A conductor project, which is represented as a directory containing a pods subdirectory.

Methods

impl Project
[src]

Create a Project using the pre-existing project files in the current directory as input and the .conductor subdirectory as output.

use conductor::Project;
use std::env;

let saved = env::current_dir().unwrap();
env::set_current_dir("examples/hello/pods").unwrap();

let proj = Project::from_current_dir().unwrap();
assert_eq!(proj.root_dir(), saved.join("examples/hello"));
assert_eq!(proj.src_dir(), saved.join("examples/hello/src"));
assert_eq!(proj.output_dir(), saved.join("examples/hello/.conductor"));

env::set_current_dir(saved).unwrap();Run

The name of this project. This defaults to the name of the current directory.

Set the name of this project. This should be done before calling output or any methods in conductor::cmd.

The root directory of this project.

The source directory of this project, where we can put cloned git repositories.

The output directory of this project. Normally .conductor inside the root_dir, but it may be overriden.

The directory in which are pods are defined, and relative to which all docker-compose.yml paths should be interpreted.

The path relative to which our pods will be output. This can be joined with Pod::rel_path to get an output path for a specific pod.

Iterate over all pods in this project.

Look up the named pod.

Iterate over all overrides in this project.

Look up the named override. We name this function ovr instead of override to avoid a keyword clash.

Return the collection of git repositories associated with this project.

Get the default tags associated with this project, if any.

Set the default tags associated with this project.

Our plugin manager.

Delete our existing output and replace it with a processed and expanded version of our pod definitions.

Export this project (with the specified override applied) as a set of standalone *.yml files with no environment variable interpolations and no external dependencies.

Trait Implementations

impl CommandBuild for Project
[src]

Build all the images associated with this project.

impl CommandExec for Project
[src]

Exectute a command inside a running container. Even though we package up most of our arguments into structs, we still have a ridiculous number of arguments. Read more

Execute an interactive shell inside a running container.

impl CommandGenerate for Project
[src]

Create a new conductor project skeleton, returning the path of the generated project. Read more

Print our all available generators (excluding the generate_new generator). Read more

Run the specified generator.

impl CommandPull for Project
[src]

Pull all the images associated with a project.

impl CommandRepo for Project
[src]

List all the repositories associated with a project.

Clone the specified repository.

impl CommandRun for Project
[src]

Run a specific pod as a one-shot task.

Execute tests inside a fresh container.

impl CommandStop for Project
[src]

Stop all the images associated with a project.

impl CommandUp for Project
[src]

Up all the images associated with a project.

Up all the images in the specified pods.

impl Debug for Project
[src]

Formats the value using the given formatter.

impl<'a> ToJson for Project
[src]

Convert to JSON for use in generator templates.

Converts the value of self to an instance of JSON