Skip to content

Commit

Permalink
Update docs (#34)
Browse files Browse the repository at this point in the history
Co-authored-by: Matthew Asplund <[email protected]>
  • Loading branch information
mwasplund and Matthew Asplund authored May 4, 2020
1 parent 931acc2 commit b1bbc3f
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 21 deletions.
2 changes: 1 addition & 1 deletion Docs/Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The Soup Recipe is a property bag defined in the [toml](https://github.com/toml-
Soup builds are fairly simple at their core. There are five phases.

1. **Parse Recipe** - The Recipe toml file is read from disk.
2. **Build Dependencies** - The build engine recursively builds all transient dependencies.
2. **Build Dependencies** - The build engine recursively builds all trasitive dependencies.
3. **Build Extensions** - The build engine recursively builds all build extension DLLs. The engine will then invoke the "RegisterBuildExtension" method that is exported from the Extension DLL.
4. **Run Tasks** - The build engine will invoke all registered build tasks in their defined order (Note: this is still being worked on.) The Tasks can influence each other by reading and setting properties on the active state. A build task should not actually perform any commands itself, it will instead generate Build Commands which are self contained operation definitions with input/output files.
5. **Run Commands** - The final stage of the build is to execute the build commands that were generated from the build tasks. These commands contain the input and output files that will be used to perform incremental builds. (Note: There is currently a very simple time-stamp based incremental build that relies on the compiler to print all included files. There is an open question if this can be replaced with a better system that monitors the filesystem for changes, possibly BuildXL).
4 changes: 4 additions & 0 deletions Docs/CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,8 @@ soup <command> [arguments]

[Initialize](cli/initialize)

[Install](cli/install)

[Publish](cli/publish)

[Version](cli/version)
2 changes: 1 addition & 1 deletion Docs/CLI/Build.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build
## Overview
Build a recipe and all transient dependencies.
Build a recipe and all transitive dependencies.
```
soup build <directory> [-flavor <name>|-force]
```
Expand Down
23 changes: 17 additions & 6 deletions Docs/CLI/Install.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
# Install packages
# Install
## Overview
Install packages from the public feed.
```
soup install [<name>[@<version>]]
```

## Synopsis
`<name>[@<version>]` - An optional parameter to specify the name and optional version of the package you would like to install. If not present then the install command will install all of the packages already in the recipe.

## Examples
Install all of the current external dependencies and build extension packages.
```
soup install
soup install <name>
soup install <name>@<version>
```

## Description
Install the latest `json11` package.
```
soup install json11
```

Used to install individual packages or all register dependencies for a given recipe.
Install version `1.0.0` of the `json11` package.
```
soup install [email protected]
```
15 changes: 8 additions & 7 deletions Docs/CLI/Publish.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# Install packages

## Synopsis

# Publish
## Overview
Pack the current recipe folder and publish its contents to the official feed.
```
soup publish
```

## Description

Package up the contents of the current recipe and publish its contents to the official feed.
## Examples
Publish the latest version of the package in the current folder.
```
soup publish
```
4 changes: 2 additions & 2 deletions Managed/Core/Build/BuildEngine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ private async Task CompileModuleAsync(
// Add all of the direct dependencies as module references
// and set their version defintions

// TODO: MSVC requires all transient modules also
// TODO: MSVC requires all trasnsitive modules also
bool isRecursive = _compiler.Name == "MSVC";
await BuildDependencyModuleReferences(path, binaryDirectory, recipe, modules, defines, isRecursive);

Expand Down Expand Up @@ -276,7 +276,7 @@ private async Task<bool> CheckCompileSourceAsync(

// Add all of the direct dependencies as module references
// and set their version defintions
// TODO: MSVC requires all transient modules also
// TODO: MSVC requires all trasnsitive modules also
bool isRecursive = _compiler.Name == "MSVC";
await BuildDependencyModuleReferences(path, binaryDirectory, recipe, modules, defines, isRecursive);

Expand Down
2 changes: 1 addition & 1 deletion Managed/Core/Build/BuildRequiredChecker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static bool IsSourceFileOutdated(string rootPath, BuildState buildState,
var sourceFiles = new List<string>();
sourceFiles.Add(sourceFile);

// Copy the dependencies and add all transient dependencies to the collection
// Copy the dependencies and add all transitive dependencies to the collection
var dependencyClosure = new List<string>();
dependencyClosure.AddRange(dependencies);
dependencyClosure.Add(sourceFile);
Expand Down
4 changes: 2 additions & 2 deletions Managed/Core/Package/PackageManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ public static async Task<List<PackageReference>> BuildRecursiveDependeciesAsync(
result.Add(dependency);
var dependencyPackagePath = BuildKitchenPackagePath(config, dependency);
var dependencyRecipe = await RecipeManager.LoadFromFileAsync(dependencyPackagePath);
var transientDependencies = await BuildRecursiveDependeciesAsync(config, dependencyRecipe);
result.AddRange(transientDependencies);
var transsitiveDependencies = await BuildRecursiveDependeciesAsync(config, dependencyRecipe);
result.AddRange(transsitiveDependencies);
}

return result;
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Build/BuildEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ namespace Soup::Build
{
linkArguments.TargetType = Soup::LinkTarget::StaticLibrary;

// Add the library as a link dependency and all transient libraries
// Add the library as a link dependency and all transitive libraries
result.LinkDependencies = arguments.LinkDependencies;
result.LinkDependencies.push_back(linkArguments.RootDirectory + linkArguments.TargetFile);
break;
Expand Down

0 comments on commit b1bbc3f

Please sign in to comment.