Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(README): Update README with with steps for running the FDC3 Conformance Framework #789

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 79 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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:

```
Expand All @@ -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"
}
```