You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-7Lines changed: 15 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,15 @@
2
2
3
3
Development Environment for Crucible
4
4
5
-
# Getting Started
5
+
##Getting Started
6
6
7
7
`crucible-development` is a [Development-Containers](https://containers.dev/)-based solution that uses .NET Aspire to orchestrate the various components of Crucible, along with supporting resources like an identity provider (Keycloak), a Postgres database server, and PGAdmin.
8
8
9
-
## Setting up Docker
9
+
###Setting up Docker
10
10
11
11
To use any dev container, you'll need to run Docker on your machine. [Docker Desktop](https://www.docker.com/) is a great way to get started if you're not confident administering Docker from the command line.
12
12
13
-
### Setting memory and storage limits
13
+
####Setting memory and storage limits
14
14
15
15
If you're on a Windows machine, Docker's consumption of your host machine's memory and storage is managed by [WSL2](https://learn.microsoft.com/en-us/windows/wsl/about). These will automatically scale to a percentage of your system's available resources, so you typically don't need to do any additional configuration.
16
16
@@ -94,15 +94,15 @@ This repo is still under construction, so you may run into the occasional challe
94
94
95
95
- Some extensions (e.g. C#) very rarely seem to fail to install in the container's VS Code environment. If you see weird intellisense behavior or have compilation/debugging problems, ensure all extensions in the `devcontainers.json` file are installed in your container.
96
96
97
-
# Database seeding and backup
97
+
##Database seeding and backup
98
98
99
-
##setup
99
+
### Setup
100
100
101
101
... using blueprint as the example
102
102
create a db-dumps folder under crucible-dev
103
103
copy your blueprint.dump file into the db-dumps folder
104
104
105
-
##seed/restore a database
105
+
### Seed/Restore a database
106
106
107
107
navigate to the db-dumps folder in the integrated terminal
@@ -193,3 +193,11 @@ Administration, Development, menu. The install process for this container instal
193
193
`tool_userdebug` which allows site admins to easily toggle debug display via an icon added
194
194
to the header just to the left of the user avatar in the upper right corner of the screen.
195
195
This is the preferred method to enable display of debug messages inside of the browser.
196
+
197
+
## Library Development
198
+
199
+
The crucible-common-dotnet shared library is cloned into the `/mnt/data.crucible/libraries` directory. By default, APIs that use these libraries pull the published packages from NuGet. When developing or debugging these libraries, it is convenient to point the APIs to the local copy of the library. Developers can use the `scripts/toggle-local-library.sh` script to easily toggle between the default published NuGet packages and local Project References.
200
+
201
+
A Directory.Build.props file is mounted to `/mnt/data`. This file defines a variable `<UseLocalEntityEvents>false</UseLocalEntityEvents>`. If you want to use the local version of the Crucible.Common.EntityEvents library, copy this file to `/mnt/data/crucible` and set `<UseLocalEntityEvents>true</UseLocalEntityEvents>`. This will tell MSBuild to use a local project reference instead of the NuGet package and this file will not get checked into git. The script automates this process for you.
202
+
203
+
This pattern should be extended to the other libraries in crucible-common-dotnet as necessary in the future.
0 commit comments