diff --git a/README.md b/README.md index 1f7e29e11..82ed25fdf 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ The entire system is programming language agnostic and allows for easy integrati * [Simple Minimal Language (SML)](./Docs/SML.md) - The documentation for the Declarative language used by Soup Recipes. ## Release Status -Soup is currently in an `Beta` stage. This means that anyone is welcome to play around with the source code or the releases on GitHub, however there may be breaking changes in the internal structures and definitions as work is completed. It is therefor recommended not to be used in any production capacity. The design is stabilizing over time and [Version 1](https://github.com/SoupBuild/Soup/milestone/2) will be released when we believe there will be no more breaking changes or security concerns that would block a first release. +Soup is currently in an `Beta` stage. This means that anyone is welcome to play around with the source code or the releases on GitHub, however there may be breaking changes in the internal structures and definitions as work is completed. It is therefor recommended not to be used in any production capacity. The design is stabilizing over time and [Version 1](https://github.com/soup-build/soup/milestone/2) will be released when we believe there will be no more breaking changes or security concerns that would block a first release. ## Contributing Soup is currently in active prototyping and testing. If you are interested in contributing to the project feel free to submit a PR or download the latest release and file an issue with suggestions or bugs. :smile:. diff --git a/code/generate-sharp/package-manager/WebPageBuilder.cs b/code/generate-sharp/package-manager/WebPageBuilder.cs index 549c87689..3ed893d60 100644 --- a/code/generate-sharp/package-manager/WebPageBuilder.cs +++ b/code/generate-sharp/package-manager/WebPageBuilder.cs @@ -43,7 +43,7 @@ public static class WebPageBuilder
© 2020-2024 - Soup Build
diff --git a/docs/CLI.md b/docs/CLI.md deleted file mode 100644 index 8ee0920f0..000000000 --- a/docs/CLI.md +++ /dev/null @@ -1,24 +0,0 @@ -# Command Line Interface (CLI) -Soup is at its core a command line application. The CLI is designed to be as clean and simple as possible while still allowing for easy execution of common build related tasks. - -``` -soup [arguments] -``` - -* [Build](CLI/Build.md) - Perform a build with a specified root Package. - -* [Init](CLI/Init.md) - Initialize a new Package with default properties. - -* [Install](CLI/Install.md) - Install a new dependency for a specified Package. - -* [Publish](CLI/Publish.md) - Publish a given package to the public feed. - -* [Restore](CLI/Restore.md) - Restore all external package references in the target project closure. - -* [Run](CLI/Run.md) - Invoke the executable result (if applicable) for a specified package. - -* [Target](CLI/Target.md) - Prints the target directory for a specified package. - -* [Version](CLI/Version.md) - Print the version of the current installed Soup application. - -* [View](CLI/View.md) - Launch the Soup View tool. diff --git a/docs/Architecture.md b/docs/architecture.md similarity index 91% rename from docs/Architecture.md rename to docs/architecture.md index d677cabcd..ae9e99361 100644 --- a/docs/Architecture.md +++ b/docs/architecture.md @@ -5,26 +5,26 @@ The **Soup** build system utilizes a three phased approach to building code. A **declarative** frontend that tells the build **what** to build. A **generate** layer then defines **how** to build the requested definition. And finally, the **evaluate** engine **runs** the build. ## Declaration -There are four ways to declare the state for an invocation of a build. Through the command line application, from the Recipe file for each package, from a Root Recipe file that is shared with packages in the same folder hierarchy and from the global user config. All input state is combined into a single [Active State Table](Architecture/Active-State-Table.md) which is consumed by the Generate Phase. +There are four ways to declare the state for an invocation of a build. Through the command line application, from the Recipe file for each package, from a Root Recipe file that is shared with packages in the same folder hierarchy and from the global user config. All input state is combined into a single [Active State Table](architecture/active-state-table.md) which is consumed by the Generate Phase. ### Application -The [Command Line Interface (CLI)](CLI.md) is the first thing a user will see when they interact with the Soup build system. The CLI is primarily there to take user input through a set of parameters and flags to pass temporary configuration values into the build execution. The command parameters will be used to generate a unique output folder for the given build to allow for individual builds to coexist for the same package (i.e. Release vs Debug). The argument properties will be combined with a set of generated properties from the application that are passed into the next phase of the build through a [Parameters Table](Architecture/Parameters-Table.md). +The [Command Line Interface (CLI)](cli.md) is the first thing a user will see when they interact with the Soup build system. The CLI is primarily there to take user input through a set of parameters and flags to pass temporary configuration values into the build execution. The command parameters will be used to generate a unique output folder for the given build to allow for individual builds to coexist for the same package (i.e. Release vs Debug). The argument properties will be combined with a set of generated properties from the application that are passed into the next phase of the build through a [Parameters Table](architecture/parameters-table.md). ### Recipe -The build definition will use a declarative **Recipe** configuration file is how the user will configure their project. The Recipe file will utilize the [Simple Markup Language (SML)](./SML.md) language as a clean, human readable, definition that supports a core set of data types. The file can be thought of as a simple property bag for setting shared parameters into the build system for an individual package. +The build definition will use a declarative **Recipe** configuration file is how the user will configure their project. The Recipe file will utilize the [Simple Markup Language (SML)](./sml.md) language as a clean, human readable, definition that supports a core set of data types. The file can be thought of as a simple property bag for setting shared parameters into the build system for an individual package. There are a few "known" property values that will be used within the build engine itself; however, the entire contents will be provided as initial input to the build engine. ### Root Recipe -When processing the state for a given Recipe file the system will walk up the directory structure for the first instance of a [Root Recipe](Architecture/Root-Recipe.md). This file is used as a shared set of properties that can be used by multiple packages. +When processing the state for a given Recipe file the system will walk up the directory structure for the first instance of a [Root Recipe](architecture/root-recipe.md). This file is used as a shared set of properties that can be used by multiple packages. ### Local User Config -The [Local User Config](Architecture/Local-User-Config.md) allows the user to specify external SDK definitions that will grant read access to the specified folders and pass in the shared state to the build. +The [Local User Config](architecture/local-user-config.md) allows the user to specify external SDK definitions that will grant read access to the specified folders and pass in the shared state to the build. ## Generate -The Generate Phase takes the combined input Declaration along with the [Shared State](Architecture/Shared-State-Table.md) Generated from the dependencies and generates the [Operation](Architecture/assets/Build-Operation.md) Graph that will be passed to the Evaluate phase, along with the output Shared State that downstream dependencies will consume. +The Generate Phase takes the combined input Declaration along with the [Shared State](architecture/shared-state-table.md) Generated from the dependencies and generates the [Operation](architecture/build-operation.md) Graph that will be passed to the Evaluate phase, along with the output Shared State that downstream dependencies will consume. -All build logic is injected into the Generate phase through the [Build Extension](Architecture/Build-Extension.md) framework. Each build extension is simply a C# library package that contains one or more public implementations of the `SoupTask` interface. When referenced from another Recipe as a **Build** dependency the Generate Engine will discover and instantiate all instances of the build tasks. Each build task contains of a set of run before and after lists that instruct the Generate Engine in what order to run the tasks to ensure shared state is setup in the correct order. The tasks then invoke their single Run method that will allow them to read and write from the active and shared state and generate build Operations. +All build logic is injected into the Generate phase through the [Build Extension](architecture/build-extension.md) framework. Each build extension is simply a C# library package that contains one or more public implementations of the `SoupTask` interface. When referenced from another Recipe as a **Build** dependency the Generate Engine will discover and instantiate all instances of the build tasks. Each build task contains of a set of run before and after lists that instruct the Generate Engine in what order to run the tasks to ensure shared state is setup in the correct order. The tasks then invoke their single Run method that will allow them to read and write from the active and shared state and generate build Operations. Along with the list of explicit Build dependencies that inject build extensions, the **Language** property also instructs Soup to add the default tasks for that language. @@ -63,7 +63,7 @@ This work can be broken down into five phases: * Monitor the actual file system access (using Detours on Windows, open question for other platforms) to verify the declared input/output files match reality. ## Package Manager -You may have noticed that nothing about the build explicitly deals with the integration of a public feed of packages. Because each individual projects build is isolated and self contained, a dependency [Package Reference](Architecture/Package-Reference.md) can easily be migrated from a directory reference, for local projects, to a name@version pair that will be resolved to a published snapshot of a public project. The CLI application will consume a rest API from a hosted web service that allows for users to install other projects and publish the code they would like to share with ease. The build Engine will then have a small amount of integration logic that knows where to look when resolving dependencies that reference a public package that will be installed to a known location. It should be noted that these public dependency references can be for both runtime and developer dependencies. This will allow for shared packages to contain custom build logic and for the creation of shared build Extensions to augment the built in build Tasks. +You may have noticed that nothing about the build explicitly deals with the integration of a public feed of packages. Because each individual projects build is isolated and self contained, a dependency [Package Reference](architecture/package-reference.md) can easily be migrated from a directory reference, for local projects, to a name@version pair that will be resolved to a published snapshot of a public project. The CLI application will consume a rest API from a hosted web service that allows for users to install other projects and publish the code they would like to share with ease. The build Engine will then have a small amount of integration logic that knows where to look when resolving dependencies that reference a public package that will be installed to a known location. It should be noted that these public dependency references can be for both runtime and developer dependencies. This will allow for shared packages to contain custom build logic and for the creation of shared build Extensions to augment the built in build Tasks. ## Open Questions * Find replacement for Windows Detours on Linux and macOS. diff --git a/docs/architecture/Active-State-Table.md b/docs/architecture/active-state-table.md similarity index 62% rename from docs/architecture/Active-State-Table.md rename to docs/architecture/active-state-table.md index 0bb0f40b8..11cbd9ac4 100644 --- a/docs/architecture/Active-State-Table.md +++ b/docs/architecture/active-state-table.md @@ -5,11 +5,11 @@ The root table that provides input and output state from individual build tasks ## Known Keys ### "Parameters" -The [Parameters Table](Parameters-Table.md) that contains the input from the Command Line Application. +The [Parameters Table](parameters-table.md) that contains the input from the Command Line Application. ### "Recipe" -The duplicated state of the [Recipe](Recipe.md) file. +The duplicated state of the [Recipe](recipe.md) file. ### "Dependencies" -The table which a key for each direct dependency referenced from the Recipe file. The value contains the [Shared State Table](Shared-State-Table.md) from the resulting outputs from the generate phase of the referenced package build. +The table which a key for each direct dependency referenced from the Recipe file. The value contains the [Shared State Table](shared-state-table.md) from the resulting outputs from the generate phase of the referenced package build. diff --git a/docs/architecture/Build-Extension.md b/docs/architecture/build-extension.md similarity index 65% rename from docs/architecture/Build-Extension.md rename to docs/architecture/build-extension.md index e0e883814..644ee1047 100644 --- a/docs/architecture/Build-Extension.md +++ b/docs/architecture/build-extension.md @@ -1,3 +1,3 @@ # Build Extension -A [Wren](https://wren.io/) package that contains one or more implementations of the [Build Task](Build-Task.md) interface. When referenced as a **Build** Dependency within a [Recipe](Recipe.md) the Generate runtime will automatically discover and instantiate one instance of each public class that implements the shared interface definition. The +A [Wren](https://wren.io/) package that contains one or more implementations of the [Build Task](build-task.md) interface. When referenced as a **Build** Dependency within a [Recipe](recipe.md) the Generate runtime will automatically discover and instantiate one instance of each public class that implements the shared interface definition. The diff --git a/docs/architecture/Build-Operation.md b/docs/architecture/build-operation.md similarity index 100% rename from docs/architecture/Build-Operation.md rename to docs/architecture/build-operation.md diff --git a/docs/architecture/Build-Task.md b/docs/architecture/build-task.md similarity index 100% rename from docs/architecture/Build-Task.md rename to docs/architecture/build-task.md diff --git a/docs/architecture/Language-Version-Resolution.md b/docs/architecture/language-version-resolution.md similarity index 100% rename from docs/architecture/Language-Version-Resolution.md rename to docs/architecture/language-version-resolution.md diff --git a/docs/architecture/Local-User-Config.md b/docs/architecture/local-user-config.md similarity index 92% rename from docs/architecture/Local-User-Config.md rename to docs/architecture/local-user-config.md index 58704d393..1f7f33c55 100644 --- a/docs/architecture/Local-User-Config.md +++ b/docs/architecture/local-user-config.md @@ -1,6 +1,6 @@ # Local User Config -The Local User config allows for a set of properties to be set for an individual user. Currently the only state that is used from this file is the list of SDKs. The [SWhere](../Tools/SWhere.md) can be used to automatically fill in this file with the VSWhere tooling. +The Local User config allows for a set of properties to be set for an individual user. Currently the only state that is used from this file is the list of SDKs. The [SWhere](../tools/swhere.md) can be used to automatically fill in this file with the VSWhere tooling. ## "SDK" A special table that allows for registering external SDKs. These allow for passing in Properties and a list of directories that should be allowed read access. diff --git a/docs/architecture/Package-Reference.md b/docs/architecture/package-reference.md similarity index 94% rename from docs/architecture/Package-Reference.md rename to docs/architecture/package-reference.md index c85aaf13f..a3134db8b 100644 --- a/docs/architecture/Package-Reference.md +++ b/docs/architecture/package-reference.md @@ -7,7 +7,7 @@ A **Package Reference** is a special format string that can either be a director > Note2: While absolute paths are allowed, they are strongly discouraged as they do not lend themselves to sharing code with others. ``` -"../../OtherPackage/" +"../../other-package/" ``` ``` diff --git a/docs/architecture/Parameters-Table.md b/docs/architecture/parameters-table.md similarity index 100% rename from docs/architecture/Parameters-Table.md rename to docs/architecture/parameters-table.md diff --git a/docs/architecture/Recipe.md b/docs/architecture/recipe.md similarity index 87% rename from docs/architecture/Recipe.md rename to docs/architecture/recipe.md index a85737053..31acbbd42 100644 --- a/docs/architecture/Recipe.md +++ b/docs/architecture/recipe.md @@ -1,6 +1,6 @@ # Recipe -The Recipe file is the definition for a code package and will always be located at the root of the package directory structure. It is written in the [Simple Markup Language (SML)](../SML.md) declarative language. +The Recipe file is the definition for a code package and will always be located at the root of the package directory structure. It is written in the [Simple Markup Language (SML)](../sml.md) declarative language. > Note: Adopted as a simplification of the TOML design. @@ -13,7 +13,7 @@ Name: "MyAwesomePackage" ``` ### Language -The **Language** property is required for all packages. It consists of a string value that contains the language type and minimum build version. This language tells Soup what default [Build Tasks](Build-Task.md) to inject into the build. +The **Language** property is required for all packages. It consists of a string value that contains the language type and minimum build version. This language tells Soup what default [Build Tasks](build-task.md) to inject into the build. ``` Language: (C#@0) ``` @@ -25,7 +25,7 @@ Version: 1.0.0 ``` ### Dependencies -The **Dependencies** property is a table of different dependency types that each consist of a list of dependency values. A dependency value can either be a string value with a [Package Reference](Package-Reference.md) or a table with a required **Reference** property that contains the Package Reference. The runtime will recursively build the dependencies and inject shared properties and allow read access for builds. +The **Dependencies** property is a table of different dependency types that each consist of a list of dependency values. A dependency value can either be a string value with a [Package Reference](package-reference.md) or a table with a required **Reference** property that contains the Package Reference. The runtime will recursively build the dependencies and inject shared properties and allow read access for builds. ``` Dependencies: { Runtime: [ @@ -37,4 +37,4 @@ Dependencies: { ``` #### Build Dependencies -Build dependencies are a special set that are assumed to be C# Dynamic Libraries containing [Build Tasks](Build-Task.md). These build tasks will be loaded into the build generate and allow for shared build logic. \ No newline at end of file +Build dependencies are a special set that are assumed to be C# Dynamic Libraries containing [Build Tasks](build-task.md). These build tasks will be loaded into the build generate and allow for shared build logic. \ No newline at end of file diff --git a/docs/architecture/Root-Recipe.md b/docs/architecture/root-recipe.md similarity index 100% rename from docs/architecture/Root-Recipe.md rename to docs/architecture/root-recipe.md diff --git a/docs/architecture/Shared-State-Table.md b/docs/architecture/shared-state-table.md similarity index 100% rename from docs/architecture/Shared-State-Table.md rename to docs/architecture/shared-state-table.md diff --git a/docs/Benchmarks.md b/docs/benchmarks.md similarity index 100% rename from docs/Benchmarks.md rename to docs/benchmarks.md diff --git a/docs/cli.md b/docs/cli.md new file mode 100644 index 000000000..b94d7a811 --- /dev/null +++ b/docs/cli.md @@ -0,0 +1,24 @@ +# Command Line Interface (CLI) +Soup is at its core a command line application. The CLI is designed to be as clean and simple as possible while still allowing for easy execution of common build related tasks. + +``` +soup [arguments] +``` + +* [Build](cli/build.md) - Perform a build with a specified root Package. + +* [Init](cli/init.md) - Initialize a new Package with default properties. + +* [Install](cli/install.md) - Install a new dependency for a specified Package. + +* [Publish](cli/publish.md) - Publish a given package to the public feed. + +* [Restore](cli/restore.md) - Restore all external package references in the target project closure. + +* [Run](cli/run.md) - Invoke the executable result (if applicable) for a specified package. + +* [Target](cli/target.md) - Prints the target directory for a specified package. + +* [Version](cli/version.md) - Print the version of the current installed Soup application. + +* [View](cli/view.md) - Launch the Soup View tool. \ No newline at end of file diff --git a/docs/cli/Build.md b/docs/cli/build.md similarity index 100% rename from docs/cli/Build.md rename to docs/cli/build.md diff --git a/docs/cli/Init.md b/docs/cli/init.md similarity index 100% rename from docs/cli/Init.md rename to docs/cli/init.md diff --git a/docs/cli/Install.md b/docs/cli/install.md similarity index 100% rename from docs/cli/Install.md rename to docs/cli/install.md diff --git a/docs/cli/Publish.md b/docs/cli/publish.md similarity index 100% rename from docs/cli/Publish.md rename to docs/cli/publish.md diff --git a/docs/cli/Restore.md b/docs/cli/restore.md similarity index 100% rename from docs/cli/Restore.md rename to docs/cli/restore.md diff --git a/docs/cli/Run.md b/docs/cli/run.md similarity index 100% rename from docs/cli/Run.md rename to docs/cli/run.md diff --git a/docs/cli/Target.md b/docs/cli/target.md similarity index 100% rename from docs/cli/Target.md rename to docs/cli/target.md diff --git a/docs/cli/Version.md b/docs/cli/version.md similarity index 100% rename from docs/cli/Version.md rename to docs/cli/version.md diff --git a/docs/cli/View.md b/docs/cli/view.md similarity index 65% rename from docs/cli/View.md rename to docs/cli/view.md index 6a2f9f1dc..9eb7ec854 100644 --- a/docs/cli/View.md +++ b/docs/cli/view.md @@ -1,6 +1,6 @@ # View ## Overview -Launch the Soup View untility GUI for visualizing the build dependency, tasks and operation graphs. +Launch the Soup View utility GUI for visualizing the build dependency, tasks and operation graphs. ``` soup view ``` @@ -8,7 +8,7 @@ soup view `path` - An optional parameter that directly follows the build command. If present this specifies the directory to look for a Recipe file to build. If not present then the command will use the current active directory. ## Examples -Luanch the tool in the current directory for debug with default configurations. +Launch the tool in the current directory for debug with default configurations. ``` soup view ``` \ No newline at end of file diff --git a/docs/Code-Of-Conduct.md b/docs/code-of-conduct.md similarity index 100% rename from docs/Code-Of-Conduct.md rename to docs/code-of-conduct.md diff --git a/docs/Contributing.md b/docs/contributing.md similarity index 100% rename from docs/Contributing.md rename to docs/contributing.md diff --git a/docs/Create-Release.md b/docs/create-release.md similarity index 66% rename from docs/Create-Release.md rename to docs/create-release.md index 687af1df3..de195f496 100644 --- a/docs/Create-Release.md +++ b/docs/create-release.md @@ -7,18 +7,18 @@ Create a PR with this change. ## Build Windows Release ``` -./Scripts/Windows/build.cmd Release -./Scripts/Windows/soup-release.cmd version -./Scripts/Windows/SignRuntime.cmd -./Scripts/Windows/release.cmd -./Scripts/Windows/SignInstaller.cmd +./scripts/windows/build.cmd Release +./scripts/windows/soup-release.cmd version +./scripts/windows/SignRuntime.cmd +./scripts/windows/release.cmd +./scripts/windows/SignInstaller.cmd ``` ## Build Linux Release ``` -./Scripts/Linux/build -./Scripts/Linux/soup version -./Scripts/Linux/release +./scripts/linux/build +./scripts/linux/soup version +./scripts/linux/release ``` ## Create a GitHub Release diff --git a/docs/Design-Requirements-Goals.md b/docs/design-requirements-goals.md similarity index 100% rename from docs/Design-Requirements-Goals.md rename to docs/design-requirements-goals.md diff --git a/docs/design/Build-Steps.md b/docs/design/build-steps.md similarity index 100% rename from docs/design/Build-Steps.md rename to docs/design/build-steps.md diff --git a/docs/Developer-Setup.md b/docs/developer-setup.md similarity index 78% rename from docs/Developer-Setup.md rename to docs/developer-setup.md index c33e7433d..a72ff2dd9 100644 --- a/docs/Developer-Setup.md +++ b/docs/developer-setup.md @@ -8,7 +8,7 @@ * [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) with "Desktop development with c++" workload. * OR * [Build Tools For Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) with "c++ build tools" workload. -* [Latest Release](https://github.com/SoupBuild/Soup/releases) +* [Latest Release](https://github.com/soup-build/soup/releases) ### Linux * Verified on Ubuntu 22.04.1 LTS WSL @@ -20,13 +20,13 @@ ``` sudo apt install dotnet-sdk-6.0 ``` -* [Latest Release](https://github.com/SoupBuild/Soup/releases) +* [Latest Release](https://github.com/soup-build/soup/releases) ## Setup Clone the repository and all submodules recursively. ``` -git clone --recursive https://github.com/SoupBuild/Soup.git +git clone --recursive https://github.com/soup-build/soup.git ``` ## Build diff --git a/docs/Getting-Started.md b/docs/getting-started.md similarity index 89% rename from docs/Getting-Started.md rename to docs/getting-started.md index a1a594bc7..ada6c4363 100644 --- a/docs/Getting-Started.md +++ b/docs/getting-started.md @@ -7,7 +7,7 @@ The end goal is to have Soup running on all three major operating systems, and b * [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) with "Desktop development with c++" workload. * OR * [Build Tools For Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) with "c++ build tools" workload. -* [Latest Release](https://github.com/SoupBuild/Soup/releases/latest) +* [Latest Release](https://github.com/soup-build/soup/releases/latest) ## Setup You can either install Soup or download a reference the archive. @@ -21,13 +21,13 @@ You can either install Soup or download a reference the archive. * Installer - Download and run the SoupBuild.msi installer from the [Latest Release](https://github.com/SoupBuild/Soup/releases/latest). + Download and run the SoupBuild.msi installer from the [Latest Release](https://github.com/soup-build/soup/releases/latest). > Note: The installer is signed signature may not be trusted yet and you will have to ignore some scary warnings. When Microsoft receives enough trusted notifications this will no longer be necessary. * Archive - Download the SoupBuild.zip archive from the [Latest Release](https://github.com/SoupBuild/Soup/releases/latest). + Download the SoupBuild.zip archive from the [Latest Release](https://github.com/soup-build/soup/releases/latest). Unzip the Soup release somewhere safe and add it to your path in a command prompt. @@ -69,4 +69,4 @@ soup run ![Demo Video Executing Run Command](assets/getting-started-run.gif) ## Enjoy! -Check out the other [Samples](./Samples.md). +Check out the other [Samples](samples.md). diff --git a/docs/Posts-Of-Interest.md b/docs/posts-of-interest.md similarity index 100% rename from docs/Posts-Of-Interest.md rename to docs/posts-of-interest.md diff --git a/docs/Samples.md b/docs/samples.md similarity index 67% rename from docs/Samples.md rename to docs/samples.md index 8d1f775a0..ed5eebb5e 100644 --- a/docs/Samples.md +++ b/docs/samples.md @@ -1,8 +1,8 @@ # Samples These samples are a small set of all the cool things you can do with the Soup Build System. The source for these samples can be found in the main Soup repository in the Samples folder. -## [C Samples](Samples/C.md) +## [C Samples](samples/c.md) -## [C++ Samples](Samples/C++.md) +## [C++ Samples](samples/cpp.md) -## [C# Samples](Samples/C#.md) +## [C# Samples](samples/csharp.md) \ No newline at end of file diff --git a/docs/samples/C.md b/docs/samples/c.md similarity index 71% rename from docs/samples/C.md rename to docs/samples/c.md index 2e882623f..2502a5f4d 100644 --- a/docs/samples/C.md +++ b/docs/samples/c.md @@ -1,17 +1,17 @@ # Samples The set of C++ samples. -## [Build Extension](C/Build-Extension.md) +## [Build Extension](c/build-extension.md) This is a console application that uses a custom build extension to set a preprocessor definition to show how a user can easily author their own custom build logic that can be shared with others. -## [Console Application](C/Console-Application.md) +## [Console Application](c/console-application.md) This is the smallest amount of code to get a console application building using Soup. -## [Dynamic Library](C/Dynamic-Library.md) +## [Dynamic Library](c/dynamic-library.md) This is a console application that has a single dynamic library dependency. -## [Static Library](C/Static-Library.md) +## [Static Library](c/static-library.md) This is a console application that has a single static library dependency. -## [Windows Application](C/Windows-Application.md) +## [Windows Application](c/windows-application.md) This is a windows win32 application that demonstrates how to create a windows GUI application. diff --git a/docs/samples/c/Build-Extension.md b/docs/samples/c/build-extension.md similarity index 97% rename from docs/samples/c/Build-Extension.md rename to docs/samples/c/build-extension.md index 5750c7e37..55c9351c2 100644 --- a/docs/samples/c/Build-Extension.md +++ b/docs/samples/c/build-extension.md @@ -1,7 +1,7 @@ # C Build Extension This is a console application that has a custom build extension that alters the build state. The custom build Tasks will run before and after the core Build Task and will simply print a nice hello message. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/C/BuildExtension) +[Source](https://github.com/soup-build/soup/tree/main/samples/c/build-extension) ## Extension/Recipe.sml The Recipe file that defines the build extension dynamic library "Samples.C.BuildExtension.Extension" that will register new build tasks. diff --git a/docs/samples/c/Console-Application.md b/docs/samples/c/console-application.md similarity index 92% rename from docs/samples/c/Console-Application.md rename to docs/samples/c/console-application.md index d40b3a7a8..46b77608c 100644 --- a/docs/samples/c/Console-Application.md +++ b/docs/samples/c/console-application.md @@ -1,7 +1,7 @@ # C Console Application This is the smallest amount of code to get a console application building using Soup. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/C/ConsoleApplication) +[Source](https://github.com/soup-build/soup/tree/main/samples/c/console-application) ## Recipe.sml The Recipe file that sets the name, type, version and the single source file. diff --git a/docs/samples/c/Dynamic-Library.md b/docs/samples/c/dynamic-library.md similarity index 96% rename from docs/samples/c/Dynamic-Library.md rename to docs/samples/c/dynamic-library.md index dc5c7ddce..b9ab49961 100644 --- a/docs/samples/c/Dynamic-Library.md +++ b/docs/samples/c/dynamic-library.md @@ -1,7 +1,7 @@ # C Dynamic Library This is a console application that has a single dynamic library dependency. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/C/DynamicLibrary) +[Source](https://github.com/soup-build/soup/tree/main/samples/c/dynamic-library) ## Library/Recipe.sml The Recipe file that defines the static library "Samples.C.DynamicLibrary.Library". diff --git a/docs/samples/c/Static-Library.md b/docs/samples/c/static-library.md similarity index 95% rename from docs/samples/c/Static-Library.md rename to docs/samples/c/static-library.md index ca8e48bff..5c4563cc1 100644 --- a/docs/samples/c/Static-Library.md +++ b/docs/samples/c/static-library.md @@ -1,7 +1,7 @@ # C Static Library Reference This is a console application that has a single static library dependency. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/C/StaticLibrary) +[Source](https://github.com/soup-build/soup/tree/main/samples/c/static-library) ## Library/Recipe.sml The Recipe file that defines the static library "Samples.C.StaticLibrary.Library". diff --git a/docs/samples/c/Windows-Application.md b/docs/samples/c/windows-application.md similarity index 92% rename from docs/samples/c/Windows-Application.md rename to docs/samples/c/windows-application.md index 8da5dae01..ba251a221 100644 --- a/docs/samples/c/Windows-Application.md +++ b/docs/samples/c/windows-application.md @@ -1,7 +1,7 @@ # C Windows Application This is a windows application that demonstrates creating a GUI windows application. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/C/WindowsApplication) +[Source](https://github.com/soup-build/soup/tree/main/samples/c/windows-application) ## Library/Recipe.sml The Recipe file that defines the sample application. diff --git a/docs/samples/C++.md b/docs/samples/cpp.md similarity index 67% rename from docs/samples/C++.md rename to docs/samples/cpp.md index 84bec891a..5c6430b1e 100644 --- a/docs/samples/C++.md +++ b/docs/samples/cpp.md @@ -1,32 +1,32 @@ # Samples The set of C++ samples. -## [Build Extension](Cpp/Build-Extension.md) +## [Build Extension](cpp/build-extension.md) This is a console application that uses a custom build extension to set a preprocessor definition to show how a user can easily author their own custom build logic that can be shared with others. -## [Console Application](Cpp/Console-Application.md) +## [Console Application](cpp/console-application.md) This is the smallest amount of code to get a console application building using Soup. -## [DirectX](Cpp/DirectX.md) +## [DirectX](cpp/directx.md) This is a console application that demonstrates a more complex graphics application. -## [Dynamic Library](Cpp/Dynamic-Library.md) +## [Dynamic Library](cpp/dynamic-library.md) This is a console application that has a single dynamic library dependency. -## [Header Library](Cpp/HEader-Library.md) +## [Header Library](cpp/header-library.md) This is a console application that has a single header library dependency. -## [Module Dynamic Library](Cpp/Module-Dynamic-Library.md) +## [Module Dynamic Library](cpp/module-dynamic-library.md) This is a console application that has a single dynamic library dependency that exports a module interface. -## [Module Interface](Cpp/Module-Interface.md) +## [Module Interface](cpp/module-interface.md) This is a console application that uses a single module interface file used inside the same projects. -## [Parse Json File](Cpp/Parse-Json-File.md) +## [Parse Json](cpp/parse-json.md) This is a console application that reads in a json file using the an external module and prints a single known property value. -## [Static Library](Cpp/Static-Library.md) +## [Static Library](cpp/static-library.md) This is a console application that has a single static library dependency. -## [Windows Application](Cpp/Windows-Application.md) -This is a windows win32 application that demonstrates how to create a windows GUI application. +## [Windows Application](cpp/windows-application.md) +This is a windows win32 application that demonstrates how to create a windows GUI application. \ No newline at end of file diff --git a/docs/samples/c++/Build-Extension.md b/docs/samples/cpp/build-extension.md similarity index 97% rename from docs/samples/c++/Build-Extension.md rename to docs/samples/cpp/build-extension.md index aaf63f131..6379c50d4 100644 --- a/docs/samples/c++/Build-Extension.md +++ b/docs/samples/cpp/build-extension.md @@ -1,7 +1,7 @@ # C++ Build Extension This is a console application that has a custom build extension that alters the build state. The custom build Tasks will run before and after the core Build Task and will simply print a nice hello message. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/BuildExtension) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/build-extension) ## Extension/Recipe.sml The Recipe file that defines the build extension dynamic library "Samples.Cpp.BuildExtension.Extension" that will register new build tasks. diff --git a/docs/samples/c++/Console-Application.md b/docs/samples/cpp/console-application.md similarity index 92% rename from docs/samples/c++/Console-Application.md rename to docs/samples/cpp/console-application.md index d936a982c..5168a694b 100644 --- a/docs/samples/c++/Console-Application.md +++ b/docs/samples/cpp/console-application.md @@ -1,7 +1,7 @@ # C++ Console Application This is the smallest amount of code to get a console application building using Soup. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/ConsoleApplication) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/console-application) ## Recipe.sml The Recipe file that sets the name, type, version and the single source file. diff --git a/docs/samples/c++/DirectX.md b/docs/samples/cpp/directx.md similarity index 95% rename from docs/samples/c++/DirectX.md rename to docs/samples/cpp/directx.md index 2d474ab01..23b0cb8e3 100644 --- a/docs/samples/c++/DirectX.md +++ b/docs/samples/cpp/directx.md @@ -1,7 +1,7 @@ # C++ DirectX This is a desktop application that demonstrates creating a complex graphics windows application. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/DirectX) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/directx) ## Recipe.sml The Recipe file that defines the directX sample application. Note the special module partition hierarchy that explicitly sets the references for partition units. The application also copies over the shader files that will be compiled at runtime. diff --git a/docs/samples/c++/Dynamic-Library.md b/docs/samples/cpp/dynamic-library.md similarity index 96% rename from docs/samples/c++/Dynamic-Library.md rename to docs/samples/cpp/dynamic-library.md index 58edfff9d..5c2ca1118 100644 --- a/docs/samples/c++/Dynamic-Library.md +++ b/docs/samples/cpp/dynamic-library.md @@ -1,7 +1,7 @@ # C++ Dynamic Library This is a console application that has a single dynamic library dependency. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/DynamicLibrary) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/dynamic-library) ## Library/Recipe.sml The Recipe file that defines the static library "Samples.Cpp.DynamicLibrary.Library". diff --git a/docs/samples/c++/Header-Library.md b/docs/samples/cpp/header-library.md similarity index 96% rename from docs/samples/c++/Header-Library.md rename to docs/samples/cpp/header-library.md index 34db46af3..fbb1ea617 100644 --- a/docs/samples/c++/Header-Library.md +++ b/docs/samples/cpp/header-library.md @@ -1,7 +1,7 @@ # C++ Header Library This is a console application that has a single header library dependency. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/HeaderLibrary) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/header-library) ## Library/Recipe.sml The Recipe file that defines the header library "Samples.Cpp.HeaderLibrary.Library". diff --git a/docs/samples/c++/Module-Dynamic-Library.md b/docs/samples/cpp/module-dynamic-library.md similarity index 96% rename from docs/samples/c++/Module-Dynamic-Library.md rename to docs/samples/cpp/module-dynamic-library.md index ba6b30997..f9160b450 100644 --- a/docs/samples/c++/Module-Dynamic-Library.md +++ b/docs/samples/cpp/module-dynamic-library.md @@ -1,7 +1,7 @@ # C++ Module Dynamic Library This is a console application that has a single dynamic library dependency. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/ModuleDynamicLibrary) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/module-dynamic-library) ## Library/Recipe.sml The Recipe file that defines the static library "Samples.Cpp.ModuleDynamicLibrary.Library". diff --git a/docs/samples/c++/Module-Interface.md b/docs/samples/cpp/module-interface.md similarity index 94% rename from docs/samples/c++/Module-Interface.md rename to docs/samples/cpp/module-interface.md index 6ac0826ae..598f4c141 100644 --- a/docs/samples/c++/Module-Interface.md +++ b/docs/samples/cpp/module-interface.md @@ -1,7 +1,7 @@ # C++ Module Interface A console application that uses a single module interface file used inside the same projects. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/ModuleInterface) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/module-interface) ## Recipe.sml The Recipe file that sets the name, type, version, the public interface module and the single source file. diff --git a/docs/samples/c++/Parse-Json-File.md b/docs/samples/cpp/parse-json.md similarity index 94% rename from docs/samples/c++/Parse-Json-File.md rename to docs/samples/cpp/parse-json.md index ab0f4eaca..1384ebb9f 100644 --- a/docs/samples/c++/Parse-Json-File.md +++ b/docs/samples/cpp/parse-json.md @@ -1,12 +1,12 @@ # Parse Json File A console application that reads in a json file using the an external module and prints a single known property value. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/ParseJsonFile) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/parse-json) ## Recipe.sml The Recipe file that sets the standard name, type, version, as well as the single external dependency of the [json11](https://github.com/dropbox/json11) project. ```sml -Name: 'Samples.Cpp.ParseJsonFile' +Name: 'Samples.Cpp.ParseJson' Language: (C++@0) Version: 1.0.0 Type: 'Executable' diff --git a/docs/samples/c++/Static-Library.md b/docs/samples/cpp/static-library.md similarity index 96% rename from docs/samples/c++/Static-Library.md rename to docs/samples/cpp/static-library.md index 181762b2e..691ee121d 100644 --- a/docs/samples/c++/Static-Library.md +++ b/docs/samples/cpp/static-library.md @@ -1,7 +1,7 @@ # Static Library Reference This is a console application that has a single static library dependency. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/StaticLibrary) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/static-library) ## Library/Recipe.sml The Recipe file that defines the static library "Samples.Cpp.StaticLibrary.Library". diff --git a/docs/samples/c++/Windows-Application.md b/docs/samples/cpp/windows-application.md similarity index 91% rename from docs/samples/c++/Windows-Application.md rename to docs/samples/cpp/windows-application.md index d14818695..b037f287c 100644 --- a/docs/samples/c++/Windows-Application.md +++ b/docs/samples/cpp/windows-application.md @@ -1,7 +1,7 @@ # C++ Windows Application This is a windows application that demonstrates creating a GUI windows application. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/Cpp/WindowsApplication) +[Source](https://github.com/soup-build/soup/tree/main/samples/cpp/windows-application) ## Recipe.sml The Recipe file that defines the sample application. diff --git a/docs/samples/C#.md b/docs/samples/csharp.md similarity index 75% rename from docs/samples/C#.md rename to docs/samples/csharp.md index 88c1470c3..03bb8fc86 100644 --- a/docs/samples/C#.md +++ b/docs/samples/csharp.md @@ -1,8 +1,8 @@ # Samples The set of C# samples. -## [Build Extension](CSharp/Build-Extension.md) +## [Build Extension](csharp/build-extension.md) This is a console application that uses a custom build extension to set a preprocessor definition to show how a user can easily author their own custom build logic that can be shared with others. -## [Console Application](CSharp/Console-Application.md) +## [Console Application](csharp/console-application.md) This is the smallest amount of code to get a console application building using Soup. \ No newline at end of file diff --git a/docs/samples/c#/Build-Extension.md b/docs/samples/csharp/build-extension.md similarity index 97% rename from docs/samples/c#/Build-Extension.md rename to docs/samples/csharp/build-extension.md index a43320aa4..f5e3ec02f 100644 --- a/docs/samples/c#/Build-Extension.md +++ b/docs/samples/csharp/build-extension.md @@ -1,7 +1,7 @@ # C# Build Extension This is a console application that has a custom build extension that alters the build state. The custom build Tasks will run before and after the core Build Task and will simply print a nice hello message. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/CSharp/BuildExtension) +[Source](https://github.com/soup-build/soup/tree/main/samples/csharp/build-extension) ## Extension/Recipe.sml The Recipe file that defines the build extension dynamic library "Samples.CSharp.BuildExtension.Extension" that will register new build tasks. diff --git a/docs/samples/c#/Console-Application.md b/docs/samples/csharp/console-application.md similarity index 93% rename from docs/samples/c#/Console-Application.md rename to docs/samples/csharp/console-application.md index 1c7190f73..e701d52de 100644 --- a/docs/samples/c#/Console-Application.md +++ b/docs/samples/csharp/console-application.md @@ -1,7 +1,7 @@ # C# Console Application This is a console application with the minimal amount of code to get up and running in C#. -[Source](https://github.com/SoupBuild/Soup/tree/main/Samples/CSharp/ConsoleApplication) +[Source](https://github.com/soup-build/soup/tree/main/samples/csharp/console-application) ## Recipe.sml The Recipe file that defines the static library "Samples.CSharp.ConsoleApplication". diff --git a/docs/SML.md b/docs/sml.md similarity index 100% rename from docs/SML.md rename to docs/sml.md diff --git a/docs/tools/Swhere.md b/docs/tools/Swhere.md index c63feeaf0..f4e835c90 100644 --- a/docs/tools/Swhere.md +++ b/docs/tools/Swhere.md @@ -1,5 +1,5 @@ # SWhere -To allow external SDKs to be injected into Soup builds the [Local User Config](../Architecture/Local-User-Config.md) file allows for the user to define a set of know SDKs with a list of directories and properties. These properties can be manually defined, but to make setup easier this tool will discover a set of shared SDKs and register them in the config file. +To allow external SDKs to be injected into Soup builds the [Local User Config](../architecture/local-user-config.md) file allows for the user to define a set of know SDKs with a list of directories and properties. These properties can be manually defined, but to make setup easier this tool will discover a set of shared SDKs and register them in the config file. ## List Of SDKs * MSVC - Find the latest Visual C++ compiler using VSWhere.