From b683357e63c0d3bee7c2157c0df1635629e5e323 Mon Sep 17 00:00:00 2001 From: webwarrior Date: Thu, 12 Jan 2023 13:02:44 +0100 Subject: [PATCH] WIP: call nuget restore On legacy non-Windows platforms use make.fsx for build, that will download nuget and call nuget restore. --- .github/workflows/CI.yml | 8 +-- fsx-legacy.sln | 40 ++++++++------- fsx.sln | 31 +++++------- scripts/make.fsx | 73 +++++++++++++++++++++++++-- test/errProp.txt | 1 + test/lib/test2.dll | Bin 0 -> 7168 bytes test/test1.deps.json | 104 +++++++++++++++++++++++++++++++++++++++ test/test1.dll | Bin 0 -> 7168 bytes test/test1.pdb | Bin 0 -> 712 bytes test/test2.deps.json | 104 +++++++++++++++++++++++++++++++++++++++ test/test2.dll | Bin 0 -> 7168 bytes test/test2.pdb | Bin 0 -> 712 bytes 12 files changed, 316 insertions(+), 45 deletions(-) create mode 100644 test/errProp.txt create mode 100644 test/lib/test2.dll create mode 100644 test/test1.deps.json create mode 100644 test/test1.dll create mode 100644 test/test1.pdb create mode 100644 test/test2.deps.json create mode 100644 test/test2.dll create mode 100644 test/test2.pdb diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f1dabbb7..a9ea4bca 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -213,7 +213,7 @@ jobs: - name: configure run: ./configure.sh - name: build in DEBUG mode - run: make + run: fsharpi --define:LEGACY_FRAMEWORK scripts/make.fsx - name: run unit tests run: fsharpi --define:LEGACY_FRAMEWORK scripts/runUnitTests.fsx @@ -255,7 +255,7 @@ jobs: - name: configure run: ./configure.sh - name: build in DEBUG mode - run: make + run: fsharpi --define:LEGACY_FRAMEWORK scripts/make.fsx - name: run unit tests run: fsharpi --define:LEGACY_FRAMEWORK scripts/runUnitTests.fsx @@ -353,7 +353,7 @@ jobs: - name: configure run: ./configure.sh - name: build in DEBUG mode - run: make + run: fsharpi --define:LEGACY_FRAMEWORK scripts/make.fsx - name: run unit tests run: fsharpi --define:LEGACY_FRAMEWORK scripts/runUnitTests.fsx @@ -395,7 +395,7 @@ jobs: - name: configure run: ./configure.sh - name: build in DEBUG mode - run: make + run: fsharpi --define:LEGACY_FRAMEWORK scripts/make.fsx - name: run unit tests run: fsharpi --define:LEGACY_FRAMEWORK scripts/runUnitTests.fsx diff --git a/fsx-legacy.sln b/fsx-legacy.sln index 490a4d37..ba14a98a 100644 --- a/fsx-legacy.sln +++ b/fsx-legacy.sln @@ -1,54 +1,53 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33205.214 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fsdk", "Fsdk\Fsdk-legacy.fsproj", "{4634F264-784E-42DA-B5A1-FE72125DEAFC}" +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fsdk-legacy", "Fsdk\Fsdk-legacy.fsproj", "{4634F264-784E-42DA-B5A1-FE72125DEAFC}" EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "fsxc", "fsxc\fsxc-legacy.fsproj", "{56DA5F03-8F7F-44AB-B692-5A24DB134A8B}" +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "fsxc-legacy", "fsxc\fsxc-legacy.fsproj", "{56DA5F03-8F7F-44AB-B692-5A24DB134A8B}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{8E1108BE-590F-4C6D-8496-A8AAEB8594D8}" ProjectSection(SolutionItems) = preProject Tools\bump.fsx = Tools\bump.fsx - Tools\replace.fsx = Tools\replace.fsx - Tools\safeRun.fsx = Tools\safeRun.fsx - Tools\nugetPush.fsx = Tools\nugetPush.fsx Tools\fsi.bat = Tools\fsi.bat Tools\gitPush1by1.fsx = Tools\gitPush1by1.fsx + Tools\nugetPush.fsx = Tools\nugetPush.fsx + Tools\replace.fsx = Tools\replace.fsx + Tools\safeRun.fsx = Tools\safeRun.fsx EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{848BC281-2B17-47DC-B24E-9BD27B013D02}" ProjectSection(SolutionItems) = preProject test\test.fs = test\test.fs test\test.fsx = test\test.fsx - test\testRefLib.fsx = test\testRefLib.fsx - test\testRefLibOutsideCurrentFolder.fsx = test\testRefLibOutsideCurrentFolder.fsx + test\testFsiCommandLineArgs.fsx = test\testFsiCommandLineArgs.fsx + test\testIfDef.fsx = test\testIfDef.fsx + test\testProcess.fsx = test\testProcess.fsx test\testProcessConcurrency.fsx = test\testProcessConcurrency.fsx test\testProcessConcurrencySample.fsx = test\testProcessConcurrencySample.fsx - test\testTsv.fsx = test\testTsv.fsx - test\testProcess.fsx = test\testProcess.fsx test\testProcessSample.fsx = test\testProcessSample.fsx + test\testRefLib.fsx = test\testRefLib.fsx + test\testRefLibOutsideCurrentFolder.fsx = test\testRefLibOutsideCurrentFolder.fsx test\testRefNugetLib.fsx = test\testRefNugetLib.fsx - test\testFsiCommandLineArgs.fsx = test\testFsiCommandLineArgs.fsx - test\testIfDef.fsx = test\testIfDef.fsx test\testRefNugetLibNewFormat.fsx = test\testRefNugetLibNewFormat.fsx test\testRefNugetLibNewFormatWithVersion.fsx = test\testRefNugetLibNewFormatWithVersion.fsx + test\testTsv.fsx = test\testTsv.fsx EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{DBAE02AB-5972-403C-B18B-ED1DFE362054}" ProjectSection(SolutionItems) = preProject + scripts\build.sh = scripts\build.sh + .github\workflows\CI.yml = .github\workflows\CI.yml + compileFSharpScripts.fsx = compileFSharpScripts.fsx configure.sh = configure.sh - Makefile = Makefile + scripts\fsx.bat = scripts\fsx.bat scripts\install.sh = scripts\install.sh launcher.fsx = launcher.fsx - scripts\build.sh = scripts\build.sh scripts\launcher.sh = scripts\launcher.sh - compileFSharpScripts.fsx = compileFSharpScripts.fsx make.bat = make.bat scripts\make.fsx = scripts\make.fsx - .github\workflows\CI.yml = .github\workflows\CI.yml + Makefile = Makefile scripts\runTests.fsx = scripts\runTests.fsx - scripts\fsx.bat = scripts\fsx.bat EndProjectSection EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fsdk.Tests", "Fsdk.Tests\Fsdk.Tests-legacy.fsproj", "{43BA7E25-975B-4DF9-B274-EEF6C806C1D0}" @@ -75,4 +74,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7CEE0192-68F5-495E-B914-5B554D01A3D7} + EndGlobalSection EndGlobal diff --git a/fsx.sln b/fsx.sln index 7bdebec3..482efc8c 100644 --- a/fsx.sln +++ b/fsx.sln @@ -1,26 +1,27 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 25.0.1703.8 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33205.214 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "fsxc", "fsxc\fsxc.fsproj", "{9E754152-E69A-4DB9-B23A-3B72C189FF5A}" +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "fsxc", "fsxc\fsxc.fsproj", "{9E754152-E69A-4DB9-B23A-3B72C189FF5A}" EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fsdk", "Fsdk\Fsdk.fsproj", "{B532D664-2864-4532-9673-3E52DD363BB9}" +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Fsdk", "Fsdk\Fsdk.fsproj", "{B532D664-2864-4532-9673-3E52DD363BB9}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{17C46E45-4C73-4981-9EE4-686675C2DDBB}" ProjectSection(SolutionItems) = preProject + scripts\build.sh = scripts\build.sh + .github\workflows\CI.yml = .github\workflows\CI.yml + compileFSharpScripts.fsx = compileFSharpScripts.fsx configure.sh = configure.sh - Makefile = Makefile + scripts\fsx.bat = scripts\fsx.bat scripts\install.sh = scripts\install.sh launcher.fsx = launcher.fsx - scripts\build.sh = scripts\build.sh scripts\launcher.sh = scripts\launcher.sh - compileFSharpScripts.fsx = compileFSharpScripts.fsx make.bat = make.bat scripts\make.fsx = scripts\make.fsx - .github\workflows\CI.yml = .github\workflows\CI.yml + Makefile = Makefile scripts\runTests.fsx = scripts\runTests.fsx - scripts\fsx.bat = scripts\fsx.bat + scripts\runUnitTests.fsx = scripts\runUnitTests.fsx EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{C51659D1-9E99-4C52-A7E4-DCD12922AE73}" @@ -29,6 +30,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{C51659D1-9 test\test.fsx = test\test.fsx test\testFsiCommandLineArgs.fsx = test\testFsiCommandLineArgs.fsx test\testIfDef.fsx = test\testIfDef.fsx + test\testLegacyFx.fsx = test\testLegacyFx.fsx + test\testNonLegacyFx.fsx = test\testNonLegacyFx.fsx test\testProcess.fsx = test\testProcess.fsx test\testProcessConcurrency.fsx = test\testProcessConcurrency.fsx test\testProcessConcurrencySample.fsx = test\testProcessConcurrencySample.fsx @@ -39,19 +42,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{C51659D1-9 test\testRefNugetLibNewFormat.fsx = test\testRefNugetLibNewFormat.fsx test\testRefNugetLibNewFormatWithVersion.fsx = test\testRefNugetLibNewFormatWithVersion.fsx test\testTsv.fsx = test\testTsv.fsx - test\testLegacyFx.fsx = test\testLegacyFx.fsx - test\testNonLegacyFx.fsx = test\testNonLegacyFx.fsx EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{FD764CDA-F880-4954-BA6C-1FC678D64988}" - ProjectSection(SolutionItems) = preProject - Tools\bump.fsx = Tools\bump.fsx - Tools\replace.fsx = Tools\replace.fsx - Tools\safeRun.fsx = Tools\safeRun.fsx - Tools\nugetPush.fsx = Tools\nugetPush.fsx - Tools\fsi.bat = Tools\fsi.bat - Tools\gitPush1by1.fsx = Tools\gitPush1by1.fsx - EndProjectSection EndProject Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Fsdk.Tests", "Fsdk.Tests\Fsdk.Tests.fsproj", "{43BA7E25-975B-4DF9-B274-EEF6C806C1D0}" EndProject diff --git a/scripts/make.fsx b/scripts/make.fsx index c1bd286b..71d38c97 100644 --- a/scripts/make.fsx +++ b/scripts/make.fsx @@ -85,8 +85,67 @@ let FindBuildTool() : string * string = match Misc.GuessPlatform() with | Misc.Platform.Linux | Misc.Platform.Mac -> - failwith - "cannot find buildTool because this script is not ready for Unix yet" + let buildConfigFileName = "build.config" + + let buildConfigContents = + let buildConfig = + Path.Combine(RootDir.FullName, buildConfigFileName) + |> FileInfo + + if not(buildConfig.Exists) then + let configureLaunch = + match Misc.GuessPlatform() with + | Misc.Platform.Windows -> ".\\configure.bat" + | _ -> "./configure.sh" + + Console.Error.WriteLine( + sprintf + "ERROR: configure hasn't been run yet, run %s first" + configureLaunch + ) + + Environment.Exit 1 + + let configFileLines = File.ReadAllLines buildConfig.FullName + + let skipBlankLines line = + not <| String.IsNullOrWhiteSpace line + + let splitLineIntoKeyValueTuple(line: string) = + let pair = + line.Split([| '=' |], StringSplitOptions.RemoveEmptyEntries) + + if pair.Length <> 2 then + failwithf + "All lines in '%s' must conform to key=value format, but got: '%s'. All lines: \n%s" + buildConfigFileName + line + (File.ReadAllText buildConfig.FullName) + + pair.[0], pair.[1] + + let buildConfigContents = + configFileLines + |> Array.filter skipBlankLines + |> Array.map splitLineIntoKeyValueTuple + |> Map.ofArray + + buildConfigContents + + let maybeBuildTool = Map.tryFind "BuildTool" buildConfigContents + + match maybeBuildTool with + | None -> + failwith + "A BuildTool should have been chosen by the configure script, please report this bug" + | Some "dotnet" -> +#if LEGACY_FRAMEWORK + failwith + "'dotnet' shouldn't be the build tool when using legacy framework, please report this bug" +#endif + "dotnet", "build" + | Some otherBuildTool -> + otherBuildTool, String.Empty | Misc.Platform.Windows -> #if !LEGACY_FRAMEWORK "dotnet", "build" @@ -156,6 +215,9 @@ let JustBuild binaryConfig = #else let solFile = "fsx-legacy.sln" + if not NugetExe.Exists then + Network.DownloadNugetExe NugetExe + Network.RunNugetCommand NugetExe (sprintf "restore %s" solFile) @@ -179,7 +241,12 @@ let MakeAll() = buildConfig let programFiles = - Environment.GetEnvironmentVariable "ProgramW6432" |> DirectoryInfo + let programFilesPath = Environment.GetEnvironmentVariable "ProgramW6432" + + if isNull programFilesPath then // hack for unix platforms so that script doesn't crash + DirectoryInfo "/" + else + DirectoryInfo programFilesPath let fsxInstallationDir = Path.Combine(programFiles.FullName, "fsx") |> DirectoryInfo diff --git a/test/errProp.txt b/test/errProp.txt new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/test/errProp.txt @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/test/lib/test2.dll b/test/lib/test2.dll new file mode 100644 index 0000000000000000000000000000000000000000..32c03e645df71d1aa413383fc9578d8f0e76d8fe GIT binary patch literal 7168 zcmeHLU2Ggz6+U-%y6m%yXT&J@40jD?2F%_7!k$s+`mus7T!$blDB6YsP1{vrE; z;>_*7#WmAa%Z^=e^pcv>Ez9=Q6+?9@mTFpRWJ`nrCJ?|5pDS8;ON(K2hn!Z3cj z+c*;Jk6n1`XdKpSj#0EB$hOil9>#hMPaTaDP1I#&@(%kI#I`BaK}#yp&l5y~3qia0 z6TQ;qr?BgYu2gNopPgLwbTL`$&u0w!XA z)^kj&;IhP<7`+2{_n*(w`~FB$|LOBH8I*m5{JUH?QM6a^W&(sbjXBfB#{W}{$pR!F z!2@w=Ng8h$C)1FZZsMHZ-vphb=TZNVxJwDTC{Bq4y(+GO|3LCzO8zIwI}|S8C;7DU zv@#_7kfN8ByEI0Z0iL2;%6F9%y(9U1lHXE3M9F*L3F?h;Tl-^o!6(6)Ch&Afd%g~n z*2oBQ8_0cwY?)Jtb8pZqb-54dCqZsOWt?5qAA1`(y>vqCpgrJ2)F=5t$wwqVCizLp zXCyxh{zLj6?TP)2t|R>m(kP9Iq|pu<27jEcf%n4}jfUvk;A8X}__MNnQu62N$23V_ zqF+;d!}l}{@>eGP0}1wfNP@m7lbvA!-YFXMhXZL&@R)62F>!hjk0j4q2GjGuGtfxC(r96r7H6X#Cqk%;<(yB(2HKTOWb&b+Waec;GwOh++ zbEg)8EL%JLg5kI@@pD&3wc)DnNe}B`rGh5O@6)WAb8OdM^)$cV+NA9mK~HBa&u~`t zob*8eR|N=Ue0eSB*-p@N?OerzhYT&y!1AL--6jU?_9mX6!}ND;l-p z!1#=*7cATL%$!RZW2I6k=qvSNei__=83MnAzXMTt=VjykS?IoWXjY1Mf{0bq>4z z9CM2J*`(4cIe3?lGRYzrJdawY)t)EkRcCnl-QUrl|M>gs7b*G9S9aXLedNyByge4MXdQH!(`r zM}u_zg7X_qkT~L}IxE&?%f4zQ{5jSctf^FOP3?|aQ}vCEhU;t7lEge}y(By2TJ8=M z{p~Z_wO!Q-mGHY0=lGGp6u{irs?Teye|NZ0n^*s#up`w#p+$-At5viL6vOS1S}FLG zU~h=pD!ypZn61RaxilDJwhc?4i3V@0=TFkAN1KCM8;>@N?h5T}jDH8B4Qmvv+Rz+v z+t|=7O3GZeFZ0Y2Y~y{^UE+OYY1O^9#LHDOZPiWq`)drbDqgWn?^v{ky>e+uE^nzj zTAfbpQy^uxq8S-+s%X{l=mN7_#_g=(c~~6op2!vw2q*)}z*AzINGs`~G{u!zyhFs( z+q!!wru06{Y$vlvnLWnrQ_P-V)+YrIC;(7I*Ei+Y5#p2oO^TR=@QFAhssWaS{{h9Z zDk)+SwfJTi)PvY3nRtlddJv0!28al~9a})nGgp*qY4u5q2JL`5a4l@$*D4g9} zz}dq%%n-?=a30?R&R)i0M)8^~A3G<%8$W1X??V9r)$e08iEKH#x( zD*&{)pTuB18Ba?V6QGSZAnh*>fCxU!#pG`r9gL^q+c6~@C@_>u`RvS3NNl8UC;;L( zXBcRw92W?6kcRB)?CEbO{Q3!)lG{^ZVsP1hCDL{QuhZ*9hd3;iCZ6%m|fsb@kn35 zea{7sg&?kDgE+e%&&R0yIH*Hb()QrJcNBLzxPv&C&1ARVTyyVzbbI<+KYjnzW2SnO zF(UVnrRM#uoL>nrKj~L?`sC=-pQgaPwa`3tbM4ZNkvoq}c0K#(AG~lTe$uT!!293z zfZ*Fw!j`+yXrmu)vHCWZv)nYE3*$uNbrE4)If~L3C`%W?PvKq-cPTVabI8wtPa(~8 zGyd0meh}u>!Q{VB_!$|l!P7HOSS*k}NaPq;QPh(>Uy#rIwQLwK`Z*iN(bX8EI1enFm} z^HiZ6tZmk6ZsRy^z6AWjy(-9_>98(r(;^-A^6A?H$8`{m!oEBt_#X8rww0QF87YyI zNM%Tdy{gwGIxKY>ZJevN(n@wx-UgH*W5H`tvKiPT&|4ktht}6dhG;;J>LO|x$A$fR dgN;Ntnzmp7KA``O2e2sQR*XIE0sa4Z;9og+dSn0q literal 0 HcmV?d00001 diff --git a/test/test1.deps.json b/test/test1.deps.json new file mode 100644 index 00000000..0211d9aa --- /dev/null +++ b/test/test1.deps.json @@ -0,0 +1,104 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "test1/1.0.0": { + "dependencies": { + "FSharp.Core": "7.0.0", + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "test1.dll": {} + } + }, + "FSharp.Core/7.0.0": { + "runtime": { + "lib/netstandard2.0/FSharp.Core.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.56703" + } + }, + "resources": { + "lib/netstandard2.0/cs/FSharp.Core.resources.dll": { + "locale": "cs" + }, + "lib/netstandard2.0/de/FSharp.Core.resources.dll": { + "locale": "de" + }, + "lib/netstandard2.0/es/FSharp.Core.resources.dll": { + "locale": "es" + }, + "lib/netstandard2.0/fr/FSharp.Core.resources.dll": { + "locale": "fr" + }, + "lib/netstandard2.0/it/FSharp.Core.resources.dll": { + "locale": "it" + }, + "lib/netstandard2.0/ja/FSharp.Core.resources.dll": { + "locale": "ja" + }, + "lib/netstandard2.0/ko/FSharp.Core.resources.dll": { + "locale": "ko" + }, + "lib/netstandard2.0/pl/FSharp.Core.resources.dll": { + "locale": "pl" + }, + "lib/netstandard2.0/pt-BR/FSharp.Core.resources.dll": { + "locale": "pt-BR" + }, + "lib/netstandard2.0/ru/FSharp.Core.resources.dll": { + "locale": "ru" + }, + "lib/netstandard2.0/tr/FSharp.Core.resources.dll": { + "locale": "tr" + }, + "lib/netstandard2.0/zh-Hans/FSharp.Core.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netstandard2.0/zh-Hant/FSharp.Core.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + } + } + }, + "libraries": { + "test1/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "FSharp.Core/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UcPaa9FW4civPrXL059dEa6Pk8ZMfllEf9RRcChv0reBLnM1WfcXXn7pW357FxGb+CUosq0W93TevJQ6z8G93g==", + "path": "fsharp.core/7.0.0", + "hashPath": "fsharp.core.7.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/test/test1.dll b/test/test1.dll new file mode 100644 index 0000000000000000000000000000000000000000..2e324af5e0dbb07e95d9d3483a5ff3955a02aeaa GIT binary patch literal 7168 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�sB) zFok7`JXfDBN#Zs+z3HZ;|Go6iOOwmOVjn$y_t4<~J%;7Iq99ip!j19FOUnluzy&j) zVWYzQ_peT@=a|F5um7@b&6PzF0l{60Md_Xq>yNu^){=WE%LWV>9ac_G-^}Eq{Nnty z5&<|%&n-A3v8X^4T|mz{zbI7(i)c;`Fx-HCE0(|_nO9PjpCirK@QbmLh1ry`QIxS! Uo3YV@*^=3o*^$|m*%Rmx03vF&mH+?% literal 0 HcmV?d00001 diff --git a/test/test2.deps.json b/test/test2.deps.json new file mode 100644 index 00000000..7a71b9e6 --- /dev/null +++ b/test/test2.deps.json @@ -0,0 +1,104 @@ +{ + "runtimeTarget": { + "name": ".NETStandard,Version=v2.0/", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETStandard,Version=v2.0": {}, + ".NETStandard,Version=v2.0/": { + "test2/1.0.0": { + "dependencies": { + "FSharp.Core": "7.0.0", + "NETStandard.Library": "2.0.3" + }, + "runtime": { + "test2.dll": {} + } + }, + "FSharp.Core/7.0.0": { + "runtime": { + "lib/netstandard2.0/FSharp.Core.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.22.56703" + } + }, + "resources": { + "lib/netstandard2.0/cs/FSharp.Core.resources.dll": { + "locale": "cs" + }, + "lib/netstandard2.0/de/FSharp.Core.resources.dll": { + "locale": "de" + }, + "lib/netstandard2.0/es/FSharp.Core.resources.dll": { + "locale": "es" + }, + "lib/netstandard2.0/fr/FSharp.Core.resources.dll": { + "locale": "fr" + }, + "lib/netstandard2.0/it/FSharp.Core.resources.dll": { + "locale": "it" + }, + "lib/netstandard2.0/ja/FSharp.Core.resources.dll": { + "locale": "ja" + }, + "lib/netstandard2.0/ko/FSharp.Core.resources.dll": { + "locale": "ko" + }, + "lib/netstandard2.0/pl/FSharp.Core.resources.dll": { + "locale": "pl" + }, + "lib/netstandard2.0/pt-BR/FSharp.Core.resources.dll": { + "locale": "pt-BR" + }, + "lib/netstandard2.0/ru/FSharp.Core.resources.dll": { + "locale": "ru" + }, + "lib/netstandard2.0/tr/FSharp.Core.resources.dll": { + "locale": "tr" + }, + "lib/netstandard2.0/zh-Hans/FSharp.Core.resources.dll": { + "locale": "zh-Hans" + }, + "lib/netstandard2.0/zh-Hant/FSharp.Core.resources.dll": { + "locale": "zh-Hant" + } + } + }, + "Microsoft.NETCore.Platforms/1.1.0": {}, + "NETStandard.Library/2.0.3": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + } + } + }, + "libraries": { + "test2/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "FSharp.Core/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UcPaa9FW4civPrXL059dEa6Pk8ZMfllEf9RRcChv0reBLnM1WfcXXn7pW357FxGb+CUosq0W93TevJQ6z8G93g==", + "path": "fsharp.core/7.0.0", + "hashPath": "fsharp.core.7.0.0.nupkg.sha512" + }, + "Microsoft.NETCore.Platforms/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", + "path": "microsoft.netcore.platforms/1.1.0", + "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "path": "netstandard.library/2.0.3", + "hashPath": "netstandard.library.2.0.3.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/test/test2.dll b/test/test2.dll new file mode 100644 index 0000000000000000000000000000000000000000..32c03e645df71d1aa413383fc9578d8f0e76d8fe GIT binary patch literal 7168 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 literal 0 HcmV?d00001 diff --git a/test/test2.pdb b/test/test2.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8c158ccb3991a3270469ac1906268ad0dc3aaef6 GIT binary patch literal 712 zcmZIpK#1ITXxVr8eCe2`%Rdozmvy*caAw)sw% zWv0SjWv2r#fWi#!A`A?iKy^UGAPU5+Kn!AY12Gqr%><-D7zBVcNE!&#Ar#P6%s>`M z5QIVMlz}X5Agc{XPXN-#f%GLH&B*W>h(R<2fb0MPMutR~5SY(@L9=6rps-VWcR63{ z^fh89E&NwM+qTPjpLGNWx6YZz3`{Oo905i7S*gh-#VqCdMcK@0#T6_isl_GiAVM## zm_3G(g;z*STEVr1&4w@h8(*;a&u7e^^JM=XS@uMO+xyAHhJd8RX`zYC`AJ!H2zpt|7rCiFqlBMJYOAsYS(^`FXZwMtTN%j>W~Pxk)*djwQgrPbvl40knb>VuepY zn8Gqeo~zH6BypRZ-gHya|6Y3MrO9Psv5%gelpQIM;Q;Kq37rR4(+;DQ;@ zuu&mm=GG<4A00cAa_h|_PQB^Enx7jh&OJR}`QXa;$m5|?oY;T?qr=L{>6@8clwX{m zRw4jr>A3}GBo-Bjq6_Fb=NF~QU=hv90frmUZ^aT=B=bs&@^hpa8-6i1vM`%6Hi|Mf VYBM%^Fk3R)GCMN6GJ66Y0szU0xx)Ye literal 0 HcmV?d00001