diff --git a/README.md b/README.md index 22f36c439..44d690a26 100644 --- a/README.md +++ b/README.md @@ -26,81 +26,53 @@ It supports desktop and web applications in order to provide an evergreen altern # Development Setup ## Prerequisites * Node.js 18 -* .NET 6 -* Visual Studio: 2022 +* .NET 6 (SDK 6.0.x, Desktop Runtime 6.0.x) +* Visual Studio 2022 Community Edition -## Building the dependencies with Lerna +## Building the ComposeUI Container -The javascript dependencies are managed by a lerna monorepo. To build them separately follow the steps below. - -### Run scripts -In the root folder -``` -npm i -``` - -Build all modules: -``` -npx lerna run build --stream -``` -Test all modules: -``` -npx lerna run test --stream -``` -(If you don't want a detailed log, you can execute these without --stream) - -Building a specific module: +Clone the main repository: ``` -npx lerna run build --stream --scope=@morgan-stanley/composeui-messaging-client +git clone https://github.com/morganstanley/ComposeUI.git ``` -List all modules in the workspace -``` -npx lerna list -``` +### From Visual Studio IDE -### Docs +Build the "Shell.sln" solution. -For more information check the [documentation](https://lerna.js.org/docs/api-reference/commands). +By doing this the build is kicked off to all the other solutions it depends on. +### From Terminal -# Building the Experimental Artifacts +To build the Nuget and NPM packages without an IDE open Powershell in the ComposeUI folder. -The following steps are for building the experimental artifacts and shell for ComposeUI +1. Build javascript (with Lerna) -Clone the main repository: ``` -git clone https://github.com/morganstanley/ComposeUI.git +C:\projects\ComposeUI> .\build\lerna-build.ps1 ``` -## Terminal -### Building Nuget and NPM packages +If you only want to build a specific package see [how to build packages with Lerna](#building-the-javascript-dependencies-with-lerna) -Open Powershell in the ComposeUI folder. -Restore nuget packages: +2. Restore nuget packages: ``` -PS C:\projects\ComposeUI> .\build\dotnet-restore.ps1 +C:\projects\ComposeUI> .\build\dotnet-restore.ps1 ``` -Build .NET solutions: - -``` -PS C:\projects\ComposeUI> .\build\dotnet-build.ps1 -``` -Build javascript (with Lerna) +3. Build .NET solutions: ``` -PS C:\projects\ComposeUI> .\build\lerna-build.ps1 +C:\projects\ComposeUI> .\build\dotnet-build.ps1 ``` Now the necessary artifacts have been built. -### Building the Examples +## Building the Examples -#### FDC3 Chart and Grid Example +### FDC3 Chart and Grid Example From the ComposeUI folder: @@ -113,6 +85,14 @@ Now the development servers are running: ### Launching the Shell with the Examples +#### From Visual Studio + +Start the "Shell" project. + +You can add a new launch setting in the IDE or by adding a new entry to the `$(ProjectRoot))\src\shell\dotnet\Shell\Properties\launchSettings.json` file + +### From Terminal + 1. It's recommended to add the shell binary to your PATH environment variable so you can use a shorthand: ``` @@ -127,26 +107,62 @@ cd .src\shell\dotnet\ MorganStanley.ComposeUI.Shell --ModuleCatalog:CatalogUrl file:///C:/ComposeUI/src/Shell/dotnet/examples/module-catalog.json --FDC3:AppDirectory:Source C:/ComposeUI/examples/fdc3-appdirectory/apps-with-intents.json ``` -## Visual Studio - -Similar steps can be taken in Visual Studio to have the same affect. - [See Prerequisites](##Prerequisites) - -### Building Solutions -#### For the FDC3 Samples - -The necessary solutions have to be built in the following order: -1. Message Router -2. ModuleLoader -3. DesktopAgent -4. AppDirectory -5. Shell - ### Serving web application -[See FDC3 Chart and Grid Example](####FDC3-Chart-and-Grid-Example) +[See](#fdc3-chart-and-grid-example) + ### Running the Shell 1. Open the Shell Solution 2. Choose "Shell" as the startup project 3. Run + + + + +## Building the JavaScript Dependencies with Lerna + +The javascript dependencies are managed by a lerna monorepo. To build them separately follow the steps below. + +### Run scripts + +In the root folder +``` +npm i +``` + +Build all modules: +``` +npx lerna run build --stream +``` +Test all modules: +``` +npx lerna run test --stream +``` +(If you don't want a detailed log, you can execute these without --stream) + +Building a specific module: +``` +npx lerna run build --stream --scope=@morgan-stanley/composeui-messaging-client +``` + +List all modules in the workspace +``` +npx lerna list +``` + +### Docs + +For more information check the [documentation](https://lerna.js.org/docs/api-reference/commands). + +## How to Run the FDC3 Conformance test Locally + +1. Clone the [FDC3 Conformance Framework](https://github.com/finos/FDC3-conformance-framework) and build it: +2.add the following to the `$((ProjectRoot))\src\shell\dotnet\Shell\Properties\launchSettings.json` file: + +``` + "FDC3-Local": { + "commandName": "Project", + "commandLineArgs": "--ModuleCatalog:CatalogUrl \"file:///$(ProjectDir)..\\examples\\module-catalog.json\" --FDC3:AppDirectory:Source $((FDC3ConformanceRoot))\\FDC3-conformance-framework\\directories\\local-conformance-2_0.v2.json" + } +``` \ No newline at end of file