@@ -5,49 +5,51 @@ set -euo pipefail
55repo_root=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) /.." && pwd) "
66tool_dir=" /tmp/codecmapper-fable5-package-tool"
77out_dir=" /tmp/codecmapper-fable5-package-check"
8+ temp_project_dir=" $repo_root /tests/.tmp-codecmapper-fable5-package-tests"
9+ temp_package_dir=" $temp_project_dir /package"
810dotnet_root=" $( dirname " $( command -v dotnet) " ) "
911package_version=" 0.1.0-local-ci"
10- package_feed=" $repo_root /src/CodecMapper/bin/Release"
11- package_project=" $repo_root /tests/CodecMapper.FablePackageTests/CodecMapper.FablePackageTests.fsproj"
12- package_project_backup=" /tmp/codecmapper-fable5-package-tests.fsproj.bak"
13- package_nuget_config=" $repo_root /tests/CodecMapper.FablePackageTests/NuGet.Config"
12+ nupkg_path=" $repo_root /src/CodecMapper/bin/Release/CodecMapper.$package_version .nupkg"
1413
1514cd " $repo_root "
1615
1716cleanup () {
18- rm -f " $package_nuget_config "
19-
20- if [[ -f " $package_project_backup " ]]; then
21- cp " $package_project_backup " " $package_project "
22- rm -f " $package_project_backup "
23- fi
17+ rm -rf " $temp_project_dir "
2418}
2519
2620trap cleanup EXIT
2721
28- rm -rf " $tool_dir " " $out_dir "
22+ rm -rf " $tool_dir " " $out_dir " " $temp_project_dir "
2923dotnet pack src/CodecMapper/CodecMapper.fsproj -p:Version=" $package_version " --nologo -v minimal
3024dotnet tool install fable --version 5.0.0-rc.2 --tool-path " $tool_dir "
3125
32- cp " $package_project " " $package_project_backup "
33-
34- sed \
35- -e " s#Version=\" [^\" ]*\" #Version=\" $package_version \" #" \
36- -e ' /<CodecMapperPackageVersion /d' \
37- " $package_project_backup " \
38- > " $package_project "
39-
40- cat > " $package_nuget_config " << EOF
41- <?xml version="1.0" encoding="utf-8"?>
42- <configuration>
43- <packageSources>
44- <clear />
45- <add key="local" value="$package_feed " />
46- <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
47- </packageSources>
48- </configuration>
26+ mkdir -p " $temp_package_dir "
27+ unzip -q -o " $nupkg_path " -d " $temp_package_dir "
28+ cp tests/CodecMapper.FablePackageTests/Program.fs " $temp_project_dir /Program.fs"
29+
30+ cat > " $temp_project_dir /CodecMapper.FablePackageTests.fsproj" << EOF
31+ <Project Sdk="Microsoft.NET.Sdk">
32+
33+ <PropertyGroup>
34+ <OutputType>Exe</OutputType>
35+ <TargetFramework>net10.0</TargetFramework>
36+ <IsPackable>false</IsPackable>
37+ </PropertyGroup>
38+
39+ <ItemGroup>
40+ <Compile Include="package/fable/Core.fs" />
41+ <Compile Include="package/fable/Schema.fs" />
42+ <Compile Include="package/fable/Json.fs" />
43+ <Compile Include="package/fable/JsonSchema.fs" />
44+ <Compile Include="package/fable/Xml.fs" />
45+ <Compile Include="package/fable/KeyValue.fs" />
46+ <Compile Include="package/fable/Yaml.fs" />
47+ <Compile Include="Program.fs" />
48+ </ItemGroup>
49+
50+ </Project>
4951EOF
5052
5153DOTNET_ROOT=" $dotnet_root " PATH=" $dotnet_root :$PATH " \
52- " $tool_dir /fable" tests/CodecMapper.FablePackageTests -o " $out_dir " --noRestore --silent
54+ " $tool_dir /fable" " $temp_project_dir " -o " $out_dir " --noRestore --silent
5355node " $out_dir /Program.js"
0 commit comments