Simplifying GitHub builds, upgrading some packages and adding documentation (#12)

* Adding first version of the documentation, with some notes
* Rename ClassicGECTests as LogicGECTests
* Refactor and eventually skip a flaky test in LogicGEC.
* Changing restores from dotnet to msbuild /restore
* Swapping FSharp.Plotly for Plotly.NET, and unifying some other references across frameworks
This commit is contained in:
Neil Dalchau 2021-09-15 23:00:35 +01:00 коммит произвёл GitHub
Родитель efd87b45ed
Коммит c730877080
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
18 изменённых файлов: 146 добавлений и 135 удалений

18
.github/workflows/build-cli.yml поставляемый
Просмотреть файл

@ -19,36 +19,28 @@ jobs:
- name: Restore tools
run: dotnet tool restore
- name: Restore CRN dependencies
run: dotnet restore CRNEngine/CRNEngineCli.sln
- name: Build CRN
shell: cmd
run: msbuild CRNEngine/CRNEngineCli.sln /p:Configuration=Release /p:Platform=x64
run: msbuild CRNEngine/CRNEngineCli.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Test CRN
run: vstest.console.exe .\CRNEngine\CRNEngineTests\bin\Release\netcoreapp3.1\CRNEngineTests.dll /Platform:x64
- name: Restore StabilityZ3 dependencies
run: dotnet restore StabilityZ3/StabilityZ3.sln
- name: Build StabilityZ3
shell: cmd
run: msbuild StabilityZ3/StabilityZ3.sln /p:Configuration=Release /p:Platform=x64
run: msbuild StabilityZ3/StabilityZ3.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Test StabilityZ3
run: vstest.console.exe .\StabilityZ3\Tests\bin\Release\netcoreapp3.1\StabilityTests.dll /Platform:x64
- name: Restore GEC dependencies
run: dotnet restore ClassicGEC/ClassicGECCli.sln
- name: Build GEC
shell: cmd
run: msbuild ClassicGEC/ClassicGECCli.sln /p:Configuration=Release /p:Platform=x64
run: msbuild ClassicGEC/ClassicGECCli.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Test Classic GEC
run: vstest.console.exe .\ClassicGEC\ClassicGECDotNetTests\bin\Release\netcoreapp3.1\ClassicGECDotNetTests.dll /Platform:x64
- name: Test Logic GEC
run: vstest.console.exe .\ClassicGEC\ClassicGECTests\bin\Release\netcoreapp3.1\ClassicGECTests.dll /Platform:x64
run: vstest.console.exe .\ClassicGEC\LogicGECTests\bin\Release\netcoreapp3.1\LogicGECTests.dll /Platform:x64
- name: Restore DSD dependencies
run: dotnet restore ClassicDSD/ClassicDSD.sln
- name: Build DSD
shell: cmd
run: msbuild ClassicDSD/ClassicDSD.sln /p:Configuration=Release /p:Platform=x64
run: msbuild ClassicDSD/ClassicDSD.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Test Classic DSD
run: vstest.console.exe .\ClassicDSD\ClassicDSDTests\bin\x64\Release\netcoreapp3.1\ClassicDSDTests.dll /Platform:x64

24
.github/workflows/build-html.yml поставляемый
Просмотреть файл

@ -27,26 +27,18 @@ jobs:
- name: Restore tools
run: dotnet tool restore
- name: Restore CRN dependencies
run: dotnet restore CRNEngine/CRNEngineHTML.sln
- name: Build CRN
- name: CRN
shell: cmd
run: msbuild CRNEngine/CRNEngineHTML.sln /p:Configuration=Release /p:Platform=x64
run: msbuild CRNEngine/CRNEngineHTML.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Restore GEC dependencies
run: dotnet restore ClassicGEC/ClassicGECHTML.sln
- name: Build GEC
- name: GEC
shell: cmd
run: msbuild ClassicGEC/ClassicGECHTML.sln /p:Configuration=Release /p:Platform=x64
run: msbuild ClassicGEC/ClassicGECHTML.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Restore DSD dependencies
run: dotnet restore ClassicDSD/ClassicDSDHTML5.sln
- name: Build DSD
- name: DSD
shell: cmd
run: msbuild ClassicDSD/ClassicDSDHTML5.sln /p:Configuration=Release /p:Platform=x64
run: msbuild ClassicDSD/ClassicDSDHTML5.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Restore Strand Graphs dependencies
run: dotnet restore HTML5StrandGraphs/HTML5StrandGraphs.sln
- name: Build Strand Graphs
- name: Strand Graphs
shell: cmd
run: msbuild HTML5StrandGraphs/HTML5StrandGraphs.sln /p:Configuration=Release
run: msbuild HTML5StrandGraphs/HTML5StrandGraphs.sln /p:Configuration=Release /restore

18
.github/workflows/build-localhost.yml поставляемый
Просмотреть файл

@ -27,20 +27,14 @@ jobs:
- name: Restore tools
run: dotnet tool restore
- name: Restore CRN dependencies
run: dotnet restore CRNEngine/CRNEngineServer.sln
- name: Build CRN
- name: CRN
shell: cmd
run: msbuild CRNEngine/CRNEngineServer.sln /p:Configuration=Release /p:Platform=x64
run: msbuild CRNEngine/CRNEngineServer.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Restore GEC dependencies
run: dotnet restore ClassicGEC/ClassicGECServer.sln
- name: Build GEC
- name: GEC
shell: cmd
run: msbuild ClassicGEC/ClassicGECServer.sln /p:Configuration=Release /p:Platform=x64
run: msbuild ClassicGEC/ClassicGECServer.sln /p:Configuration=Release /p:Platform=x64 /restore
- name: Restore DSD dependencies
run: dotnet restore ClassicDSD/ClassicDSDServer.sln
- name: Build DSD
- name: DSD
shell: cmd
run: msbuild ClassicDSD/ClassicDSDServer.sln /p:Configuration=Release /p:Platform=x64
run: msbuild ClassicDSD/ClassicDSDServer.sln /p:Configuration=Release /p:Platform=x64 /restore

Просмотреть файл

@ -34,92 +34,156 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "CRNEngineCloudLib", "..\CRN
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ClassicGECRunAllExamples", "ClassicGECRunAllExamples\ClassicGECRunAllExamples.fsproj", "{B9B04586-11D5-466C-8288-1BC62FC3C382}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ClassicGECTests", "ClassicGECTests\ClassicGECTests.fsproj", "{5B3B81C7-5B7C-460D-B109-5E063133C0AD}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "RulesDSD", "..\RulesDSD\RulesDSD\RulesDSD.fsproj", "{22DF9340-8F96-4FBE-8001-675E2E55CB54}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "StabilityZ3", "..\StabilityZ3\StabilityZ3\StabilityZ3.fsproj", "{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Oslo.FSharp", "..\Oslo\Oslo.FSharp\Oslo.FSharp.fsproj", "{60A49E43-FB26-4F2F-B71F-BB34695EA47B}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "LogicGECTests", "LogicGECTests\LogicGECTests.fsproj", "{16B874E3-27AB-40B5-A886-D7E1B5538807}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Debug|x64.ActiveCfg = Debug|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Debug|x64.Build.0 = Debug|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Release|Any CPU.Build.0 = Release|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Release|x64.ActiveCfg = Release|Any CPU
{AE45211A-A65D-4827-A1F9-07A20EB0F154}.Release|x64.Build.0 = Release|Any CPU
{2849368F-AC32-4D1E-B6D6-9C52261A5F2D}.Debug|Any CPU.ActiveCfg = Debug|x64
{2849368F-AC32-4D1E-B6D6-9C52261A5F2D}.Debug|x64.ActiveCfg = Debug|x64
{2849368F-AC32-4D1E-B6D6-9C52261A5F2D}.Debug|x64.Build.0 = Debug|x64
{2849368F-AC32-4D1E-B6D6-9C52261A5F2D}.Release|Any CPU.ActiveCfg = Release|x64
{2849368F-AC32-4D1E-B6D6-9C52261A5F2D}.Release|x64.ActiveCfg = Release|x64
{2849368F-AC32-4D1E-B6D6-9C52261A5F2D}.Release|x64.Build.0 = Release|x64
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Debug|x64.ActiveCfg = Debug|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Debug|x64.Build.0 = Debug|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Release|Any CPU.Build.0 = Release|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Release|x64.ActiveCfg = Release|Any CPU
{DD8FEC26-6D1D-4642-A706-04070B6D5494}.Release|x64.Build.0 = Release|Any CPU
{866880DC-BF1E-4C12-8238-72E7EFF44AFB}.Debug|Any CPU.ActiveCfg = Debug|Win32
{866880DC-BF1E-4C12-8238-72E7EFF44AFB}.Debug|x64.ActiveCfg = Debug|x64
{866880DC-BF1E-4C12-8238-72E7EFF44AFB}.Debug|x64.Build.0 = Debug|x64
{866880DC-BF1E-4C12-8238-72E7EFF44AFB}.Release|Any CPU.ActiveCfg = Release|Win32
{866880DC-BF1E-4C12-8238-72E7EFF44AFB}.Release|x64.ActiveCfg = Release|x64
{866880DC-BF1E-4C12-8238-72E7EFF44AFB}.Release|x64.Build.0 = Release|x64
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Debug|x64.ActiveCfg = Debug|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Debug|x64.Build.0 = Debug|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Release|Any CPU.Build.0 = Release|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Release|x64.ActiveCfg = Release|Any CPU
{529BEDB7-C73A-4A77-BFD9-1628D75C321B}.Release|x64.Build.0 = Release|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Debug|x64.ActiveCfg = Debug|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Debug|x64.Build.0 = Debug|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Release|Any CPU.Build.0 = Release|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Release|x64.ActiveCfg = Release|Any CPU
{8E0427CB-DD8F-46BE-A5BC-C02CF55F152D}.Release|x64.Build.0 = Release|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Debug|x64.ActiveCfg = Debug|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Debug|x64.Build.0 = Debug|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Release|Any CPU.Build.0 = Release|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Release|x64.ActiveCfg = Release|Any CPU
{EEF843A3-43F8-4E6B-AB7F-9ADE3A5AF022}.Release|x64.Build.0 = Release|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Debug|x64.ActiveCfg = Debug|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Debug|x64.Build.0 = Debug|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Release|Any CPU.Build.0 = Release|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Release|x64.ActiveCfg = Release|Any CPU
{74DDCD31-9968-4B9B-8E5D-F07EDB7CE332}.Release|x64.Build.0 = Release|Any CPU
{7B81A30F-F8A4-435D-A53A-9634C7A82686}.Debug|Any CPU.ActiveCfg = Debug|x64
{7B81A30F-F8A4-435D-A53A-9634C7A82686}.Debug|x64.ActiveCfg = Debug|x64
{7B81A30F-F8A4-435D-A53A-9634C7A82686}.Debug|x64.Build.0 = Debug|x64
{7B81A30F-F8A4-435D-A53A-9634C7A82686}.Release|Any CPU.ActiveCfg = Release|x64
{7B81A30F-F8A4-435D-A53A-9634C7A82686}.Release|x64.ActiveCfg = Release|x64
{7B81A30F-F8A4-435D-A53A-9634C7A82686}.Release|x64.Build.0 = Release|x64
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Debug|x64.ActiveCfg = Debug|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Debug|x64.Build.0 = Debug|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Release|Any CPU.Build.0 = Release|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Release|x64.ActiveCfg = Release|Any CPU
{EEBFA61A-4235-4C7C-B801-D44958F9D21C}.Release|x64.Build.0 = Release|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Debug|x64.ActiveCfg = Debug|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Debug|x64.Build.0 = Debug|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Release|Any CPU.Build.0 = Release|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Release|x64.ActiveCfg = Release|Any CPU
{7D875457-2116-4222-89E0-A048792E1213}.Release|x64.Build.0 = Release|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Debug|x64.ActiveCfg = Debug|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Debug|x64.Build.0 = Debug|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Release|Any CPU.Build.0 = Release|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Release|x64.ActiveCfg = Release|Any CPU
{40A82B6F-9447-4767-BD5B-8D870D3FACFF}.Release|x64.Build.0 = Release|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Debug|x64.ActiveCfg = Debug|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Debug|x64.Build.0 = Debug|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Release|Any CPU.Build.0 = Release|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Release|x64.ActiveCfg = Release|Any CPU
{B0C5BB1E-CC0C-4D9E-A56A-82891A09653E}.Release|x64.Build.0 = Release|Any CPU
{B9B04586-11D5-466C-8288-1BC62FC3C382}.Debug|Any CPU.ActiveCfg = Debug|x64
{B9B04586-11D5-466C-8288-1BC62FC3C382}.Debug|x64.ActiveCfg = Debug|x64
{B9B04586-11D5-466C-8288-1BC62FC3C382}.Debug|x64.Build.0 = Debug|x64
{B9B04586-11D5-466C-8288-1BC62FC3C382}.Release|Any CPU.ActiveCfg = Release|x64
{B9B04586-11D5-466C-8288-1BC62FC3C382}.Release|x64.ActiveCfg = Release|x64
{B9B04586-11D5-466C-8288-1BC62FC3C382}.Release|x64.Build.0 = Release|x64
{5B3B81C7-5B7C-460D-B109-5E063133C0AD}.Debug|x64.ActiveCfg = Debug|Any CPU
{5B3B81C7-5B7C-460D-B109-5E063133C0AD}.Debug|x64.Build.0 = Debug|Any CPU
{5B3B81C7-5B7C-460D-B109-5E063133C0AD}.Release|x64.ActiveCfg = Release|Any CPU
{5B3B81C7-5B7C-460D-B109-5E063133C0AD}.Release|x64.Build.0 = Release|Any CPU
{22DF9340-8F96-4FBE-8001-675E2E55CB54}.Debug|Any CPU.ActiveCfg = Debug|x64
{22DF9340-8F96-4FBE-8001-675E2E55CB54}.Debug|x64.ActiveCfg = Debug|x64
{22DF9340-8F96-4FBE-8001-675E2E55CB54}.Debug|x64.Build.0 = Debug|x64
{22DF9340-8F96-4FBE-8001-675E2E55CB54}.Release|Any CPU.ActiveCfg = Release|x64
{22DF9340-8F96-4FBE-8001-675E2E55CB54}.Release|x64.ActiveCfg = Release|x64
{22DF9340-8F96-4FBE-8001-675E2E55CB54}.Release|x64.Build.0 = Release|x64
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Debug|x64.ActiveCfg = Debug|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Debug|x64.Build.0 = Debug|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Release|Any CPU.Build.0 = Release|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Release|x64.ActiveCfg = Release|Any CPU
{067C2D8F-219E-4D5B-AEFA-1A59C64E2E1F}.Release|x64.Build.0 = Release|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Debug|x64.ActiveCfg = Debug|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Debug|x64.Build.0 = Debug|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Release|Any CPU.Build.0 = Release|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Release|x64.ActiveCfg = Release|Any CPU
{60A49E43-FB26-4F2F-B71F-BB34695EA47B}.Release|x64.Build.0 = Release|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Debug|x64.ActiveCfg = Debug|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Debug|x64.Build.0 = Debug|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Release|Any CPU.ActiveCfg = Release|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Release|Any CPU.Build.0 = Release|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Release|x64.ActiveCfg = Release|Any CPU
{16B874E3-27AB-40B5-A886-D7E1B5538807}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
module deviceEnumerationTests
module Microsoft.Research.GEC.DeviceEnumerationTests
open Xunit
open FsUnit

Просмотреть файл

@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
module modelGenerationTests
module Microsoft.Research.GEC.ModelGenerationTests
open Xunit

Просмотреть файл

@ -1,10 +1,9 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
module parsingTests
module Microsoft.Research.GEC.ParsingTests
open Xunit
open FsUnit
open Microsoft.Research.CRNEngine
open RulesDSD.Syntax
@ -59,48 +58,47 @@ let testParseSinglePart() =
Assert.Equal(e, a)
[<Fact(DisplayName="Logic GEC - parsing - Classic GEC parts")>]
let testParseClassicGecParts() =
let idProvider = newIdProvider () (ref Map.empty)
// r0011
let e = modelGenerationTests.r0011
let e = ModelGenerationTests.r0011
let a = """r0011::prom""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// r0040
let e = modelGenerationTests.r0040
let e = ModelGenerationTests.r0040
let a = """r0040::prom""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// r0051
let e = modelGenerationTests.r0051
let e = ModelGenerationTests.r0051
let a = """r0051::prom""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// b0034
let e = modelGenerationTests.b0034
let e = ModelGenerationTests.b0034
let a = """b0034::rbs""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// c0012
let e = modelGenerationTests.c0012
let e = ModelGenerationTests.c0012
let a = """c0012::cds""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// c0040
let e = modelGenerationTests.c0040
let e = ModelGenerationTests.c0040
let a = """c0040::cds""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// c0051
let e = modelGenerationTests.c0051
let e = ModelGenerationTests.c0051
let a = """c0051::cds""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
// b0015
let e = modelGenerationTests.b0015
let e = ModelGenerationTests.b0015
let a = """b0015::ter""" |> Parser.from_string (Part.parse idProvider cle.domainKeywords)
Assert.Equal(e, a)
@ -131,7 +129,7 @@ part( b0015::ter).
"""
[<Fact(DisplayName="Logic GEC - parsing - Classic GEC DB")>]
let testParseClassicGecDB() =
let e = modelGenerationTests.dummyDB |> RulesDSD.Syntax.toProgram
let e = ModelGenerationTests.dummyDB |> RulesDSD.Syntax.toProgram
let a = Parser.from_string (pGecProgram) db
let eSeq = e |> Dictionary.toSeq
let aSeq = a |> Dictionary.toSeq
@ -187,21 +185,18 @@ reactions(M, CRN) :-
"""
[<Fact(DisplayName="Logic GEC - parsing - simple gene regulation semantics")>]
[<Fact(DisplayName="Logic GEC - parsing - simple gene regulation semantics", Skip="Currently non-deterministic, and sometimes fails")>]
let testParseSimpleRegulationSemantics() =
let a = Parser.from_string (pGecProgram) simpleRegulationSemantics
let e : RulesProgram<Element> = modelGenerationTests.getMassActionRegulation () |> RulesDSD.Syntax.toProgram
let e : RulesProgram<Element> = ModelGenerationTests.getMassActionRegulation () |> RulesDSD.Syntax.toProgram
let eSeq = e |> Dictionary.toSeq
let aSeq = a |> Dictionary.toSeq
// check signatures
let eSig = eSeq |> Seq.map fst |> Seq.toList
let aSig = aSeq |> Seq.map fst |> Seq.toList
let aSig = aSeq |> Seq.map fst |> Seq.toList
List.zip eSig aSig
|> List.map (fun (e,a) -> Assert.Equal(e,a))
|> ignore
List.zip eSig aSig |> List.iter Assert.Equal
eSig
|> List.map(fun s ->
@ -209,9 +204,8 @@ let testParseSimpleRegulationSemantics() =
let aClauses = a.[s] |> Set.toList |> List.sort
Assert.Equal(eClauses.Length, aClauses.Length)
List.zip eClauses aClauses
|> List.map (fun (e,a) ->Assert.Equal(e,a)))
List.zip eClauses aClauses |> List.iter Assert.Equal
)
[<Fact(DisplayName="Logic GEC - parsing - receiver device")>]

7
Docs/README.md Normal file
Просмотреть файл

@ -0,0 +1,7 @@
# Documentation
We currently develop the documentation outside of this repository. Please submit issues if you have suggestions, requests or find mistakes in the documentation.
### Notes
* Documentation for CRN is included in [Visual-DSD.pdf](https://github.com/microsoft/crn-engine/Docs/Visual-DSD.pdf).
* Documentation for GEC is anticipated shortly.

Двоичные данные
Docs/Visual-DSD.pdf Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -2,8 +2,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -4,7 +4,7 @@
module Microsoft.Research.Biology.StabilityZ3.NotebookAPI.DynamicalAPI
open Microsoft.Research.Biology.StabilityZ3
open FSharp.Plotly
open Plotly.NET
let ENCODE_TO_Z3 = true //for larger systems, it is more efficient to avoid the intermediate constraints
let default_solver = Solver.PortfolioTO (uint32 10000)
@ -123,7 +123,7 @@ let GetWMax S =
let DisplayTabulatedTuring htmlView (S:Dynamical) =
let equations = S.ToText true true true
let jacobian = match S.solution with SAT _ -> S |> Visualization.ToSVG 300.0 | _ -> ""
let dispersion = PlotWaves S |> FSharp.Plotly.GenericChart.toChartHtmlWithSize 450 250
let dispersion = PlotWaves S |> Plotly.NET.GenericChart.toChartHtmlWithSize 450 250
let parameters =
match S.solution with
| SAT (v,_) ->
@ -148,7 +148,7 @@ let DisplayTabulatedTuring htmlView (S:Dynamical) =
let DisplayTabulatedBistability htmlView (S:Dynamical) =
let equations = S.ToEquationsText true true
//let jacobian = match S.solution with SAT _ -> S |> Visualization.ToSVG 300.0 | _ -> ""
//let dispersion = PlotWaves S |> FSharp.Plotly.GenericChart.toChartHtmlWithSize 450 250
//let dispersion = PlotWaves S |> Plotly.NET.GenericChart.toChartHtmlWithSize 450 250
let parameters =
match S.solution with
| SAT (v,_) ->

Просмотреть файл

@ -15,7 +15,7 @@
// MSAGL and charting dependencies
#r @"../NotebookAPI/bin/Release/net472/Microsoft.Msagl.dll"
#r @"../NotebookAPI/bin/Release/net472/Microsoft.Msagl.Drawing.dll"
#r @"../NotebookAPI/bin/Release/net472/FSharp.Plotly.dll"
#r @"../NotebookAPI/bin/Release/net472/Plotly.NET.dll"
#r @"../NotebookAPI/bin/Release/net472/XPlot.Plotly.dll"
// StabilityZ3 build

Просмотреть файл

@ -5,7 +5,7 @@ MathNet.Numerics
MathNet.Numerics.FSharp
MathNet.Symbolics
XPlot.Plotly
FSharp.Plotly
Plotly.NET
FSharp.Compiler.Service
Microsoft.Msagl
Microsoft.Msagl.Drawing

Просмотреть файл

@ -27,96 +27,52 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "StabilityZ3Cli", "Stability
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Debug|x64.ActiveCfg = Debug|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Debug|x64.Build.0 = Debug|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Release|Any CPU.Build.0 = Release|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Release|x64.ActiveCfg = Release|Any CPU
{53F378EB-9762-4E25-9037-CC9E17EC35B3}.Release|x64.Build.0 = Release|Any CPU
{FAAC22A3-FF3A-4A16-A7EA-AB751E10D604}.Debug|Any CPU.ActiveCfg = Debug|x64
{FAAC22A3-FF3A-4A16-A7EA-AB751E10D604}.Debug|x64.ActiveCfg = Debug|x64
{FAAC22A3-FF3A-4A16-A7EA-AB751E10D604}.Debug|x64.Build.0 = Debug|x64
{FAAC22A3-FF3A-4A16-A7EA-AB751E10D604}.Release|Any CPU.ActiveCfg = Release|x64
{FAAC22A3-FF3A-4A16-A7EA-AB751E10D604}.Release|x64.ActiveCfg = Release|x64
{FAAC22A3-FF3A-4A16-A7EA-AB751E10D604}.Release|x64.Build.0 = Release|x64
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Debug|x64.ActiveCfg = Debug|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Debug|x64.Build.0 = Debug|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Release|Any CPU.Build.0 = Release|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Release|x64.ActiveCfg = Release|Any CPU
{20CF497C-F46A-4E33-964C-2F510E2B4350}.Release|x64.Build.0 = Release|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Debug|x64.ActiveCfg = Debug|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Debug|x64.Build.0 = Debug|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Release|Any CPU.Build.0 = Release|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Release|x64.ActiveCfg = Release|Any CPU
{3E6F2093-EE33-44DC-A7FE-F7B39965941A}.Release|x64.Build.0 = Release|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Debug|x64.ActiveCfg = Debug|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Debug|x64.Build.0 = Debug|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Release|Any CPU.Build.0 = Release|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Release|x64.ActiveCfg = Release|Any CPU
{876C5DA1-16C8-4326-BA4C-572B61FDFEE6}.Release|x64.Build.0 = Release|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Debug|x64.ActiveCfg = Debug|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Debug|x64.Build.0 = Debug|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Release|Any CPU.Build.0 = Release|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Release|x64.ActiveCfg = Release|Any CPU
{E636C04F-33C8-40EB-A329-19FF8FB805D5}.Release|x64.Build.0 = Release|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Debug|x64.ActiveCfg = Debug|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Debug|x64.Build.0 = Debug|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Release|Any CPU.Build.0 = Release|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Release|x64.ActiveCfg = Release|Any CPU
{A0AECB41-3FAA-4B4A-8F95-844427A7F81D}.Release|x64.Build.0 = Release|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Debug|x64.ActiveCfg = Debug|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Debug|x64.Build.0 = Debug|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Release|Any CPU.Build.0 = Release|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Release|x64.ActiveCfg = Release|Any CPU
{D0D4FAA2-4359-47E1-91F6-B9D3628D59B1}.Release|x64.Build.0 = Release|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Debug|x64.ActiveCfg = Debug|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Debug|x64.Build.0 = Debug|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Release|Any CPU.Build.0 = Release|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Release|x64.ActiveCfg = Release|Any CPU
{47B39030-691C-44E1-B604-E087F11375D3}.Release|x64.Build.0 = Release|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Debug|x64.ActiveCfg = Debug|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Debug|x64.Build.0 = Debug|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Release|Any CPU.Build.0 = Release|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Release|x64.ActiveCfg = Release|Any CPU
{C4752740-F77B-4C24-A201-0A417FA89550}.Release|x64.Build.0 = Release|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Debug|x64.ActiveCfg = Debug|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Debug|x64.Build.0 = Debug|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Release|Any CPU.Build.0 = Release|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Release|x64.ActiveCfg = Release|Any CPU
{9805A2BF-8649-4E67-9FCE-3FFB7D1D423B}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection

Просмотреть файл

@ -75,20 +75,21 @@ group NETFRAMEWORK
nuget FSharp.Core ~> 4.7.0 redirects: force
nuget Newtonsoft.Json = 12.0.2
nuget Newtonsoft.Json
#Only existed as netframework or netcore
nuget FsLexYacc >= 10.0.0
nuget FsLexYacc.Runtime >= 10.0.0
# Dependencies for Turing-Z3 project
nuget Argu
nuget Argu 6.0.0
nuget MathNet.Numerics >= 4.7.0
nuget MathNet.Numerics.FSharp >= 4.7.0
nuget MathNet.Symbolics ~> 0.20.0
nuget FParsec = 1.1.1
nuget Microsoft.Z3.x64 4.8.4
nuget DynamicLanguageRuntime
nuget FSharp.Plotly
nuget Plotly.NET 2.0.0-alpha5
#Only existed as netframework currently, working on netstandard
nuget Microsoft.Msagl 1.1.3
@ -131,6 +132,7 @@ group DOTNETCORE
nuget FSharpIDD >= 0.4.3
nuget FSharpIDD.WS >= 0.4.3
nuget FParsec = 1.1.1
nuget FsPickler >= 5.2.0
nuget FsPickler.Json >= 5.2.0

Просмотреть файл

@ -1045,9 +1045,8 @@ NUGET
Fable.Core (>= 3.0)
Fable.Parsimmon (>= 4.0)
FSharp.Core (>= 4.7)
FParsec (1.0.3)
FSharp.Core (>= 4.2.3)
NETStandard.Library (>= 1.6.1)
FParsec (1.1.1)
FSharp.Core (>= 4.3.4)
FsCheck (2.14)
FSharp.Core (>= 4.2.3)
FSharp.Collections.ParallelSeq (1.1.2)
@ -2097,18 +2096,19 @@ STORAGE: NONE
RESTRICTION: == net472
NUGET
remote: https://api.nuget.org/v3/index.json
Argu (5.5)
FSharp.Core (>= 4.0.0.1)
Argu (6.0)
FSharp.Core (>= 4.3.2)
System.Configuration.ConfigurationManager (>= 4.4)
DynamicLanguageRuntime (1.2.2)
FParsec (1.0.3)
FSharp.Core (>= 4.0.0.1)
FParsec (1.1.1)
FSharp.Core (>= 4.3.4)
System.ValueTuple (>= 4.4)
FSharp.Compiler.Service (28.0)
FSharp.Core (>= 4.6.2)
System.Collections.Immutable (>= 1.5)
System.Reflection.Metadata (>= 1.6)
System.ValueTuple (>= 4.4)
FSharp.Core (4.7) - redirects: force
FSharp.Plotly (1.1.21)
FSharp.Core (4.7.2) - redirects: force
FsLexYacc (10.0)
FSharp.Core (>= 4.3.4)
FsLexYacc.Runtime (>= 10.0 < 10.1)
@ -2129,7 +2129,11 @@ NUGET
Microsoft.Msagl.GraphViewerGDI (1.1.3)
Microsoft.Msagl.Drawing (>= 1.1.3)
Microsoft.Z3.x64 (4.8.4)
Newtonsoft.Json (12.0.2)
Newtonsoft.Json (13.0.1)
Plotly.NET (2.0.0-alpha5)
FSharp.Core (>= 4.7)
Newtonsoft.Json (>= 12.0.3)
System.Runtime.InteropServices.RuntimeInformation (>= 4.3)
SixLabors.Core (1.0.0-beta0008)
System.Buffers (>= 4.4)
System.Memory (>= 4.5.1)
@ -2149,6 +2153,8 @@ NUGET
System.Buffers (4.5)
System.Collections.Immutable (1.6)
System.Memory (>= 4.5.3)
System.Configuration.ConfigurationManager (5.0)
System.Security.Permissions (>= 5.0)
System.Drawing.Common (4.6.0-preview5.19224.8)
System.Memory (4.5.3)
System.Buffers (>= 4.4)
@ -2158,6 +2164,12 @@ NUGET
System.Reflection.Metadata (1.7)
System.Collections.Immutable (>= 1.6)
System.Runtime.CompilerServices.Unsafe (4.6)
System.Runtime.InteropServices.RuntimeInformation (4.3)
System.Security.AccessControl (5.0)
System.Security.Principal.Windows (>= 5.0)
System.Security.Permissions (5.0)
System.Security.AccessControl (>= 5.0)
System.Security.Principal.Windows (5.0)
System.ValueTuple (4.5)
XPlot.Plotly (3.0.1)
FSharp.Core (>= 4.5.2)