Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (47 loc) · 2.07 KB
/
Copy pathMakefile
File metadata and controls
64 lines (47 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
.DEFAULT_GOAL := run
run:
dotnet run --project Runner/CSharpEditorPlugin.Runner.csproj
run-release:
dotnet run --project Runner/CSharpEditorPlugin.Runner.csproj -c Release
# The headless sidecar that powers the VS Code extension over stdio JSON-RPC.
sidecar:
dotnet run --project FrySharp.Sidecar -- $(ARGS)
cli:
dotnet run --project FrySharp.Cli -- $(ARGS)
build:
dotnet build CSharpEditorPlugin.slnx
ext-install:
cd vscode-frysharp && npm install
ext-build:
cd vscode-frysharp && npm run build
# The installable extension (vscode-frysharp/frysharp-<version>.vsix): a fresh sidecar published beside it, then the bundle.
# The folder is emptied first so an old engine can never ride along.
ext-package:
rm -rf vscode-frysharp/bin/sidecar
dotnet publish FrySharp.Sidecar/FrySharp.Sidecar.csproj -c Release -o vscode-frysharp/bin/sidecar
cd vscode-frysharp && npx @vscode/vsce package --no-dependencies
# The extension's own tests: the notebook file formats and the serializer's adapter (Node), against the fixtures Tests.Core writes.
ext-test:
cd vscode-frysharp && npm run lint && npm run typecheck && npm test
test:
ifeq ($(time),1)
TIME=1 dotnet test Tests/CSharpEditorPlugin.Tests.csproj -c Release
else
dotnet test Tests/CSharpEditorPlugin.Tests.csproj -c Release
endif
test-time:
TIME=1 dotnet test Tests/CSharpEditorPlugin.Tests.csproj -c Release
# Headless core tests (Roslyn script runner, kernels, notebook file formats, storage).
test-core:
dotnet test Tests.Core/FrySharp.Core.Tests.csproj
# Headless JSON-RPC sidecar tests (stdio protocol, notebooks, script execution, diagnostics).
test-sidecar:
dotnet test Tests.Sidecar/FrySharp.Sidecar.Tests.csproj
test-all: test test-core test-sidecar
# FrySharp.Core's build fails if an Avalonia package reaches it (its AssertNoAvalonia target).
verify-core:
dotnet build FrySharp.Core
clean:
dotnet clean CSharpEditorPlugin.slnx
rm -rf vscode-frysharp/out vscode-frysharp/*.vsix
.PHONY: run run-release sidecar cli build ext-install ext-build ext-package ext-test test test-time test-core test-sidecar test-all verify-core clean