зеркало из https://github.com/dotnet/fsharp.git
convert to SDK projects
This commit is contained in:
Родитель
a7acf9f419
Коммит
61465f6f32
|
@ -8,6 +8,9 @@
|
|||
/debug
|
||||
/Proto
|
||||
|
||||
# auto-generated during the build
|
||||
global.json
|
||||
|
||||
# Patches that may have been generated by scripts.
|
||||
# (These aren't generally useful to commit directly; if anything, they should be applied.)
|
||||
scripts/*.patch
|
||||
|
@ -82,6 +85,8 @@ lib/bootstrap/4.1/*.xml
|
|||
lib/bootstrap/4.1/fsharpc
|
||||
lib/bootstrap/4.1/fsharpi
|
||||
lib/bootstrap/4.1/policy*
|
||||
obj/
|
||||
bin/
|
||||
aclocal.m4
|
||||
Debug
|
||||
Release
|
||||
|
|
|
@ -6,9 +6,9 @@ jobs:
|
|||
strategy:
|
||||
maxParallel: 2
|
||||
matrix:
|
||||
release_default:
|
||||
_command: ./mono/cibuild.sh
|
||||
_args: release
|
||||
dotnet_sdk:
|
||||
_command: make
|
||||
_args: Configuration=release
|
||||
# disabled until it can be properly fixed
|
||||
#release_fcs:
|
||||
# _command: ./fcs/build.sh
|
||||
|
|
|
@ -259,7 +259,6 @@ If you are behind a proxy server, NuGet client tool must be configured to use it
|
|||
|
||||
Where you should set proper proxy address, user name and password.
|
||||
|
||||
|
||||
#### Resources
|
||||
|
||||
The primary technical guide to the core compiler code is [The F# Compiler Technical Guide](http://fsharp.github.io/2015/09/29/fsharp-compiler-guide.html). Please read and contribute to that guide.
|
||||
|
|
|
@ -1 +1 @@
|
|||
2.1.403
|
||||
2.1.500
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
1.0.0-preview3-003886
|
|
@ -2,14 +2,14 @@
|
|||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'net46'">
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('net4'))">
|
||||
<DefineConstants Condition="'$(MonoPackaging)' == 'true'">$(DefineConstants);CROSS_PLATFORM_COMPILER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);ENABLE_MONO_SUPPORT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);BE_SECURITY_TRANSPARENT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_LCIDFROMCODEPAGE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.6' or '$(TargetFramework)' == 'netcoreapp1.0'">
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('netstandard')) OR $(TargetFramework.StartsWith('netcoreapp'))">
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD1_6</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_APP_DOMAINS</DefineConstants>
|
||||
|
@ -19,13 +19,11 @@
|
|||
<DefineConstants>$(DefineConstants);FX_NO_CONVERTER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_DEFAULT_DEPENDENCY_TYPE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_CORHOST_SIGNER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_CRYPTO</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_EVENTWAITHANDLE_IDISPOSABLE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_EXIT_CONTEXT_FLAGS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_HEAPTERMINATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_LINKEDRESOURCES</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_LOADER_OPTIMIZATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_SIMPLIFIED_LOADER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_PARAMETERIZED_THREAD_START</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_PDB_READER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_PDB_WRITER</DefineConstants>
|
||||
|
@ -42,16 +40,13 @@
|
|||
<DefineConstants>$(DefineConstants);FX_NO_WEB_CLIENT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_WIN_REGISTRY</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_WINFORMS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_INDENTED_TEXT_WRITER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_REDUCED_EXCEPTIONS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_REDUCED_CONSOLE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_REFEMIT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_CONSOLE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_GLOBALIZATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_REFLECTION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_JITTRACKING_ISSUE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_INDENTED_TEXT_WRITER</DefineConstants>
|
||||
<DefineConstants Condition=" '$(FX_NO_LOADER)' != 'true' ">$(DefineConstants);FX_RESHAPED_REFLECTION_CORECLR</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FSI_TODO_NETCORE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_MSBUILD</DefineConstants>
|
||||
<OtherFlags>$(OtherFlags) --simpleresolution</OtherFlags>
|
||||
</PropertyGroup>
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="build\targets\AssemblyVersions.props" />
|
||||
<Import Project="build\targets\PackageVersions.props" />
|
||||
<Import Project="build\targets\GitHash.props" />
|
||||
<Import Project="build\targets\CommonPackages.targets" />
|
||||
|
||||
<!-- directory locations -->
|
||||
|
@ -9,8 +11,8 @@
|
|||
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
|
||||
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot>
|
||||
<ToolsRoot>$(RepoRoot)Tools</ToolsRoot>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<ProtoOutputPath>$(RepoRoot)Proto\net40\bin</ProtoOutputPath>
|
||||
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(RepoRoot)Proto\net40\bin</ProtoOutputPath>
|
||||
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(RepoRoot)Proto\coreclr\bin</ProtoOutputPath>
|
||||
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -18,10 +20,20 @@
|
|||
<PropertyGroup>
|
||||
<!-- default NuGet package restore location -->
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == ''">$(NUGET_PACKAGES)</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == ''">$(MSBuildThisFileDirectory)packages</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' == 'Windows_NT'">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' != 'Windows_NT'">$(HOME)/.nuget/packages/</NuGetPackageRoot>
|
||||
<!-- ensure there is a trailing slash -->
|
||||
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' == 'Windows_NT'">$(NuGetPackageRoot)\</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' != 'Windows_NT'">$(NuGetPackageRoot)/</NuGetPackageRoot>
|
||||
<!-- ensure all NuGet packages come from the `$(NuGetPackageRoot)` variable -->
|
||||
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- mono -->
|
||||
<PropertyGroup Condition="'$(OS)' == 'Unix'">
|
||||
<MonoPackaging Condition="$(TargetFramework.StartsWith('net4'))">true</MonoPackaging>
|
||||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net45'">/usr/lib/mono/4.5-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(TargetFramework)' == 'net46'">/usr/lib/mono/4.6-api</FrameworkPathOverride>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- signing -->
|
||||
|
@ -32,15 +44,15 @@
|
|||
<StrongNames>true</StrongNames>
|
||||
<DelaySign>true</DelaySign>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- mono -->
|
||||
<PropertyGroup>
|
||||
<MonoPackaging Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">true</MonoPackaging>
|
||||
<PropertyGroup Condition="'$(MonoPackaging)' == 'true'">
|
||||
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<DefineConstants>STRONG_NAME_FSHARP_COMPILER_WITH_TEST_KEY;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- localization -->
|
||||
<PropertyGroup>
|
||||
<EnableXlfLocalization Condition="'$(Configuration)' == 'Proto' or '$(MonoPackaging)' == 'true'">false</EnableXlfLocalization>
|
||||
<EnableXlfLocalization Condition="'$(EnableXlfLocalization)' == '' AND ('$(Configuration)' == 'Proto' OR '$(MonoPackaging)' == 'true')">false</EnableXlfLocalization>
|
||||
<UpdateXlfOnBuild Condition="'$(CI)' != '1'">true</UpdateXlfOnBuild>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -53,10 +65,11 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<!-- SDK targets override -->
|
||||
<PropertyGroup Condition="'$(Configuration)' != 'Proto'">
|
||||
<FSharpPropsShim Condition="Exists('$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props')">$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
|
||||
<FSharpTargetsShim Condition="Exists('$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets')">$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
|
||||
<FSharpOverridesTargetsShim Condition="Exists('$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets')">$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
|
||||
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND Exists('$(ProtoOutputPath)')">
|
||||
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
|
||||
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
|
||||
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,18 +1,40 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="FSharp.Profiles.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<XlfLanguages>en;$(XlfLanguages)</XlfLanguages>
|
||||
<TargetDotnetProfile Condition="$(TargetFramework.StartsWith('netstandard')) or $(TargetFramework.StartsWith('netcoreapp'))">coreclr</TargetDotnetProfile>
|
||||
<TargetDotnetProfile Condition="$(TargetFramework.StartsWith('net4'))">net40</TargetDotnetProfile>
|
||||
<ActualOutputPath Condition="'$(Language)' != 'VB'">$(MSBuildProjectDirectory)\$(OutputPath)</ActualOutputPath>
|
||||
<ActualOutputPath Condition="'$(Language)' == 'VB'">$(OutputPath)</ActualOutputPath>
|
||||
<FinalOutputPath>$(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\bin</FinalOutputPath>
|
||||
<FinalIntermediateOutputPath>$(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\obj</FinalIntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="HACK_CopyOutputsToTheProperLocation"
|
||||
AfterTargets="AfterBuild"
|
||||
Condition="'$(DisableOutputPathCopying)' != 'true'">
|
||||
<PropertyGroup Condition="'$(UseAssetTargetFallback)' == 'true'">
|
||||
<!--
|
||||
HACK: Necessary because the `netstandard1.6` version of FSharp.Compiler.Private requires a package that isn't
|
||||
necessary for `net46`, but the package has a requirement on `net462`. The reference is excluded from the build
|
||||
during `net46`, but for purposes of restore needs to be present.
|
||||
-->
|
||||
<AssetTargetFallback>$(AssetTargetFallback);net462</AssetTargetFallback>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>$(CompileDependsOn);CopyAndSubstituteTextFiles</CompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CopyAndSubstituteTextFiles"
|
||||
Inputs="@(CopyAndSubstituteText)"
|
||||
Outputs="@(CopyAndSubstituteText->'$(OutDir)%(TargetFilename)')">
|
||||
<PropertyGroup>
|
||||
<_ReplacementText>$([System.IO.File]::ReadAllText('%(CopyAndSubstituteText.FullPath)'))</_ReplacementText>
|
||||
<_ReplacementText Condition="'%(CopyAndSubstituteText.Pattern1)' != ''">$(_ReplacementText.Replace('%(CopyAndSubstituteText.Pattern1)', '%(CopyAndSubstituteText.Replacement1)'))</_ReplacementText>
|
||||
<_ReplacementText Condition="'%(CopyAndSubstituteText.Pattern2)' != ''">$(_ReplacementText.Replace('%(CopyAndSubstituteText.Pattern2)', '%(CopyAndSubstituteText.Replacement2)'))</_ReplacementText>
|
||||
</PropertyGroup>
|
||||
<WriteLinesToFile File="$(OutDir)%(CopyAndSubstituteText.TargetFilename)" Lines="$(_ReplacementText)" Overwrite="true" />
|
||||
<!-- Make sure it will get cleaned -->
|
||||
<CreateItem Include="$(OutDir)%(CopyAndSubstituteText.TargetFilename)">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites" />
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<Target Name="ComputeFinalOutputPaths">
|
||||
<!--
|
||||
Ideally we'd set <OutputPath> to `$(Configuration)\[net40|coreclr]\bin`, but the calculation of `[net40|coreclr]`
|
||||
depends on the `$(TargetFramework)` variable which is set by the individual project files, but by the time we have
|
||||
|
@ -22,6 +44,21 @@
|
|||
The fix is to not set `$(Outputpath)` and simply copy stuff there after the fact.
|
||||
-->
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetDotnetProfile Condition="$(TargetFramework.StartsWith('netstandard')) or $(TargetFramework.StartsWith('netcoreapp'))">coreclr</TargetDotnetProfile>
|
||||
<TargetDotnetProfile Condition="$(TargetFramework.StartsWith('net4'))">net40</TargetDotnetProfile>
|
||||
<ActualOutputPath Condition="'$(Language)' != 'VB'">$(MSBuildProjectDirectory)\$(OutputPath)</ActualOutputPath>
|
||||
<ActualOutputPath Condition="'$(Language)' == 'VB'">$(OutputPath)</ActualOutputPath>
|
||||
<FinalOutputPath>$(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\bin</FinalOutputPath>
|
||||
<FinalIntermediateOutputPath>$(RepoRoot)$(Configuration)\$(TargetDotnetProfile)\obj</FinalIntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="HACK_CopyOutputsToTheProperLocation"
|
||||
AfterTargets="AfterBuild"
|
||||
DependsOnTargets="ComputeFinalOutputPaths"
|
||||
Condition="'$(DisableOutputPathCopying)' != 'true'">
|
||||
|
||||
<ItemGroup>
|
||||
<OutputFilesToCopy Include="$(ActualOutputPath)**" />
|
||||
<IntermediateFilesToCopy Include="$(IntermediateOutputPath)\**" />
|
||||
|
@ -33,7 +70,6 @@
|
|||
<Copy SourceFiles="@(IntermediateFilesToCopy)" DestinationFolder="$(FinalIntermediateOutputPath)\%(RecursiveDir)" />
|
||||
</Target>
|
||||
|
||||
<Import Project="build\targets\AssemblyVersions.props" />
|
||||
<Import Project="build\targets\ConvertPortablePdbs.targets" />
|
||||
<Import Project="build\targets\GenerateAssemblyAttributes.targets" />
|
||||
<Import Project="build\targets\GenerateInternalsVisibleTo.targets" />
|
||||
|
|
135
Makefile
135
Makefile
|
@ -1,101 +1,50 @@
|
|||
include $(topsrcdir)mono/config.make
|
||||
Configuration ?= release
|
||||
DotNetVersion = `cat DotnetCLIToolsVersion.txt`
|
||||
DotNetExe = "$(CURDIR)/Tools/dotnet20/dotnet"
|
||||
|
||||
.PHONY: restore build build-proto
|
||||
all: proto restore build test
|
||||
|
||||
restore:
|
||||
MONO_ENV_OPTIONS=$(monoopts) mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile ./NuGet.Config
|
||||
chmod u+x packages/FSharp.Compiler.Tools.4.1.27/tools/fsi.exe
|
||||
chmod u+x packages/FsLexYacc.7.0.6/build/fslex.exe
|
||||
chmod u+x packages/FsLexYacc.7.0.6/build/fsyacc.exe
|
||||
tools:
|
||||
$(CURDIR)/scripts/dotnet-install.sh --version $(DotNetVersion) --install-dir $(CURDIR)/Tools/dotnet20
|
||||
|
||||
# Make the proto using the bootstrap, then make the final compiler using the proto
|
||||
# We call MAKE sequentially because we don't want build-final to explicitly depend on build-proto,
|
||||
# as that causes a complete recompilation of both proto and final everytime you touch the
|
||||
# compiler sources.
|
||||
all:
|
||||
@echo -----------
|
||||
@echo prefix=$(prefix)
|
||||
@echo topdir=$(topdir)
|
||||
@echo monodir=$(monodir)
|
||||
@echo monolibdir=$(monolibdir)
|
||||
@echo monobindir=$(monobindir)
|
||||
@echo -----------
|
||||
$(MAKE) restore
|
||||
$(MAKE) build-proto
|
||||
$(MAKE) build
|
||||
global.json: tools
|
||||
echo { \"sdk\": { \"version\": \"$(DotNetVersion)\" } }>global.json
|
||||
|
||||
build-proto:
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=Proto /p:TargetDotnetProfile=$(TargetDotnetProfile) src/fsharp/FSharp.Build-proto/FSharp.Build-proto.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=Proto /p:TargetDotnetProfile=$(TargetDotnetProfile) src/fsharp/Fsc-proto/Fsc-proto.fsproj
|
||||
proto: global.json
|
||||
$(DotNetExe) build-server shutdown
|
||||
$(DotNetExe) restore src/buildtools/buildtools.proj
|
||||
$(DotNetExe) restore src/fsharp/FSharp.Build/FSharp.Build.fsproj
|
||||
$(DotNetExe) restore src/fsharp/Fsc/Fsc.fsproj
|
||||
$(DotNetExe) build src/buildtools/buildtools.proj -c Proto
|
||||
$(DotNetExe) build src/fsharp/FSharp.Build/FSharp.Build.fsproj -f netstandard2.0 -c Proto
|
||||
$(DotNetExe) build src/fsharp/Fsc/Fsc.fsproj -f netcoreapp2.1 -c Proto
|
||||
|
||||
# The main targets
|
||||
build:
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/FSharp.Build/FSharp.Build.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/Fsc/Fsc.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/fsi/Fsi.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj
|
||||
MONO_ENV_OPTIONS=$(monoopts) $(MSBUILD) /p:Configuration=$(Configuration) /p:TargetDotnetProfile=net40 tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj
|
||||
mkdir -p $(Configuration)/fsharp30/net40/bin
|
||||
mkdir -p $(Configuration)/fsharp31/net40/bin
|
||||
mkdir -p $(Configuration)/fsharp40/net40/bin
|
||||
cp -p packages/FSharp.Core.3.0.2/lib/net40/* $(Configuration)/fsharp30/net40/bin
|
||||
cp -p packages/FSharp.Core.3.1.2.5/lib/net40/* $(Configuration)/fsharp31/net40/bin
|
||||
cp -p packages/FSharp.Core.4.0.0.1/lib/net40/* $(Configuration)/fsharp40/net40/bin
|
||||
mkdir -p $(Configuration)/portable7/bin
|
||||
cp -p packages/FSharp.Core.4.1.17/lib/portable-net45+netcore45/* $(Configuration)/portable7/bin
|
||||
mkdir -p $(Configuration)/portable47/bin
|
||||
cp -p packages/FSharp.Core.4.1.17/lib/portable-net45+sl5+netcore45/* $(Configuration)/portable47/bin
|
||||
mkdir -p $(Configuration)/portable78/bin
|
||||
cp -p packages/FSharp.Core.4.1.17/lib/portable-net45+netcore45+wp8/* $(Configuration)/portable78/bin
|
||||
mkdir -p $(Configuration)/portable259/bin
|
||||
cp -p packages/FSharp.Core.4.1.17/lib/portable-net45+netcore45+wpa81+wp8/* $(Configuration)/portable259/bin
|
||||
mkdir -p $(Configuration)/monoandroid10+monotouch10+xamarinios10/bin
|
||||
cp -p packages/FSharp.Core.4.1.17/lib/portable-net45+monoandroid10+monotouch10+xamarinios10/* $(Configuration)/monoandroid10+monotouch10+xamarinios10/bin
|
||||
mkdir -p $(Configuration)/xamarinmacmobile/bin
|
||||
cp -p packages/FSharp.Core.4.1.17/lib/xamarinmac20/* $(Configuration)/xamarinmacmobile/bin
|
||||
restore: global.json
|
||||
$(DotNetExe) restore src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
$(DotNetExe) restore src/fsharp/FSharp.Build/FSharp.Build.fsproj
|
||||
$(DotNetExe) restore src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
|
||||
$(DotNetExe) restore src/fsharp/Fsc/Fsc.fsproj
|
||||
$(DotNetExe) restore src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj
|
||||
$(DotNetExe) restore src/fsharp/fsi/Fsi.fsproj
|
||||
$(DotNetExe) restore tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj
|
||||
$(DotNetExe) restore tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj
|
||||
|
||||
build: proto restore
|
||||
$(DotNetExe) build-server shutdown
|
||||
$(DotNetExe) build -c $(Configuration) -f netstandard1.6 src/fsharp/FSharp.Core/FSharp.Core.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netstandard2.0 src/fsharp/FSharp.Build/FSharp.Build.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netstandard1.6 src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netcoreapp2.1 src/fsharp/Fsc/Fsc.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netstandard1.6 src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 src/fsharp/fsi/Fsi.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj
|
||||
$(DotNetExe) build -c $(Configuration) -f netcoreapp2.0 tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj
|
||||
|
||||
test: build
|
||||
$(DotNetExe) test -f netcoreapp2.0 -c $(Configuration) --no-restore --no-build tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj -l "trx;LogFileName=$(CURDIR)/tests/TestResults/FSharp.Core.UnitTests.coreclr.trx"
|
||||
$(DotNetExe) test -f netcoreapp2.0 -c $(Configuration) --no-restore --no-build tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj -l "trx;LogFileName=$(CURDIR)/tests/TestResults/FSharp.Build.UnitTests.coreclr.trx"
|
||||
|
||||
install:
|
||||
-rm -fr $(DESTDIR)$(monodir)/fsharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/Microsoft\ F#
|
||||
-rm -fr $(DESTDIR)$(monodir)/Microsoft\ SDKs/F#
|
||||
-rm -fr $(DESTDIR)$(monodir)/msbuild/Microsoft/VisualStudio/v/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/msbuild/Microsoft/VisualStudio/v11.0/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/msbuild/Microsoft/VisualStudio/v12.0/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/msbuild/Microsoft/VisualStudio/v14.0/FSharp
|
||||
-rm -fr $(DESTDIR)$(monodir)/msbuild/Microsoft/VisualStudio/v15.0/FSharp
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=net40 install
|
||||
$(MAKE) -C mono/FSharp.Build install
|
||||
$(MAKE) -C mono/FSharp.Compiler.Private install
|
||||
$(MAKE) -C mono/Fsc install
|
||||
$(MAKE) -C mono/FSharp.Compiler.Interactive.Settings install
|
||||
$(MAKE) -C mono/FSharp.Compiler.Server.Shared install
|
||||
$(MAKE) -C mono/fsi install
|
||||
$(MAKE) -C mono/fsiAnyCpu install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=net40 FSharpCoreBackVersion=3.0 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=net40 FSharpCoreBackVersion=3.1 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=net40 FSharpCoreBackVersion=4.0 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=portable47 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=portable7 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=portable78 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=portable259 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=monoandroid10+monotouch10+xamarinios10 install
|
||||
$(MAKE) -C mono/FSharp.Core TargetDotnetProfile=xamarinmacmobile install
|
||||
echo "------------------------------ INSTALLED FILES --------------"
|
||||
ls -xlR $(DESTDIR)$(monodir)/fsharp $(DESTDIR)$(monodir)/msbuild $(DESTDIR)$(monodir)/xbuild $(DESTDIR)$(monodir)/Reference\ Assemblies $(DESTDIR)$(monodir)/gac/FSharp* $(DESTDIR)$(monodir)/Microsoft* || true
|
||||
|
||||
dist:
|
||||
-rm -r fsharp-$(DISTVERSION) fsharp-$(DISTVERSION).tar.bz2
|
||||
mkdir -p fsharp-$(DISTVERSION)
|
||||
(cd $(topdir) && git archive HEAD |(cd $(builddir)fsharp-$(DISTVERSION) && tar xf -))
|
||||
list='$(EXTRA_DIST)'; for s in $$list; do \
|
||||
(cp $(topdir)$$s fsharp-$(DISTVERSION)/$$s) \
|
||||
done;
|
||||
tar cvjf fsharp-$(DISTVERSION).tar.bz2 $(patsubst %,--exclude=%, $(NO_DIST)) fsharp-$(DISTVERSION)
|
||||
du -b fsharp-$(DISTVERSION).tar.bz2
|
||||
|
||||
clean:
|
||||
rm -rf $(CURDIR)/Proto
|
||||
rm -rf $(CURDIR)/debug
|
||||
rm -rf $(CURDIR)/release
|
||||
|
|
16
NuGet.Config
16
NuGet.Config
|
@ -1,22 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
|
||||
<solution>
|
||||
<add key="disableSourceControlIntegration" value="true" />
|
||||
</solution>
|
||||
<packageSources>
|
||||
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
|
||||
<clear />
|
||||
<add key="artifacts" value="./artifacts" />
|
||||
<add key="artifacts" value="./artifacts/4.2" />
|
||||
<add key="myget.org fsharp-daily" value="https://www.myget.org/F/fsharp-daily/api/v3/index.json" />
|
||||
<add key="myget.org roslyn-master-nightly" value="https://dotnet.myget.org/F/roslyn-master-nightly/api/v3/index.json" />
|
||||
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
||||
<add key="myget.org dotnet-buildtools" value="https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json" />
|
||||
<add key="myget.org roslyn-tools" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
|
||||
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
|
||||
<add key="myget.org roslyn" value="https://dotnet.myget.org/F/roslyn/api/v3/index.json" />
|
||||
<add key="myget.org symreader-converter" value="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json" />
|
||||
</packageSources>
|
||||
|
||||
</configuration>
|
||||
|
|
|
@ -1 +1 @@
|
|||
2.9.0-beta8-63208-01
|
||||
2.9.0-beta8-63208-01
|
||||
|
|
|
@ -1,165 +0,0 @@
|
|||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
|
||||
<!-- +++++++++++++++++++++++ Project selection for building +++++++++++++++++++++++++++++++ -->
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_NET40_FSHARP_CORE)'=='1'">
|
||||
<ProjectsWithNet40 Include="src/fsharp/FSharp.Core/FSharp.Core.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_NET40)'=='1'">
|
||||
<ProjectsWithNet40 Include="src/fsharp/FSharp.Build/FSharp.Build.fsproj" />
|
||||
<ProjectsWithNet40 Include="src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj" />
|
||||
<ProjectsWithNet40 Include="src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj"/>
|
||||
<ProjectsWithNet40 Include="src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj" />
|
||||
<ProjectsWithNet40 Include="src/fsharp/Fsc/Fsc.fsproj" />
|
||||
<ProjectsWithNet40 Include="src/fsharp/fsi/Fsi.fsproj" />
|
||||
<ProjectsWithNet40 Include="src/fsharp/fsiAnyCpu/FsiAnyCPU.fsproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_CORECLR)'=='1'">
|
||||
<ProjectsWithCoreClr Include="src/fsharp/FSharp.Core/FSharp.Core.fsproj" />
|
||||
<ProjectsWithCoreClr Include="src/fsharp/FSharp.Build/FSharp.Build.fsproj" />
|
||||
<ProjectsWithCoreClr Include="src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj" />
|
||||
<ProjectsWithCoreClr Include="src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj" />
|
||||
<ProjectsWithCoreClr Include="src/fsharp/Fsc/Fsc.fsproj" />
|
||||
<ProjectsWithCoreClr Include="src/fsharp/fsi/Fsi.fsproj" />
|
||||
<ProjectsWithCoreClr Include="src/fsharp/FSharp.Compiler.nuget/Testing.FSharp.Compiler.nuget.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_VS)'=='1'">
|
||||
<ProjectsWithNet40 Include="vsintegration/fsharp-vsintegration-src-build.proj" />
|
||||
<ProjectsWithNet40 Include="vsintegration/Utils/LanguageServiceProfiling/LanguageServiceProfiling.fsproj" />
|
||||
<ProjectsWithNet40 Include="vsintegration/fsharp-vsintegration-item-templates-build.proj" />
|
||||
<ProjectsWithNet40 Include="vsintegration/fsharp-vsintegration-project-templates-build.proj" />
|
||||
<ProjectsWithNet40 Include="vsintegration/fsharp-vsintegration-vsix-build.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(BUILD_VS)'=='1'">
|
||||
<RestoreVSIntegration>true</RestoreVSIntegration>
|
||||
<RestoreLanguageServiceProfiling>true</RestoreLanguageServiceProfiling>
|
||||
<RestoreVSIntegrationItemTemplates>true</RestoreVSIntegrationItemTemplates>
|
||||
<RestoreVSIntegrationProjectTemplates>true</RestoreVSIntegrationProjectTemplates>
|
||||
<RestoreVSIntegrationVsix>true</RestoreVSIntegrationVsix>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_FCS)'=='1'">
|
||||
<ProjectsWithNet40 Include="fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj" />
|
||||
<ProjectsWithNet40 Include="fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj" />
|
||||
<ProjectsWithNet40 Include="fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj" />
|
||||
<ProjectsWithNet40 Include="fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj" />
|
||||
|
||||
<ProjectsToRestore Include="fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj" />
|
||||
<ProjectsToRestore Include="fcs/FSharp.Compiler.Service.MSBuild.v12/FSharp.Compiler.Service.MSBuild.v12.fsproj" />
|
||||
<ProjectsToRestore Include="fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj" />
|
||||
<ProjectsToRestore Include="fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_SETUP)'=='1'">
|
||||
<SetupProjects Include="setup/fsharp-setup-build.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- +++++++++++++++++++++++ Project selection for testing +++++++++++++++++++++++++++++++ -->
|
||||
|
||||
<ItemGroup Condition="'$(TEST_NET40_COMPILERUNIT_SUITE)'=='1'" >
|
||||
<ProjectsWithNet40 Include="tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj"/>
|
||||
<ProjectsWithNet40 Include="tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_CORECLR_COREUNIT_SUITE)'=='1'">
|
||||
<ProjectsWithCoreClr Include="tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj"/>
|
||||
<ProjectsWithCoreClr Include="tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_NET40_COMPILERUNIT_SUITE)'=='1'" >
|
||||
<ProjectsWithNet40 Include="tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_NET40_FSHARP_SUITE)'=='1'" >
|
||||
<ProjectsWithNet40 Include="tests/fsharp/FSharp.Tests.FSharpSuite.fsproj" />
|
||||
<ProjectsWithNet40 Include="tests/fsharp/SDKTests/AllSdkTargetsTests.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_CORECLR_FSHARP_SUITE)'=='1'" >
|
||||
<ProjectsWithCoreClr Include="tests/fsharp/FSharp.Tests.FSharpSuite.DrivingCoreCLR/FSharp.Tests.FSharpSuite.DrivingCoreCLR.fsproj" />
|
||||
<ProjectsWithCoreClr Include="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Condition="'$(TEST_CORECLR_FSHARP_SUITE)'=='1'">
|
||||
<RestorePEVerify>true</RestorePEVerify>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_NET40_FSHARPQA_SUITE)'=='1' OR '$(TEST_NET40_FSHARP_SUITE)'=='1'" >
|
||||
<ProjectsWithNet40 Include="tests/fsharpqa/testenv/src/ILComparer/ILComparer.fsproj" />
|
||||
<ProjectsWithNet40 Include="tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj" />
|
||||
<ProjectsWithNet40 Include="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Condition="'$(TEST_NET40_FSHARPQA_SUITE)'=='1' OR '$(TEST_NET40_FSHARP_SUITE)'=='1'">
|
||||
<RestorePEVerify>true</RestorePEVerify>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_FCS)'=='1'" >
|
||||
<ProjectsWithNet40 Include="fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj" />
|
||||
<ProjectsWithCoreClr Include="tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj" />
|
||||
|
||||
<ProjectsToRestore Include="tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj" />
|
||||
<ProjectsToRestore Include="fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BUILD_VS)'=='1' OR '$(TEST_VS_IDEUNIT_SUITE)'=='1'">
|
||||
<!-- always restore these so VisualFSharp.sln is usable -->
|
||||
<ProjectsToRestore Include="vsintegration/fsharp-vsintegration-unittests-build.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TEST_VS_IDEUNIT_SUITE)'=='1'">
|
||||
<ProjectsWithNet40 Include="vsintegration/fsharp-vsintegration-unittests-build.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TEST_VS_IDEUNIT_SUITE)'=='1'">
|
||||
<RestoreVSIntegrationUnitTests>true</RestoreVSIntegrationUnitTests>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectsToRestore Include="tests/fsharpqa/testenv/src/PEVerify/PEVerify.csproj" Condition="'$(RestorePEVerify)' == 'true'" />
|
||||
<ProjectsToRestore Include="vsintegration/Utils/LanguageServiceProfiling/LanguageServiceProfiling.fsproj" Condition="'$(RestoreLanguageServiceProfiling)' == 'true'" />
|
||||
<ProjectsToRestore Include="vsintegration/fsharp-vsintegration-src-build.proj" Condition="'$(RestoreVSIntegration)' == 'true'" />
|
||||
<ProjectsToRestore Include="vsintegration/fsharp-vsintegration-unittests-build.proj" Condition="'$(RestoreVSIntegrationUnitTests)' == 'true'" />
|
||||
<ProjectsToRestore Include="vsintegration/fsharp-vsintegration-item-templates-build.proj" Condition="'$(RestoreVSIntegrationItemTemplates)' == 'true'" />
|
||||
<ProjectsToRestore Include="vsintegration/fsharp-vsintegration-project-templates-build.proj" Condition="'$(RestoreVSIntegrationProjectTemplates)' == 'true'" />
|
||||
<ProjectsToRestore Include="vsintegration/fsharp-vsintegration-vsix-build.proj" Condition="'$(RestoreVSIntegrationVsix)' == 'true'" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- +++++++++++++++++++++++ Targets +++++++++++++++++++++++++++++++ -->
|
||||
|
||||
<Target Name="Build">
|
||||
<MSBuild Projects="@(ProjectsWithNet40)" Targets="Build" BuildInParallel="true" Properties="Configuration=$(Configuration);TargetDotnetProfile=net40;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(ProjectsWithCoreClr)" Targets="Build" BuildInParallel="false" Properties="Configuration=$(Configuration);TargetDotnetProfile=coreclr;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(NugetProjects)" Targets="Build" BuildInParallel="false" Properties="Configuration=$(Configuration);$(CustomProps)" />
|
||||
<MSBuild Projects="@(SetupProjects)" Targets="Build" BuildInParallel="false" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Rebuild">
|
||||
<MSBuild Projects="@(ProjectsWithNet40)" Targets="Rebuild" BuildInParallel="true" Properties="Configuration=$(Configuration);TargetDotnetProfile=net40;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(ProjectsWithNet40PlusDefine)" Targets="Rebuild" BuildInParallel="true" Properties="Configuration=$(Configuration);TargetDotnetProfile=net40;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);FSHARP_SUITE_DRIVES_CORECLR_TESTS=true;$(CustomProps)" />
|
||||
<MSBuild Projects="@(ProjectsWithCoreClr)" Targets="Rebuild" BuildInParallel="false" Properties="Configuration=$(Configuration);TargetDotnetProfile=coreclr;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(NugetProjects)" Targets="Rebuild" BuildInParallel="false" Properties="Configuration=$(Configuration);$(CustomProps)" />
|
||||
<MSBuild Projects="@(SetupProjects)" Targets="Rebuild" BuildInParallel="false" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean">
|
||||
<MSBuild Projects="@(ProjectsWithNet40)" Targets="Clean" BuildInParallel="true" Properties="Configuration=$(Configuration);TargetDotnetProfile=net40;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(ProjectsWithNet40PlusDefine)" Targets="Clean" BuildInParallel="true" Properties="Configuration=$(Configuration);TargetDotnetProfile=net40;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);FSHARP_SUITE_DRIVES_CORECLR_TESTS=true;$(CustomProps)" />
|
||||
<MSBuild Projects="@(ProjectsWithCoreClr)" Targets="Clean" BuildInParallel="false" Properties="Configuration=$(Configuration);TargetDotnetProfile=coreclr;BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(NugetProjects)" Targets="Clean" BuildInParallel="false" Properties="Configuration=$(Configuration);$(CustomProps)" />
|
||||
<MSBuild Projects="@(SetupProjects)" Targets="Clean" BuildInParallel="false" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Restore">
|
||||
<MSBuild Projects="@(ProjectsToRestore)" Targets="Restore" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
@ -2,20 +2,12 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
|
||||
<ItemGroup>
|
||||
<PackageProjects Include="src\fsharp\FSharp.Compiler.nuget\Microsoft.FSharp.Compiler.nuget.proj" Condition="'$(BUILD_CORECLR)'=='1'" />
|
||||
<PackageProjects Include="src\fsharp\FSharp.Core.nuget\FSharp.Core.nuget.proj" Condition="'$(BUILD_NUGET)'=='1'" />
|
||||
<PackageProjects Include="src\fsharp\FSharp.Compiler.nuget\Microsoft.FSharp.Compiler.csproj" Condition="'$(BUILD_CORECLR)'=='1'" />
|
||||
<PackageProjects Include="src\fsharp\FSharp.Core\FSharp.Core.fsproj" Condition="'$(BUILD_NUGET)'=='1'" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
<MSBuild Projects="@(PackageProjects)" Targets="Build" BuildInParallel="true" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Rebuild">
|
||||
<MSBuild Projects="@(PackageProjects)" Targets="Rebuild" BuildInParallel="true" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean">
|
||||
<MSBuild Projects="@(PackageProjects)" Targets="Clean" BuildInParallel="true" Properties="Configuration=$(Configuration)" />
|
||||
<Target Name="Pack">
|
||||
<MSBuild Projects="@(PackageProjects)" Targets="Pack" BuildInParallel="true" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
456
build.cmd
456
build.cmd
|
@ -76,7 +76,6 @@ set TEST_CORECLR_FSHARP_SUITE=0
|
|||
set TEST_VS_IDEUNIT_SUITE=0
|
||||
set TEST_FCS=0
|
||||
set TEST_END_2_END=0
|
||||
set INCLUDE_TEST_SPEC_NUNIT=
|
||||
set INCLUDE_TEST_TAGS=
|
||||
|
||||
set COPY_FSCOMP_RESOURCE_FOR_BUILD_FROM_SOURCES=0
|
||||
|
@ -345,7 +344,6 @@ if /i "%ARG%" == "no-test" (
|
|||
|
||||
if /i "%ARG%" == "include" (
|
||||
set /a counter=!counter!+1
|
||||
if "!INCLUDE_TEST_SPEC_NUNIT!" == "" ( set INCLUDE_TEST_SPEC_NUNIT=cat == %ARG2% ) else (set INCLUDE_TEST_SPEC_NUNIT=cat == %ARG2% or !INCLUDE_TEST_SPEC_NUNIT! )
|
||||
if "!INCLUDE_TEST_TAGS!" == "" ( set INCLUDE_TEST_TAGS=%ARG2% ) else (set INCLUDE_TEST_TAGS=%ARG2%;!INCLUDE_TEST_TAGS! )
|
||||
)
|
||||
|
||||
|
@ -465,22 +463,6 @@ if /i "%TEST_NET40_FSHARP_SUITE" == "1" (
|
|||
)
|
||||
)
|
||||
|
||||
if /i "%BUILD_PROTO_WITH_CORECLR_LKG%" == "1" (
|
||||
set NEEDS_DOTNET_CLI_TOOLS=1
|
||||
)
|
||||
|
||||
if /i "%BUILD_CORECLR%" == "1" (
|
||||
set NEEDS_DOTNET_CLI_TOOLS=1
|
||||
)
|
||||
|
||||
if /i "%BUILD_FROMSOURCE%" == "1" (
|
||||
set NEEDS_DOTNET_CLI_TOOLS=1
|
||||
)
|
||||
|
||||
if /i "%BUILD_FCS%" == "1" (
|
||||
set NEEDS_DOTNET_CLI_TOOLS=1
|
||||
)
|
||||
|
||||
rem Decide if Proto need building
|
||||
if NOT EXIST Proto\net40\bin\fsc.exe (
|
||||
set BUILD_PROTO=1
|
||||
|
@ -525,7 +507,6 @@ echo TEST_NET40_FSHARPQA_SUITE=%TEST_NET40_FSHARPQA_SUITE%
|
|||
echo TEST_CORECLR_COREUNIT_SUITE=%TEST_CORECLR_COREUNIT_SUITE%
|
||||
echo TEST_CORECLR_FSHARP_SUITE=%TEST_CORECLR_FSHARP_SUITE%
|
||||
echo TEST_VS_IDEUNIT_SUITE=%TEST_VS_IDEUNIT_SUITE%
|
||||
echo INCLUDE_TEST_SPEC_NUNIT=%INCLUDE_TEST_SPEC_NUNIT%
|
||||
echo INCLUDE_TEST_TAGS=%INCLUDE_TEST_TAGS%
|
||||
echo TEMP=%TEMP%
|
||||
|
||||
|
@ -562,24 +543,12 @@ set TargetFrameworkSDKToolsDirectory=%WindowsSDK_ExecutablePath_x64%
|
|||
if not "%TargetFrameworkSDKToolsDirectory%" == "" ( goto have_TargetFrameworkSDKToolsDirectory )
|
||||
set TargetFrameworkSDKToolsDirectory=%WindowsSDK_ExecutablePath_x86%
|
||||
|
||||
:have_TargetFrameworkSDKToolsDirectory
|
||||
|
||||
set BuildToolsPackage=Microsoft.VSSDK.BuildTools.15.6.170
|
||||
if "%VSSDKInstall%"=="" (
|
||||
set VSSDKInstall=%~dp0packages\%BuildToolsPackage%\tools\vssdk
|
||||
)
|
||||
if "%VSSDKToolsPath%"=="" (
|
||||
set VSSDKToolsPath=%~dp0packages\%BuildToolsPackage%\tools\vssdk\bin
|
||||
)
|
||||
if "%VSSDKIncludes%"=="" (
|
||||
set VSSDKIncludes=%~dp0packages\%BuildToolsPackage%\tools\vssdk\inc
|
||||
)
|
||||
:have_TargetFrameworkSDKToolsDirectory
|
||||
|
||||
if "%RestorePackages%"=="" (
|
||||
set RestorePackages=true
|
||||
)
|
||||
|
||||
@echo VSSDKInstall: %VSSDKInstall%
|
||||
@echo VSSDKToolsPath: %VSSDKToolsPath%
|
||||
@echo VSSDKIncludes: %VSSDKIncludes%
|
||||
@echo TargetFrameworkSDKToolsDirectory: %TargetFrameworkSDKToolsDirectory%
|
||||
|
@ -639,8 +608,26 @@ if not exist %_ngenexe% echo Error: Could not find ngen.exe. && goto :failure
|
|||
|
||||
echo ---------------- Done with prepare, starting package restore ----------------
|
||||
|
||||
set _nugetexe="%~dp0.nuget\NuGet.exe"
|
||||
set _nugetconfig="%~dp0NuGet.Config"
|
||||
:: create a global.json
|
||||
set /p DOTNET_TOOLS_VERSION=<"%~dp0DotnetCLIToolsVersion.txt"
|
||||
echo { "sdk": { "version": "%DOTNET_TOOLS_VERSION%" } }>global.json
|
||||
|
||||
:: Restore the Tools directory
|
||||
call "%~dp0init-tools.cmd"
|
||||
set _dotnetexe=%~dp0Tools\dotnet20\dotnet.exe
|
||||
set path=%~dp0Tools\dotnet20\;%path%
|
||||
|
||||
if not "%PB_PackageVersionPropsUrl%" == "" (
|
||||
echo ----------- do dependency uptake check -----------
|
||||
|
||||
set dependencyUptakeDir=%~dp0Tools\dependencyUptake
|
||||
if not exist "!dependencyUptakeDir!" mkdir "!dependencyUptakeDir!"
|
||||
|
||||
:: download package version overrides
|
||||
echo powershell -noprofile -executionPolicy RemoteSigned -command "Invoke-WebRequest -Uri '%PB_PackageVersionPropsUrl%' -OutFile '!dependencyUptakeDir!\PackageVersions.props'"
|
||||
powershell -noprofile -executionPolicy RemoteSigned -command "Invoke-WebRequest -Uri '%PB_PackageVersionPropsUrl%' -OutFile '!dependencyUptakeDir!\PackageVersions.props'"
|
||||
if ERRORLEVEL 1 echo Error downloading package version properties && goto :failure
|
||||
)
|
||||
|
||||
if "%RestorePackages%" == "true" (
|
||||
if "%BUILD_FCS%" == "1" (
|
||||
|
@ -649,106 +636,8 @@ if "%RestorePackages%" == "true" (
|
|||
cd..
|
||||
@if ERRORLEVEL 1 echo Error: Paket restore failed && goto :failure
|
||||
)
|
||||
|
||||
%_ngenexe% install %_nugetexe% /nologo
|
||||
set _nugetoptions=-PackagesDirectory packages -ConfigFile %_nugetconfig%
|
||||
if not "%PB_RESTORESOURCE%" == "" (
|
||||
set _nugetoptions=!_nugetoptions! -FallbackSource %PB_RESTORESOURCE%
|
||||
)
|
||||
|
||||
echo _nugetoptions=!_nugetoptions!
|
||||
|
||||
%_nugetexe% restore packages.config !_nugetoptions!
|
||||
@if ERRORLEVEL 1 echo Error: Nuget restore failed && goto :failure
|
||||
|
||||
if "%BUILD_SETUP%" == "1" (
|
||||
%_nugetexe% restore setup\packages.config !_nugetoptions!
|
||||
@if ERRORLEVEL 1 echo Error: Nuget restore failed && goto :failure
|
||||
)
|
||||
|
||||
if not "%SIGN_TYPE%" == "" (
|
||||
set signtoolnugetoptions=-PackagesDirectory "%USERPROFILE%\.nuget\packages" -ConfigFile %_nugetconfig%
|
||||
if not "%PB_RESTORESOURCE%" == "" set signtoolnugetoptions=!signtoolnugetoptions! -FallbackSource %PB_RESTORESOURCE%
|
||||
%_nugetexe% restore build\config\packages.config !signtoolnugetoptions!
|
||||
@if ERRORLEVEL 1 echo Error: Nuget restore failed && goto :failure
|
||||
)
|
||||
|
||||
set restore_fsharp_suite=0
|
||||
if "%TEST_NET40_FSHARP_SUITE%" == "1" set restore_fsharp_suite=1
|
||||
if "%TEST_CORECLR_FSHARP_SUITE%" == "1" set restore_fsharp_suite=1
|
||||
|
||||
if "!restore_fsharp_suite!" == "1" (
|
||||
%_nugetexe% restore tests\fsharp\packages.config !_nugetoptions!
|
||||
@if ERRORLEVEL 1 echo Error: Nuget restore failed && goto :failure
|
||||
)
|
||||
)
|
||||
|
||||
if "%NEEDS_DOTNET_CLI_TOOLS%" == "1" (
|
||||
:: Restore the Tools directory
|
||||
call "%~dp0init-tools.cmd"
|
||||
)
|
||||
set _dotnetcliexe=%~dp0Tools\dotnetcli\dotnet.exe
|
||||
set _dotnet20exe=%~dp0Tools\dotnet20\dotnet.exe
|
||||
set NUGET_PACKAGES=%~dp0packages
|
||||
set path=%~dp0Tools\dotnet20\;%path%
|
||||
|
||||
echo ----------- Done with package restore, starting dependency uptake check -------------
|
||||
|
||||
if not "%PB_PackageVersionPropsUrl%" == "" (
|
||||
set dependencyUptakeDir=%~dp0Tools\dependencyUptake
|
||||
if not exist "!dependencyUptakeDir!" mkdir "!dependencyUptakeDir!"
|
||||
|
||||
:: download package version overrides
|
||||
echo powershell -noprofile -executionPolicy RemoteSigned -command "Invoke-WebRequest -Uri '%PB_PackageVersionPropsUrl%' -OutFile '!dependencyUptakeDir!\PackageVersions.props'"
|
||||
powershell -noprofile -executionPolicy RemoteSigned -command "Invoke-WebRequest -Uri '%PB_PackageVersionPropsUrl%' -OutFile '!dependencyUptakeDir!\PackageVersions.props'"
|
||||
if ERRORLEVEL 1 echo Error downloading package version properties && goto :failure
|
||||
|
||||
:: prepare dependency uptake files
|
||||
echo %_msbuildexe% %msbuildflags% %~dp0build\projects\PrepareDependencyUptake.proj /t:Build
|
||||
%_msbuildexe% %msbuildflags% %~dp0build\projects\PrepareDependencyUptake.proj /t:Build
|
||||
if ERRORLEVEL 1 echo Error building dependency uptake files && goto :failure
|
||||
|
||||
:: restore dependencies
|
||||
%_nugetexe% restore !dependencyUptakeDir!\packages.config -PackagesDirectory packages -ConfigFile !dependencyUptakeDir!\NuGet.config
|
||||
if ERRORLEVEL 1 echo Error restoring dependency uptake packages && goto :failure
|
||||
|
||||
:: set DotNetPackageVersionPropsPath
|
||||
set DotNetPackageVersionPropsPath=!dependencyUptakeDir!\PackageVersions.props
|
||||
)
|
||||
|
||||
echo ----------- Done with package restore, starting dependency uptake check -------------
|
||||
|
||||
if not "%PB_PackageVersionPropsUrl%" == "" (
|
||||
set dependencyUptakeDir=%~dp0Tools\dependencyUptake
|
||||
if not exist "!dependencyUptakeDir!" mkdir "!dependencyUptakeDir!"
|
||||
|
||||
:: download package version overrides
|
||||
echo powershell -noprofile -executionPolicy RemoteSigned -command "Invoke-WebRequest -Uri '%PB_PackageVersionPropsUrl%' -OutFile '!dependencyUptakeDir!\PackageVersions.props'"
|
||||
powershell -noprofile -executionPolicy RemoteSigned -command "Invoke-WebRequest -Uri '%PB_PackageVersionPropsUrl%' -OutFile '!dependencyUptakeDir!\PackageVersions.props'"
|
||||
if ERRORLEVEL 1 echo Error downloading package version properties && goto :failure
|
||||
|
||||
:: prepare dependency uptake files
|
||||
echo %_msbuildexe% %msbuildflags% %~dp0build\projects\PrepareDependencyUptake.proj /t:Build
|
||||
%_msbuildexe% %msbuildflags% %~dp0build\projects\PrepareDependencyUptake.proj /t:Build
|
||||
if ERRORLEVEL 1 echo Error building dependency uptake files && goto :failure
|
||||
|
||||
:: restore dependencies
|
||||
%_nugetexe% restore !dependencyUptakeDir!\packages.config -PackagesDirectory packages -ConfigFile !dependencyUptakeDir!\NuGet.config
|
||||
if ERRORLEVEL 1 echo Error restoring dependency uptake packages && goto :failure
|
||||
)
|
||||
|
||||
set _dotnetcliexe=%~dp0Tools\dotnetcli\dotnet.exe
|
||||
set _dotnet20exe=%~dp0Tools\dotnet20\dotnet.exe
|
||||
set NUGET_PACKAGES=%~dp0Packages
|
||||
set path=%~dp0Tools\dotnet20\;%path%
|
||||
|
||||
set _fsiexe="packages\FSharp.Compiler.Tools.4.1.27\tools\fsi.exe"
|
||||
if not exist %_fsiexe% echo Error: Could not find %_fsiexe% && goto :failure
|
||||
%_ngenexe% install %_fsiexe% /nologo
|
||||
|
||||
if not exist %_nugetexe% echo Error: Could not find %_nugetexe% && goto :failure
|
||||
%_ngenexe% install %_nugetexe% /nologo
|
||||
|
||||
echo ---------------- Done with package restore, verify buildfrom source ---------------
|
||||
if "%BUILD_PROTO_WITH_CORECLR_LKG%" == "1" (
|
||||
pushd src
|
||||
|
@ -763,46 +652,26 @@ if not exist "!logdir!" mkdir "!logdir!"
|
|||
|
||||
rem Build Proto
|
||||
if "%BUILD_PROTO%" == "1" (
|
||||
rmdir /s /q Proto
|
||||
rmdir /s /q Proto
|
||||
|
||||
if "%BUILD_PROTO_WITH_CORECLR_LKG%" == "1" (
|
||||
echo %_msbuildexe% proto.proj /t:Restore /bl:%~dp0Proto\proto.proj.restore.binlog
|
||||
%_msbuildexe% proto.proj /t:Restore /bl:%~dp0Proto\proto.proj.restore.binlog
|
||||
@if ERRORLEVEL 1 echo Error restoring proto failed && goto :failure
|
||||
|
||||
echo %_msbuildexe% %msbuildflags% src\fsharp-proto-build.proj /p:BUILD_PROTO_WITH_CORECLR_LKG=%BUILD_PROTO_WITH_CORECLR_LKG% /p:Configuration=Proto /p:DisableLocalization=true /bl:%~dp0%BUILD_CONFIG%\logs\protobuild-coreclr.build.binlog
|
||||
%_msbuildexe% %msbuildflags% src\fsharp-proto-build.proj /p:BUILD_PROTO_WITH_CORECLR_LKG=%BUILD_PROTO_WITH_CORECLR_LKG% /p:Configuration=Proto /p:DisableLocalization=true /bl:%~dp0%BUILD_CONFIG%\logs\protobuild-coreclr.build.binlog
|
||||
@if ERRORLEVEL 1 echo Error: compiler proto build failed && goto :failure
|
||||
)
|
||||
|
||||
if "%BUILD_PROTO_WITH_CORECLR_LKG%" == "0" (
|
||||
|
||||
echo %_ngenexe% install packages\FSharp.Compiler.Tools.4.1.27\tools\fsc.exe /nologo
|
||||
%_ngenexe% install packages\FSharp.Compiler.Tools.4.1.27\tools\fsc.exe /nologo
|
||||
|
||||
echo %_msbuildexe% %msbuildflags% src\fsharp-proto-build.proj /p:BUILD_PROTO_WITH_CORECLR_LKG=%BUILD_PROTO_WITH_CORECLR_LKG% /p:Configuration=Proto /p:DisableLocalization=true /bl:%~dp0%BUILD_CONFIG%\logs\protobuild-net40.build.binlog
|
||||
%_msbuildexe% %msbuildflags% src\fsharp-proto-build.proj /p:BUILD_PROTO_WITH_CORECLR_LKG=%BUILD_PROTO_WITH_CORECLR_LKG% /p:Configuration=Proto /p:DisableLocalization=true /bl:%~dp0%BUILD_CONFIG%\logs\protobuild-net40.build.binlog
|
||||
@if ERRORLEVEL 1 echo Error: compiler proto build failed && goto :failure
|
||||
)
|
||||
|
||||
echo %_ngenexe% install Proto\net40\bin\fsc.exe /nologo
|
||||
%_ngenexe% install Proto\net40\bin\fsc.exe /nologo
|
||||
@if ERRORLEVEL 1 echo Error: NGen of proto failed && goto :failure
|
||||
)
|
||||
|
||||
if "%NEEDS_DOTNET_CLI_TOOLS%" == "1" (
|
||||
echo ---------------- Done with proto, starting SDK restore ------------------------
|
||||
:: Restore projects using dotnet CLI tool
|
||||
echo %_dotnet20exe% restore -v:d build-everything.proj %msbuildflags% %BUILD_DIAG%
|
||||
%_dotnet20exe% restore -v:d build-everything.proj %msbuildflags% %BUILD_DIAG%
|
||||
echo %_msbuildexe% proto.proj /t:Build /bl:%~dp0Proto\proto.proj.build.binlog
|
||||
%_msbuildexe% proto.proj /t:Build /bl:%~dp0Proto\proto.proj.build.binlog
|
||||
@if ERRORLEVEL 1 echo Error building proto failed && goto :failure
|
||||
)
|
||||
|
||||
echo ---------------- Done with SDK restore, starting build ------------------------
|
||||
|
||||
if "%BUILD_PHASE%" == "1" (
|
||||
|
||||
echo %_msbuildexe% %msbuildflags% build-everything.proj /t:Restore %BUILD_DIAG% /bl:%~dp0%BUILD_CONFIG%\net40\binmsbuild.build-everything.restore.%BUILD_CONFIG%.binlog
|
||||
%_msbuildexe% %msbuildflags% build-everything.proj /t:Restore %BUILD_DIAG% /bl:%~dp0%BUILD_CONFIG%\net40\binmsbuild.build-everything.restore.%BUILD_CONFIG%.binlog
|
||||
echo %_msbuildexe% fsharp.proj /t:Restore /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.restore.binlog
|
||||
%_msbuildexe% fsharp.proj /t:Restore /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.restore.binlog
|
||||
|
||||
echo %_msbuildexe% %msbuildflags% build-everything.proj /p:Configuration=%BUILD_CONFIG% %BUILD_DIAG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-everything.build.%BUILD_CONFIG%.binlog
|
||||
%_msbuildexe% %msbuildflags% build-everything.proj /p:Configuration=%BUILD_CONFIG% %BUILD_DIAG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-everything.build.%BUILD_CONFIG%.binlog
|
||||
echo %_msbuildexe% fsharp.proj /t:Build /p:Configuration=%BUILD_CONFIG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.build.binlog
|
||||
%_msbuildexe% fsharp.proj /t:Build /p:Configuration=%BUILD_CONFIG% /p:BUILD_PUBLICSIGN=%BUILD_PUBLICSIGN% /bl:%~dp0%BUILD_CONFIG%\fsharp.proj.build.binlog
|
||||
|
||||
@if ERRORLEVEL 1 echo Error build failed && goto :failure
|
||||
)
|
||||
|
@ -811,6 +680,7 @@ echo ---------------- Done with build, starting assembly version checks --------
|
|||
set asmvercheckpath=%~dp0tests\fsharpqa\testenv\src\AssemblyVersionCheck
|
||||
|
||||
if "%BUILD_NET40%" == "1" (
|
||||
echo #r @"%USERPROFILE%\.nuget\packages\Newtonsoft.Json\9.0.1\lib\net45\Newtonsoft.Json.dll">%asmvercheckpath%\assemblies.fsx
|
||||
echo "%~dp0%BUILD_CONFIG%\net40\bin\fsi.exe" "%asmvercheckpath%\AssemblyVersionCheck.fsx" -- "%~dp0build\config\AssemblySignToolData.json" "%~dp0%BUILD_CONFIG%"
|
||||
"%~dp0%BUILD_CONFIG%\net40\bin\fsi.exe" "%asmvercheckpath%\AssemblyVersionCheck.fsx" -- "%~dp0build\config\AssemblySignToolData.json" "%~dp0%BUILD_CONFIG%"
|
||||
if ERRORLEVEL 1 echo Error verifying assembly versions and commit hashes. && goto :failure
|
||||
|
@ -819,20 +689,24 @@ if "%BUILD_NET40%" == "1" (
|
|||
echo ---------------- Done with assembly version checks, starting assembly signing ---------------
|
||||
|
||||
if not "%SIGN_TYPE%" == "" (
|
||||
echo build\scripts\run-signtool.cmd -MSBuild %_msbuildexe% -SignType %SIGN_TYPE% -Configuration %BUILD_CONFIG% -ConfigFile build\config\AssemblySignToolData.json
|
||||
call build\scripts\run-signtool.cmd -MSBuild %_msbuildexe% -SignType %SIGN_TYPE% -Configuration %BUILD_CONFIG% -ConfigFile build\config\AssemblySignToolData.json
|
||||
echo %_msbuildexe% build\projects\Signing.proj /t:Restore
|
||||
%_msbuildexe% build\projects\Signing.proj /t:Restore
|
||||
|
||||
echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\AssemblySignToolData.json
|
||||
%_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\AssemblySignToolData.json
|
||||
|
||||
if ERRORLEVEL 1 echo Error running sign tool && goto :failure
|
||||
)
|
||||
|
||||
echo ---------------- Done with assembly signing, start package creation ---------------
|
||||
|
||||
echo %_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog
|
||||
%_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog
|
||||
echo %_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /t:Pack /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog
|
||||
%_msbuildexe% %msbuildflags% build-nuget-packages.proj /p:Configuration=%BUILD_CONFIG% /t:Pack /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.build-nuget-packages.build.%BUILD_CONFIG%.binlog
|
||||
if ERRORLEVEL 1 echo Error building NuGet packages && goto :failure
|
||||
|
||||
if not "%SIGN_TYPE%" == "" (
|
||||
echo build\scripts\run-signtool.cmd -MSBuild %_msbuildexe% -SignType %SIGN_TYPE% -Configuration %BUILD_CONFIG% -ConfigFile build\config\PackageSignToolData.json
|
||||
call build\scripts\run-signtool.cmd -MSBuild %_msbuildexe% -SignType %SIGN_TYPE% -Configuration %BUILD_CONFIG% -ConfigFile build\config\PackageSignToolData.json
|
||||
echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\PackageSignToolData.json
|
||||
%_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\PackageSignToolData.json
|
||||
if ERRORLEVEL 1 echo Error running sign tool && goto :failure
|
||||
)
|
||||
|
||||
|
@ -843,16 +717,16 @@ if "%BUILD_SETUP%" == "1" (
|
|||
)
|
||||
|
||||
if not "%SIGN_TYPE%" == "" (
|
||||
echo build\scripts\run-signtool.cmd -MSBuild %_msbuildexe% -SignType %SIGN_TYPE% -Configuration %BUILD_CONFIG% -ConfigFile build\config\InsertionSignToolData.json
|
||||
call build\scripts\run-signtool.cmd -MSBuild %_msbuildexe% -SignType %SIGN_TYPE% -Configuration %BUILD_CONFIG% -ConfigFile build\config\InsertionSignToolData.json
|
||||
echo %_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\InsertionSignToolData.json
|
||||
%_msbuildexe% build\projects\Signing.proj /t:DoSigning /p:SignType=%SIGN_TYPE% /p:Configuration=%BUILD_CONFIG% /p:ConfigFile=%~dp0build\config\InsertionSignToolData.json
|
||||
if ERRORLEVEL 1 echo Error running sign tool && goto :failure
|
||||
)
|
||||
|
||||
echo ---------------- Done with signing, building insertion files ---------------
|
||||
|
||||
if "%BUILD_SETUP%" == "1" (
|
||||
echo %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog
|
||||
%_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog
|
||||
echo %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog
|
||||
%_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG% /bl:%~dp0%BUILD_CONFIG%\logs\msbuild.setup-swix.build.%BUILD_CONFIG%.binlog
|
||||
if ERRORLEVEL 1 echo Error building .vsmanproj && goto :failure
|
||||
)
|
||||
|
||||
|
@ -868,16 +742,6 @@ if "%COPY_FSCOMP_RESOURCE_FOR_BUILD_FROM_SOURCES%" == "1" (
|
|||
copy /y src\fsharp\FSharp.Compiler.Private\obj\%BUILD_CONFIG%\net40\FSComp.* src\buildfromsource\FSharp.Compiler.Private
|
||||
)
|
||||
|
||||
@echo set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
|
||||
set NUNITPATH=packages\NUnit.Console.3.0.0\tools\
|
||||
if not exist %NUNITPATH% echo Error: Could not find %NUNITPATH% && goto :failure
|
||||
|
||||
@echo xcopy "%NUNITPATH%*.*" "%~dp0tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
|
||||
xcopy "%NUNITPATH%*.*" "%~dp0tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
|
||||
|
||||
@echo xcopy "%~dp0tests\fsharpqa\testenv\src\nunit*.*" "%~dp0tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
|
||||
xcopy "%~dp0tests\fsharpqa\testenv\src\nunit*.*" "%~dp0tests\fsharpqa\testenv\bin\nunit\*.*" /S /Q /Y
|
||||
|
||||
set X86_PROGRAMFILES=%ProgramFiles%
|
||||
if "%OSARCH%"=="AMD64" set X86_PROGRAMFILES=%ProgramFiles(x86)%
|
||||
|
||||
|
@ -911,16 +775,10 @@ if "%no_test%" == "1" goto :success
|
|||
|
||||
echo ---------------- Done with update, starting tests -----------------------
|
||||
|
||||
if NOT "%INCLUDE_TEST_SPEC_NUNIT%" == "" (
|
||||
set WHERE_ARG_NUNIT=--where "%INCLUDE_TEST_SPEC_NUNIT%"
|
||||
)
|
||||
if NOT "%INCLUDE_TEST_TAGS%" == "" (
|
||||
set TTAGS_ARG_RUNALL=-ttags:%INCLUDE_TEST_TAGS%
|
||||
)
|
||||
echo WHERE_ARG_NUNIT=!WHERE_ARG_NUNIT!
|
||||
|
||||
set NUNITPATH=%~dp0tests\fsharpqa\testenv\bin\nunit\
|
||||
set NUNIT3_CONSOLE=%~dp0packages\NUnit.Console.3.0.0\tools\nunit3-console.exe
|
||||
set link_exe=%~dp0tests\fsharpqa\testenv\bin\link\link.exe
|
||||
if not exist "%link_exe%" (
|
||||
echo Error: failed to find "%link_exe%" use nuget to restore the VisualCppTools package
|
||||
|
@ -936,33 +794,19 @@ if not exist "%RESULTSDIR%" (mkdir "%RESULTSDIR%")
|
|||
ECHO FSCBINPATH=%FSCBINPATH%
|
||||
ECHO RESULTSDIR=%RESULTSDIR%
|
||||
ECHO link_exe=%link_exe%
|
||||
ECHO NUNIT3_CONSOLE=%NUNIT3_CONSOLE%
|
||||
ECHO NUNITPATH=%NUNITPATH%
|
||||
|
||||
REM ---------------- test-net40-fsharp -----------------------
|
||||
|
||||
if "%TEST_NET40_FSHARP_SUITE%" == "1" (
|
||||
|
||||
set OUTPUTARG=
|
||||
set ERRORARG=
|
||||
set OUTPUTFILE=
|
||||
set ERRORFILE=
|
||||
set XMLFILE=!RESULTSDIR!\test-net40-fsharp-results.xml
|
||||
if "%CI%" == "1" (
|
||||
set OUTPUTFILE=!RESULTSDIR!\test-net40-fsharp-output.log
|
||||
set OUTPUTARG=--output:"!OUTPUTFILE!"
|
||||
set ERRORFILE=!RESULTSDIR!\test-net40-fsharp-errors.log
|
||||
set ERRORARG=--err:"!ERRORFILE!"
|
||||
)
|
||||
|
||||
echo "!NUNIT3_CONSOLE!" --verbose "!FSCBINPATH!\FSharp.Tests.FSharpSuite.dll" --framework:V4.0 --work:"!FSCBINPATH!" !OUTPUTARG! !ERRORARG! --result:"!XMLFILE!;format=nunit3" !WHERE_ARG_NUNIT!
|
||||
"!NUNIT3_CONSOLE!" --verbose "!FSCBINPATH!\FSharp.Tests.FSharpSuite.dll" --framework:V4.0 --work:"!FSCBINPATH!" !OUTPUTARG! !ERRORARG! --result:"!XMLFILE!;format=nunit3" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Tests.FSharpSuite.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin"
|
||||
"%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin"
|
||||
|
||||
if errorlevel 1 (
|
||||
type "!ERRORFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests net40-fsharp failed, see log above -- FAILED
|
||||
echo -----------------------------------------------------------------
|
||||
echo --------------------------------------------------------------
|
||||
echo Error: Running tests net40-fsharp failed, see file `!LOGFILE!`
|
||||
echo --------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
)
|
||||
|
@ -971,25 +815,25 @@ REM ---------------- test-fcs -----------------------
|
|||
|
||||
if "%TEST_FCS%" == "1" (
|
||||
|
||||
del /q fcs\FSharp.Compiler.Service.Tests\TestResults\*.trx
|
||||
echo "!_dotnet20exe!" test fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -c Release --logger:trx
|
||||
"!_dotnet20exe!" test fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -c Release --logger:trx
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Compiler.Service.Tests.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
type fcs\FSharp.Compiler.Service.Tests\TestResults\*.trx
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running FCS tests failed. See XML logging output above. Search for 'outcome="Failed"' or 'Failed '
|
||||
echo .
|
||||
echo Error: Note that tests were run with both .NET Core and .NET Framework.
|
||||
echo Error: Try running tests locally and using
|
||||
echo .
|
||||
echo dotnet test fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -c Release --logger:trx
|
||||
echo .
|
||||
echo Error: and look for results in
|
||||
echo .
|
||||
echo fcs\FSharp.Compiler.Service.Tests\TestResults\*.trx
|
||||
echo .
|
||||
echo -----------------------------------------------------------------
|
||||
echo --------------------------------------------------------------
|
||||
echo Error: Running net40 fcs tests, see file `!LOGFILE!`
|
||||
echo --------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Compiler.Service.Tests.coreclr.trx
|
||||
echo "%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo --------------------------------------------------------------
|
||||
echo Error: Running coreclr fcs tests, see file `!LOGFILE!`
|
||||
echo --------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
)
|
||||
|
@ -1020,11 +864,11 @@ set HOSTED_COMPILER=1
|
|||
|
||||
if "%TEST_NET40_FSHARPQA_SUITE%" == "1" (
|
||||
|
||||
set CSC_PIPE=%~dp0packages\Microsoft.Net.Compilers.2.7.0\tools\csc.exe
|
||||
set CSC_PIPE=%USERPROFILE%\.nuget\packages\Microsoft.Net.Compilers\2.7.0\tools\csc.exe
|
||||
set FSC=!FSCBINPATH!\fsc.exe
|
||||
set FSCOREDLLPATH=!FSCBinPath!\FSharp.Core.dll
|
||||
set PATH=!FSCBINPATH!;!PATH!
|
||||
set perlexe=%~dp0packages\StrawberryPerl64.5.22.2.1\Tools\perl\bin\perl.exe
|
||||
set perlexe=%USERPROFILE%\.nuget\packages\StrawberryPerl64\5.22.2.1\Tools\perl\bin\perl.exe
|
||||
if not exist !perlexe! (echo Error: perl was not downloaded from check the packages directory: !perlexe! && goto :failure )
|
||||
|
||||
set OUTPUTFILE=test-net40-fsharpqa-results.log
|
||||
|
@ -1051,54 +895,24 @@ REM ---------------- net40-compilerunit -----------------------
|
|||
|
||||
if "%TEST_NET40_COMPILERUNIT_SUITE%" == "1" (
|
||||
|
||||
set OUTPUTARG=
|
||||
set ERRORARG=
|
||||
set OUTPUTFILE=
|
||||
set ERRORFILE=
|
||||
set XMLFILE=!RESULTSDIR!\test-net40-compilerunit-results.xml
|
||||
if "%CI%" == "1" (
|
||||
set OUTPUTFILE=!RESULTSDIR!\test-net40-compilerunit-output.log
|
||||
set ERRORFILE=!RESULTSDIR!\test-net40-compilerunit-errors.log
|
||||
set ERRORARG=--err:"!ERRORFILE!"
|
||||
set OUTPUTARG=--output:"!OUTPUTFILE!"
|
||||
)
|
||||
set ERRORFILE=!RESULTSDIR!\test-net40-compilerunit-errors.log
|
||||
echo "!NUNIT3_CONSOLE!" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" "!FSCBINPATH!\..\..\net40\bin\FSharp.Compiler.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"!NUNIT3_CONSOLE!" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" "!FSCBINPATH!\..\..\net40\bin\FSharp.Compiler.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Compiler.UnitTests.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo -----------------------------------------------------------------
|
||||
type "!OUTPUTFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
type "!ERRORFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests net40-compilerunit failed, see logs above -- FAILED
|
||||
echo Error: Running tests net40-compilerunit failed, see file `!LOGFILE!`
|
||||
echo -----------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
|
||||
set OUTPUTARG=
|
||||
set ERRORARG=
|
||||
set OUTPUTFILE=
|
||||
set ERRORFILE=
|
||||
set XMLFILE=!RESULTSDIR!\test-net40-buildunit-results.xml
|
||||
if "%CI%" == "1" (
|
||||
set OUTPUTFILE=!RESULTSDIR!\test-net40-buildunit-output.log
|
||||
set ERRORFILE=!RESULTSDIR!\test-net40-buildunit-errors.log
|
||||
set ERRORARG=--err:"!ERRORFILE!"
|
||||
set OUTPUTARG=--output:"!OUTPUTFILE!"
|
||||
)
|
||||
set ERRORFILE=!RESULTSDIR!\test-net40-buildunit-errors.log
|
||||
echo "!NUNIT3_CONSOLE!" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" "!FSCBINPATH!\FSharp.Build.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"!NUNIT3_CONSOLE!" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" "!FSCBINPATH!\FSharp.Build.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Build.UnitTests.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo -----------------------------------------------------------------
|
||||
type "!OUTPUTFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
type "!ERRORFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests net40-compilernit failed, see logs above -- FAILED
|
||||
echo Error: Running tests net40-compilernit failed, see file `!LOGFILE!`
|
||||
echo -----------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
|
@ -1108,28 +922,13 @@ REM ---------------- net40-coreunit -----------------------
|
|||
|
||||
if "%TEST_NET40_COREUNIT_SUITE%" == "1" (
|
||||
|
||||
set OUTPUTARG=
|
||||
set ERRORARG=
|
||||
set OUTPUTFILE=
|
||||
set ERRORFILE=
|
||||
set XMLFILE=!RESULTSDIR!\test-net40-coreunit-results.xml
|
||||
if "%CI%" == "1" (
|
||||
set ERRORFILE=!RESULTSDIR!\test-net40-coreunit-errors.log
|
||||
set OUTPUTFILE=!RESULTSDIR!\test-net40-coreunit-output.log
|
||||
set ERRORARG=--err:"!ERRORFILE!"
|
||||
set OUTPUTARG=--output:"!OUTPUTFILE!"
|
||||
)
|
||||
|
||||
echo "!NUNIT3_CONSOLE!" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" "!FSCBINPATH!\FSharp.Core.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"!NUNIT3_CONSOLE!" --verbose --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" "!FSCBINPATH!\FSharp.Core.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Core.UnitTests.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo -----------------------------------------------------------------
|
||||
type "!OUTPUTFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
type "!ERRORFILE!"
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests net40-coreunit failed, see logs above -- FAILED
|
||||
echo Error: Running tests net40-coreunit failed, see file `!LOGFILE!`
|
||||
echo -----------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
|
@ -1139,27 +938,25 @@ REM ---------------- coreclr-coreunit -----------------------
|
|||
|
||||
if "%TEST_CORECLR_COREUNIT_SUITE%" == "1" (
|
||||
|
||||
set XMLFILE=!RESULTSDIR!\test-coreclr-coreunit-results.xml
|
||||
set OUTPUTFILE=!RESULTSDIR!\test-coreclr-coreunit-output.log
|
||||
set ERRORFILE=!RESULTSDIR!\test-coreclr-coreunit-errors.log
|
||||
|
||||
echo "%_dotnetcliexe%" "%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Build.UnitTests\FSharp.Build.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"%_dotnetcliexe%" "%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Build.UnitTests\FSharp.Build.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Build.UnitTests.coreclr.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests coreclr-coreunit failed, see logs above-- FAILED
|
||||
echo Error: Running tests coreclr-compilernit failed, see file `!LOGFILE!`
|
||||
echo -----------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
|
||||
echo "%_dotnetcliexe%" "%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Core.UnitTests\FSharp.Core.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"%_dotnetcliexe%" "%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Core.UnitTests\FSharp.Core.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Core.UnitTests.coreclr.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests coreclr-coreunit failed, see logs above-- FAILED
|
||||
echo -----------------------------------------------------------------
|
||||
echo ------------------------------------------------------------------
|
||||
echo Error: Running tests coreclr-coreunit failed, see file `!LOGFILE!`
|
||||
echo ------------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
)
|
||||
|
@ -1167,22 +964,14 @@ if "%TEST_CORECLR_COREUNIT_SUITE%" == "1" (
|
|||
REM ---------------- coreclr-fsharp -----------------------
|
||||
|
||||
if "%TEST_CORECLR_FSHARP_SUITE%" == "1" (
|
||||
|
||||
set single_threaded=true
|
||||
set permutations=FSC_CORECLR
|
||||
|
||||
set OUTPUTARG=
|
||||
set ERRORARG=
|
||||
set OUTPUTFILE=
|
||||
set ERRORFILE=
|
||||
set XMLFILE=!RESULTSDIR!\test-coreclr-fsharp-results.xml
|
||||
echo "%_dotnetcliexe%" "%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Tests.FSharpSuite.DrivingCoreCLR\FSharp.Tests.FSharpSuite.DrivingCoreCLR.dll" !WHERE_ARG_NUNIT!
|
||||
"%_dotnetcliexe%" "%~dp0tests\testbin\!BUILD_CONFIG!\coreclr\FSharp.Tests.FSharpSuite.DrivingCoreCLR\FSharp.Tests.FSharpSuite.DrivingCoreCLR.dll" !WHERE_ARG_NUNIT!
|
||||
set LOGFILE=%~dp0tests\TestResults\FSharp.Tests.FSharpSuite.coreclr.trx
|
||||
echo "%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\coreclr\bin"
|
||||
"%_dotnetexe%" test "%~dp0tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f netcoreapp2.0 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\coreclr\bin"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo -----------------------------------------------------------------
|
||||
echo Error: Running tests coreclr-fsharp failed, see logs above-- FAILED
|
||||
echo -----------------------------------------------------------------
|
||||
echo ----------------------------------------------------------------
|
||||
echo Error: Running tests coreclr-fsharp failed, see file `!LOGFILE!`
|
||||
echo ----------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
)
|
||||
|
@ -1190,45 +979,24 @@ if "%TEST_CORECLR_FSHARP_SUITE%" == "1" (
|
|||
REM ---------------- vs-ideunit -----------------------
|
||||
|
||||
if "%TEST_VS_IDEUNIT_SUITE%" == "1" (
|
||||
|
||||
set OUTPUTARG=
|
||||
set ERRORARG=
|
||||
set OUTPUTFILE=
|
||||
set ERRORFILE=
|
||||
set XMLFILE=!RESULTSDIR!\test-vs-ideunit-results.xml
|
||||
if "%CI%" == "1" (
|
||||
set OUTPUTFILE=!RESULTSDIR!\test-vs-ideunit-output.log
|
||||
set ERRORFILE=!RESULTSDIR!\test-vs-ideunit-errors.log
|
||||
set ERRORARG=--err:"!ERRORFILE!"
|
||||
set OUTPUTARG=--output:"!OUTPUTFILE!"
|
||||
)
|
||||
|
||||
rem Verify that VisualFSharp.UnitTests.dll can be loaded by nunit. Report load errors.
|
||||
pushd !FSCBINPATH!
|
||||
echo "!NUNIT3_CONSOLE!" --verbose --x86 --framework:V4.0 --work:"!FSCBINPATH!" --workers=1 --agents=1 --full "!FSCBINPATH!\GetTypesVSUnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"!NUNIT3_CONSOLE!" --verbose --x86 --framework:V4.0 --work:"!FSCBINPATH!" --workers=1 --agents=1 --full "!FSCBINPATH!\GetTypesVSUnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
popd
|
||||
set LOGFILE=%~dp0tests\TestResults\GetTypesVSUnitTests.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0vsintegration\tests\GetTypesVSUnitTests\GetTypesVSUnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
"%_dotnetexe%" test "%~dp0vsintegration\tests\GetTypesVSUnitTests\GetTypesVSUnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!"
|
||||
|
||||
if errorlevel 1 (
|
||||
echo ---------------------------------------------------------------------------
|
||||
echo Error: Running tests net40-gettypesvsunittests failed, see file `!LOGFILE!`
|
||||
echo ---------------------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
|
||||
pushd !FSCBINPATH!
|
||||
echo "!NUNIT3_CONSOLE!" --verbose --x86 --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" --workers=1 --agents=1 --full "!FSCBINPATH!\VisualFSharp.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
"!NUNIT3_CONSOLE!" --verbose --x86 --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" --workers=1 --agents=1 --full "!FSCBINPATH!\VisualFSharp.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
popd
|
||||
|
||||
set LOGFILE=%~dp0tests\TestResults\VisualFSharp.UnitTests.net40.trx
|
||||
echo "%_dotnetexe%" test "%~dp0vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin"
|
||||
"%_dotnetexe%" test "%~dp0vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" --no-restore --no-build -c %BUILD_CONFIG% -f net46 -l "trx;LogFileName=!LOGFILE!" -o "%~dp0%BUILD_CONFIG%\net40\bin"
|
||||
if errorlevel 1 (
|
||||
echo --------begin vs-ide-unit output ---------------------
|
||||
type "!OUTPUTFILE!"
|
||||
echo --------end vs-ide-unit output -----------------------
|
||||
echo -------begin vs-ide-unit errors ----------------------
|
||||
type "!ERRORFILE!"
|
||||
echo -------end vs-ide-unit errors ------------------------
|
||||
echo Error: Running tests vs-ideunit failed, see logs above, search for "Errors and Failures" -- FAILED
|
||||
echo Command Line for running tests
|
||||
echo "!NUNIT3_CONSOLE!" --verbose --x86 --framework:V4.0 --result:"!XMLFILE!;format=nunit3" !OUTPUTARG! !ERRORARG! --work:"!FSCBINPATH!" --workers=1 --agents=1 --full "!FSCBINPATH!\VisualFSharp.UnitTests.dll" !WHERE_ARG_NUNIT!
|
||||
echo ----------------------------------------------------------------------------------------------------
|
||||
echo ------------------------------------------------------------
|
||||
echo Error: Running tests vs-ideunit failed, see file `!LOGFILE!`
|
||||
echo ------------------------------------------------------------
|
||||
goto :failure
|
||||
)
|
||||
)
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<packages>
|
||||
<package id="MicroBuild.Core" version="0.2.0" />
|
||||
<package id="MicroBuild.Core.Sentinel" version="1.0.0" />
|
||||
<package id="RoslynTools.SignTool" version="1.0.0-beta2-dev3" />
|
||||
</packages>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('FSharp.Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('FSharp.Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
</Project>
|
|
@ -1,33 +0,0 @@
|
|||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<DependencyUptakeDirectory>$(MSBuildThisFileDirectory)..\..\Tools\dependencyUptake</DependencyUptakeDirectory>
|
||||
<PackageVersionsPropsFile>$(DependencyUptakeDirectory)\PackageVersions.props</PackageVersionsPropsFile>
|
||||
<PackagesConfigFile>$(DependencyUptakeDirectory)\packages.config</PackagesConfigFile>
|
||||
<NuGetConfigFile>$(DependencyUptakeDirectory)\NuGet.config</NuGetConfigFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(PackageVersionsPropsFile)" />
|
||||
|
||||
<!-- Prepare a dummy packages.config -->
|
||||
<ItemGroup>
|
||||
<PackagesConfigLines Include="<packages>" />
|
||||
<PackagesConfigLines Include="</packages>" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Prepare a dummy NuGet.config -->
|
||||
<ItemGroup>
|
||||
<NuGetConfigLines Include="<configuration>" />
|
||||
<NuGetConfigLines Include=" <packageSources>" />
|
||||
<NuGetConfigLines Include=" <clear />" />
|
||||
<NuGetConfigLines Include=" <add key="dependency-uptake" value="$(PB_RestoreSource)" />" />
|
||||
<NuGetConfigLines Include=" </packageSources>" />
|
||||
<NuGetConfigLines Include="</configuration>" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
<WriteLinesToFile File="$(PackagesConfigFile)" Lines="@(PackagesConfigLines)" Overwrite="true" />
|
||||
<WriteLinesToFile File="$(NuGetConfigFile)" Lines="@(NuGetConfigLines)" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,27 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- necessary for package restore -->
|
||||
<TargetFramework>net46</TargetFramework>
|
||||
<BinaryLocation>$(RepoRoot)$(Configuration)</BinaryLocation>
|
||||
<SignToolExe>$(NuGetPackageRoot)RoslynTools.SignTool\$(RoslynToolsSignToolPackageVersion)\tools\SignTool.exe</SignToolExe>
|
||||
<SignToolArgs>-msbuildPath "$(MSBuildBinPath)\msbuild.exe" -nugetPackagesPath "$(NuGetPackageRoot.TrimEnd('\'))" -config "$(ConfigFile)"</SignToolArgs>
|
||||
<SignToolArgs Condition="'$(SignType)' == 'test'">-testSign $(SignToolArgs)</SignToolArgs>
|
||||
<SignToolArgs Condition="'$(SignType)' == ''">-test $(SignToolArgs)</SignToolArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="RoslynTools.SignTool" Version="$(RoslynToolsSignToolPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ValidateArguments">
|
||||
<Error Message="Configuration must be manually specified." Condition="'$(Configuration)' == ''" />
|
||||
<Error Message="Configuration file must be manually specified." Condition="'$(ConfigFile)' == ''" />
|
||||
</Target>
|
||||
|
||||
<Target Name="DoSigning"
|
||||
DependsOnTargets="ValidateArguments">
|
||||
<Exec Command='"$(SignToolExe)" $(SignToolArgs) "$(BinaryLocation)"' />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,69 +0,0 @@
|
|||
@echo off
|
||||
:: Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
|
||||
setlocal enableDelayedExpansion
|
||||
set scriptdir=%~dp0
|
||||
set MSBuild=
|
||||
set SignType=
|
||||
set ConfigFile=
|
||||
|
||||
::
|
||||
:: Validate arguments
|
||||
::
|
||||
|
||||
:parsearg
|
||||
if "%1" == "" goto doneargs
|
||||
set arg=%1
|
||||
set argv=%2
|
||||
|
||||
if /i "%arg%" == "/?" goto help
|
||||
if /i "%arg%" == "-h" goto help
|
||||
if /i "%arg%" == "--help" goto help
|
||||
if /i "%arg%" == "-MSBuild" (
|
||||
set MSBuild=%argv%
|
||||
shift
|
||||
)
|
||||
if /i "%arg%" == "-SignType" (
|
||||
set SignType=%argv%
|
||||
shift
|
||||
)
|
||||
if /i "%arg%" == "-Configuration" (
|
||||
set Configuration=%argv%
|
||||
shift
|
||||
)
|
||||
if /i "%arg%" == "-ConfigFile" (
|
||||
set ConfigFile=%argv%
|
||||
shift
|
||||
)
|
||||
|
||||
shift
|
||||
goto parsearg
|
||||
|
||||
:doneargs
|
||||
|
||||
if not defined MSBuild echo Location of MSBuild.exe not specified. && goto error
|
||||
if not defined ConfigFile echo Configuration file not specified. && goto error
|
||||
if not exist "%MSBuild%" echo The specified MSBuild.exe does not exist. && goto error
|
||||
|
||||
set NUGET_PACKAGES=%USERPROFILE%\.nuget\packages
|
||||
set _signtoolexe=%NUGET_PACKAGES%\RoslynTools.SignTool\1.0.0-beta2-dev3\tools\SignTool.exe
|
||||
set SignToolArgs=-msbuildPath %MSBuild% -config "%ConfigFile%" -nugetPackagesPath "%NUGET_PACKAGES%"
|
||||
if /i "%SignType%" == "real" goto runsigntool
|
||||
if /i "%SignType%" == "test" set SignToolArgs=%SignToolArgs% -testSign && goto runsigntool
|
||||
set SignToolArgs=%SignToolArgs% -test
|
||||
|
||||
:runsigntool
|
||||
|
||||
if not exist "%_signtoolexe%" echo The signing tool could not be found at location '%_signtoolexe%' && goto error
|
||||
set SignToolArgs=%SignToolArgs% "%scriptdir%..\..\%Configuration%"
|
||||
echo "%_signtoolexe%" %SignToolArgs%
|
||||
"%_signtoolexe%" %SignToolArgs%
|
||||
if errorlevel 1 goto error
|
||||
goto :EOF
|
||||
|
||||
:help
|
||||
echo Usage: %0 -MSBuild path\to\msbuild.exe -ConfigFile path\to\SignToolData.json [-SignType ^<real/test^>]
|
||||
goto :EOF
|
||||
|
||||
:error
|
||||
echo Error running the sign tool.
|
||||
exit /b 1
|
|
@ -34,18 +34,10 @@
|
|||
<VSGeneralVersion>$(VSMajorVersion).0</VSGeneralVersion>
|
||||
<VSAssemblyVersion>$(VSMajorVersion).$(VSMinorVersion).0.0</VSAssemblyVersion>
|
||||
|
||||
<MicroBuildAssemblyVersion Condition="'$(MicroBuildAssemblyVersion)' == ''">$(FSCoreVersion)</MicroBuildAssemblyVersion>
|
||||
|
||||
<!-- certain delivered F# VS assemblies use a specific MicroBuildAssemblyVersion, otherwise use FSCoreVersion -->
|
||||
<MicroBuildAssemblyVersion Condition="'$(UseFSharpProductVersion)' == 'true'">$(FSProductVersion)</MicroBuildAssemblyVersion>
|
||||
|
||||
<!-- certain delivered F# VS assemblies use a specific MicroBuildAssemblyVersion, otherwise use FSCoreVersion -->
|
||||
<MicroBuildAssemblyVersion Condition="'$(UseVsMicroBuildAssemblyVersion)' == 'true'">$(VSAssemblyVersion)</MicroBuildAssemblyVersion>
|
||||
|
||||
<!--
|
||||
|
||||
Given $(BUILD_BUILDNUMBER) = '20161225.1'
|
||||
Given $(MicroBuildAssemblyVersion) = '15.4.1.0'
|
||||
Given $(VSAssemblyVersion) = '15.4.0.0'
|
||||
|
||||
Then $(BuildTimeStamp_Date) = 161225
|
||||
Then $(BuildTimeStamp_Number) = 01
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
<Project>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.DiaSymReader.Pdb2Pdb" Version="$(MicrosoftDiaSymReaderPdb2PdbPackageVersion)" />
|
||||
<PackageReference Include="Pdb2Pdb" Version="$(Pdb2PdbPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ConvertPortablePdbs"
|
||||
AfterTargets="AfterBuild"
|
||||
Condition="Exists('$(TargetPath)') AND ('$(DebugType)' == 'portable' OR '$(DebugType)' == 'embedded')">
|
||||
DependsOnTargets="ComputeFinalOutputPaths"
|
||||
Condition="'$(OS)' != 'Unix' AND
|
||||
Exists('$(TargetPath)') AND
|
||||
('$(DebugType)' == 'portable' OR '$(DebugType)' == 'embedded') AND
|
||||
$(TargetFramework.StartsWith('net4')) AND
|
||||
'$(Configuration)' != 'Proto'">
|
||||
<PropertyGroup>
|
||||
<ConvertedPdbsDirectory>$(FinalOutputPath)\ConvertedPdbs</ConvertedPdbsDirectory>
|
||||
<PdbConverterExe>$(NuGetPackageRoot)Microsoft.DiaSymReader.Pdb2Pdb\$(MicrosoftDiaSymReaderPdb2PdbPackageVersion)\tools\Pdb2Pdb.exe</PdbConverterExe>
|
||||
<PdbConverterArgs>"$(TargetPath)" /out "$(ConvertedPdbsDirectory)\$(TargetName).pdb" /verbose /srcsvrvar SRC_INDEX=public</PdbConverterArgs>
|
||||
<PdbConverterExe>$(NuGetPackageRoot)Pdb2Pdb\$(Pdb2PdbPackageVersion)\tools\Pdb2Pdb.exe</PdbConverterExe>
|
||||
<PdbConverterArgs>"$(TargetPath)" /out "$(ConvertedPdbsDirectory)\$(TargetName).pdb" /srcsvrvar SRC_INDEX=public</PdbConverterArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(ConvertedPdbsDirectory)" />
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="GitHash.props" />
|
||||
<PropertyGroup>
|
||||
<!-- we generate our own custom assembly info -->
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GenerateAssemblyLevelAttributes"
|
||||
BeforeTargets="CoreCompile">
|
||||
|
||||
<PropertyGroup>
|
||||
<GeneratedFSharpAssemblyLevelAttributesFile>$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyLevelAttributes$(DefaultLanguageSourceExtension)</GeneratedFSharpAssemblyLevelAttributesFile>
|
||||
|
||||
<!-- The compiler that currently ships with the SDK doesn't like the Git hash being embedded into the AssemblyInformationalVersionAttribute. -->
|
||||
<NoWarn Condition="'$(Language)' == 'F#' AND '$(Configuration)' == 'Proto'">$(NoWarn);2003</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteCodeFragment AssemblyAttributes="@(AssemblyLevelAttribute)"
|
||||
|
@ -22,9 +28,17 @@
|
|||
|
||||
<Target Name="GenerateAssemblyFileVersion"
|
||||
BeforeTargets="CoreCompile"
|
||||
Condition="'$(Configuration)' != 'Proto'">
|
||||
Condition="'$(Language)' != '' AND '$(GenerateAssemblyVersionAttribute)' != 'false'">
|
||||
|
||||
<PropertyGroup>
|
||||
<MicroBuildAssemblyVersion Condition="'$(MicroBuildAssemblyVersion)' == ''">$(FSCoreVersion)</MicroBuildAssemblyVersion>
|
||||
|
||||
<!-- certain delivered F# VS assemblies use a specific MicroBuildAssemblyVersion, otherwise use FSCoreVersion -->
|
||||
<MicroBuildAssemblyVersion Condition="'$(UseFSharpProductVersion)' == 'true'">$(FSProductVersion)</MicroBuildAssemblyVersion>
|
||||
|
||||
<!-- certain delivered F# VS assemblies use a specific MicroBuildAssemblyVersion, otherwise use FSCoreVersion -->
|
||||
<MicroBuildAssemblyVersion Condition="'$(UseVsMicroBuildAssemblyVersion)' == 'true'">$(VSAssemblyVersion)</MicroBuildAssemblyVersion>
|
||||
|
||||
<GeneratedFSharpAssemblyVersionFile>$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyVersion$(DefaultLanguageSourceExtension)</GeneratedFSharpAssemblyVersionFile>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -32,13 +32,49 @@
|
|||
DependsOnTargets="PrepareFSharpGenerateInternalsVisibleToFile;PrepareForBuild"
|
||||
Condition="'@(InternalsVisibleTo)' != ''"
|
||||
BeforeTargets="CoreCompile">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- xbuild and older versions of msbuild don't have F# support for WriteCodeFragment -->
|
||||
<_UseWriteCodeFragmentHack Condition="'$(OS)' == 'Unix' and '$(Language)' == 'F#'">true</_UseWriteCodeFragmentHack>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
|
||||
Using WriteCodeFragment
|
||||
|
||||
-->
|
||||
<WriteCodeFragment AssemblyAttributes="@(_InternalsVisibleToAttribute)"
|
||||
Language="$(Language)"
|
||||
OutputFile="$(GeneratedFSharpInternalsVisibleToFile)">
|
||||
OutputFile="$(GeneratedFSharpInternalsVisibleToFile)"
|
||||
Condition="'$(_UseWriteCodeFragmentHack)' != 'true'">
|
||||
<Output TaskParameter="OutputFile" ItemName="CompileBefore" Condition="'$(Language)' == 'F#'" />
|
||||
<Output TaskParameter="OutputFile" ItemName="Compile" Condition="'$(Language)' != 'F#'" />
|
||||
<Output TaskParameter="OutputFile" ItemName="FileWrites" />
|
||||
</WriteCodeFragment>
|
||||
|
||||
<!--
|
||||
|
||||
Using WriteLinesToFile
|
||||
|
||||
-->
|
||||
<Message Text="Using `WriteLinesToFile` hack; writing to $(GeneratedFSharpInternalsVisibleToFile)" Condition="'$(_UseWriteCodeFragmentHack)' == 'true'" />
|
||||
<ItemGroup Condition="'$(_UseWriteCodeFragmentHack)' == 'true'">
|
||||
<_LinesToWrite Include="// <auto-generated>" />
|
||||
<_LinesToWrite Include="namespace FSharp" />
|
||||
<_LinesToWrite Include="open System" />
|
||||
<_LinesToWrite Include="open System.Reflection" />
|
||||
<_LinesToWrite Include="[<assembly: %(_InternalsVisibleToAttribute.Identity)("%(_InternalsVisibleToAttribute._Parameter1)")>]" />
|
||||
<_LinesToWrite Include="do()" />
|
||||
|
||||
<Compile Include="$(GeneratedFSharpInternalsVisibleToFile)" Condition="'$(Language)' != 'F#' or '$(AssemblyName)' == 'FSharp.Core'" />
|
||||
<CompileBefore Include="$(GeneratedFSharpInternalsVisibleToFile)" Condition="'$(Language)' == 'F#' and '$(AssemblyName)' != 'FSharp.Core'" />
|
||||
<FileWrites Include="$(GeneratedFSharpInternalsVisibleToFile)" />
|
||||
</ItemGroup>
|
||||
<WriteLinesToFile File="$(GeneratedFSharpInternalsVisibleToFile)"
|
||||
Lines="@(_LinesToWrite)"
|
||||
Overwrite="true"
|
||||
Encoding="Unicode"
|
||||
Condition="'$(_UseWriteCodeFragmentHack)' == 'true' and !Exists('$(GeneratedFSharpInternalsVisibleToFile)')" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -2,15 +2,49 @@
|
|||
|
||||
<PropertyGroup>
|
||||
|
||||
<!-- default package sources -->
|
||||
<RestoreSources>
|
||||
$(RestoreSources);
|
||||
https://www.myget.org/F/fsharp-daily/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/roslyn-master-nightly/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json;
|
||||
https://api.nuget.org/v3/index.json;
|
||||
https://dotnet.myget.org/F/roslyn/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/symreader-converter/api/v3/index.json;
|
||||
</RestoreSources>
|
||||
|
||||
<!-- synchronized build package sources -->
|
||||
<RestoreSources Condition="'$(PB_RestoreSource)' != ''">$(PB_RestoreSource);$(RestoreSources)</RestoreSources>
|
||||
<DotNetPackageVersionPropsPath>$(MSBuildThisFileDirectory)..\..\Tools\dependencyUptake\PackageVersions.props</DotNetPackageVersionPropsPath>
|
||||
|
||||
<!-- version numbers from files -->
|
||||
<RoslynPackageVersion>$([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\..\RoslynPackageVersion.txt').Trim())</RoslynPackageVersion>
|
||||
|
||||
<!-- System.* packages -->
|
||||
<SystemCollectionsImmutablePackageVersion>1.5.0</SystemCollectionsImmutablePackageVersion>
|
||||
<SystemConsolePackageVersion>4.3.0</SystemConsolePackageVersion>
|
||||
<SystemDiagnosticsProcessPackageVersion>4.3.0</SystemDiagnosticsProcessPackageVersion>
|
||||
<SystemDiagnosticsTraceSourcePackageVersion>4.3.0</SystemDiagnosticsTraceSourcePackageVersion>
|
||||
<SystemIoCompressionPackageVersion>4.3.0</SystemIoCompressionPackageVersion>
|
||||
<SystemRuntimeCachingPackageVersion>1.5.0</SystemRuntimeCachingPackageVersion>
|
||||
<SystemLinqExpressionsPackageVersion>4.3.0</SystemLinqExpressionsPackageVersion>
|
||||
<SystemLinqQueryablePackageVersion>4.3.0</SystemLinqQueryablePackageVersion>
|
||||
<SystemMemoryPackageVersion>4.5.0</SystemMemoryPackageVersion>
|
||||
<SystemNetRequestsPackageVersion>4.3.0</SystemNetRequestsPackageVersion>
|
||||
<SystemReflectionEmitPackageVersion>4.3.0</SystemReflectionEmitPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>1.6.0</SystemReflectionMetadataPackageVersion>
|
||||
<SystemValueTuplePackageVersion>4.3.0</SystemValueTuplePackageVersion>
|
||||
<SystemReflectionTypeExtensionsPackageVersion>4.3.0</SystemReflectionTypeExtensionsPackageVersion>
|
||||
<SystemRuntimeCachingPackageVersion>1.5.0</SystemRuntimeCachingPackageVersion>
|
||||
<SystemRuntimePackageVersion>4.3.0</SystemRuntimePackageVersion>
|
||||
<SystemRuntimeInteropServicesPackageVersion>4.3.0</SystemRuntimeInteropServicesPackageVersion>
|
||||
<SystemRuntimeLoaderPackageVersion>4.3.0</SystemRuntimeLoaderPackageVersion>
|
||||
<SystemSecurityCryptographyAlgorithmsPackageVersion>4.3.0</SystemSecurityCryptographyAlgorithmsPackageVersion>
|
||||
<SystemSecurityPrincipalPackageVersion>4.3.0</SystemSecurityPrincipalPackageVersion>
|
||||
<SystemThreadingTasksParallelPackageVersion>4.3.0</SystemThreadingTasksParallelPackageVersion>
|
||||
<SystemThreadingThreadPackageVersion>4.3.0</SystemThreadingThreadPackageVersion>
|
||||
<SystemThreadingThreadPoolPackageVersion>4.3.0</SystemThreadingThreadPoolPackageVersion>
|
||||
<SystemValueTuplePackageVersion>4.4.0</SystemValueTuplePackageVersion>
|
||||
|
||||
<!-- Roslyn packages -->
|
||||
<MicrosoftCodeAnalysisEditorFeaturesPackageVersion>$(RoslynPackageVersion)</MicrosoftCodeAnalysisEditorFeaturesPackageVersion>
|
||||
|
@ -25,7 +59,6 @@
|
|||
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildFrameworkPackageVersion>
|
||||
<MicrosoftBuildTasksCorePackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildTasksCorePackageVersion>
|
||||
<MicrosoftBuildUtilitiesCorePackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildUtilitiesCorePackageVersion>
|
||||
<MicrosoftVisualFSharpMSBuild150PackageVersion>1.0.1</MicrosoftVisualFSharpMSBuild150PackageVersion>
|
||||
|
||||
<!-- Visual Studio packages -->
|
||||
<EnvDTE80PackageVersion>8.0.1</EnvDTE80PackageVersion>
|
||||
|
@ -74,13 +107,29 @@
|
|||
<VSSDKVSLangProj11PackageVersion>11.0.4</VSSDKVSLangProj11PackageVersion>
|
||||
<VSSDKVSHelpPackageVersion>7.0.4</VSSDKVSHelpPackageVersion>
|
||||
|
||||
<!-- setup packages -->
|
||||
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
|
||||
<MicroBuildCoreSentinelPackageVersion>1.0.0</MicroBuildCoreSentinelPackageVersion>
|
||||
<MicroBuildPluginsSwixBuildPackageVersion>1.0.147</MicroBuildPluginsSwixBuildPackageVersion>
|
||||
<MicrosoftPortableFSharpCorePackageVersion>10.1.0</MicrosoftPortableFSharpCorePackageVersion>
|
||||
<MicrosoftVisualFSharpCoreRedistPackageVersion>1.0.0</MicrosoftVisualFSharpCoreRedistPackageVersion>
|
||||
|
||||
<!-- other packages -->
|
||||
<FsCheckPackageVersion>3.0.0-alpha3</FsCheckPackageVersion>
|
||||
<MicrosoftCompositionPackageVersion>1.0.30</MicrosoftCompositionPackageVersion>
|
||||
<MicrosoftDiaSymReaderPdb2PdbPackageVersion>1.1.0-roslyn-62714-01</MicrosoftDiaSymReaderPdb2PdbPackageVersion>
|
||||
<Pdb2PdbPackageVersion>1.1.0-beta1-63314-01</Pdb2PdbPackageVersion>
|
||||
<MicrosoftMSXMLPackageVersion>8.0.0-alpha</MicrosoftMSXMLPackageVersion>
|
||||
<MicrosoftNetCompilersPackageVersion>2.7.0</MicrosoftNetCompilersPackageVersion>
|
||||
<MicrosoftNETCoreILDAsmPackageVersion>2.0.3</MicrosoftNETCoreILDAsmPackageVersion>
|
||||
<MicrosoftNETTestSdkPackageVersion>15.8.0</MicrosoftNETTestSdkPackageVersion>
|
||||
<MicrosoftVisualFSharpTypeProvidersRedistPackageVersion>1.0.0</MicrosoftVisualFSharpTypeProvidersRedistPackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>4.3.0</MicrosoftWin32RegistryPackageVersion>
|
||||
<NewtonsoftJsonPackageVersion>9.0.1</NewtonsoftJsonPackageVersion>
|
||||
<NUnitPackageVersion>3.5.0</NUnitPackageVersion>
|
||||
<NUnitPackageVersion>3.10.1</NUnitPackageVersion>
|
||||
<NUnit3TestAdapterPackageVersion>3.10.0</NUnit3TestAdapterPackageVersion>
|
||||
<NUnitLitePackageVersion>3.10.1</NUnitLitePackageVersion>
|
||||
<RoslynToolsSignToolPackageVersion>1.0.0-beta2-dev3</RoslynToolsSignToolPackageVersion>
|
||||
<StrawberryPerl64PackageVersion>5.22.2.1</StrawberryPerl64PackageVersion>
|
||||
<XliffTasksPackageVersion>0.2.0-beta-000081</XliffTasksPackageVersion>
|
||||
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' == 'Windows_NT'">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' AND '$(OS)' != 'Windows_NT'">$(HOME)/.nuget/packages/</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' == 'Windows_NT'">$(NuGetPackageRoot)\</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="!HasTrailingSlash('$(NuGetPackageRoot)') AND '$(OS)' != 'Windows_NT'">$(NuGetPackageRoot)/</NuGetPackageRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- SDK targets override -->
|
||||
<PropertyGroup>
|
||||
<ProtoOutputPath>$(MSBuildThisFileDirectory)..\Proto\net40\bin</ProtoOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="Exists('$(ProtoOutputPath)')">
|
||||
<!-- <FscToolPath>$(ProtoOutputPath)\</FscToolPath>
|
||||
<FscToolExe>fsc.exe</FscToolExe>
|
||||
<DotnetFscCompilerPath>- -nologo</DotnetFscCompilerPath> -->
|
||||
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
|
||||
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
|
||||
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<!-- empty to prevent directory crawling -->
|
||||
</Project>
|
|
@ -51,18 +51,8 @@
|
|||
<HintPath>$(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Tasks.v12.0.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<!-- we build the nuget against FSHarp.Core 4.4.0.0 instead of our latest to allow use in wider range of F# tools -->
|
||||
<Reference Include="FSharp.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.$(FSharpCoreFrozenPortablePackageVersion)\lib\profiles\net40\FSharp.Core.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj">
|
||||
<Name>FSharp.Compiler.Service</Name>
|
||||
<Project>{2e4d67b4-522d-4cf7-97e4-ba940f0b18f3}</Project>
|
||||
<Private>True</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -24,10 +24,6 @@
|
|||
<None Include="paket.references" />
|
||||
<Reference Include="System.Runtime" />
|
||||
<Reference Include="System.IO" />
|
||||
<Reference Include="FSharp.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Portable.FSharp.Core.$(FSharpCoreFrozenPortablePackageVersion)\lib\profiles\net40\FSharp.Core.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<PackageReference Include="FSharp.Core" Version="4.5.2" />
|
||||
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\fcs\dependencies\MSBuild.v12.0\Microsoft.Build.Framework.dll</HintPath>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<NoWarn>$(NoWarn);0067;1591</NoWarn>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="../../../tests/service/data/CSharp_Analysis/CSharpClass.cs" />
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
</PropertyGroup>
|
||||
<Import Project="..\fcs.props" />
|
||||
<Import Project="..\netfx.props" />
|
||||
<Import Project="..\..\src\buildtools\buildtools.targets" />
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
|
||||
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
||||
|
@ -16,7 +17,7 @@
|
|||
<FsYaccOutputFolder Condition="'$(TargetFramework)' != ''">$(TargetFramework)\</FsYaccOutputFolder>
|
||||
<OtherFlags>$(OtherFlags) /warnon:1182</OtherFlags>
|
||||
<OtherFlags>$(OtherFlags) --times</OtherFlags>
|
||||
<NoWarn>$(NoWarn);44;62;69;65;54;61;75;62;9;2003;</NoWarn>
|
||||
<NoWarn>$(NoWarn);44;62;69;65;54;61;75;62;9;2003;NU5125</NoWarn>
|
||||
<Tailcalls>true</Tailcalls>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
|
@ -46,12 +47,12 @@
|
|||
<Compile Include="..\FSharp.Compiler.Service\AssemblyInfo.fs">
|
||||
<Link>AssemblyInfo/AssemblyInfo.fs</Link>
|
||||
</Compile>
|
||||
<FsSrGen Include="$(FSharpSourcesRoot)\fsharp\FSComp.txt">
|
||||
<EmbeddedText Include="$(FSharpSourcesRoot)\fsharp\FSComp.txt">
|
||||
<Link>FSComp.txt</Link>
|
||||
</FsSrGen>
|
||||
<FsSrGen Include="$(FSharpSourcesRoot)\fsharp\fsi\FSIstrings.txt">
|
||||
</EmbeddedText>
|
||||
<EmbeddedText Include="$(FSharpSourcesRoot)\fsharp\fsi\FSIstrings.txt">
|
||||
<Link>FSIstrings.txt</Link>
|
||||
</FsSrGen>
|
||||
</EmbeddedText>
|
||||
<EmbeddedResource Include="$(FSharpSourcesRoot)/fsharp/FSStrings.resx">
|
||||
<Link>FSStrings.resx</Link>
|
||||
<LogicalName>FSStrings.resources</LogicalName>
|
||||
|
@ -655,7 +656,5 @@
|
|||
<HintPath>$(FSharpSourcesRoot)\..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\scripts\fssrgen.targets" Condition="'$(TargetFramework)' != ''" />
|
||||
<Import Project="$(FSharpSourcesRoot)\..\packages\FsLexYacc.7.0.6\build\FsLexYacc.targets" Condition="'$(TargetFramework)' != '' AND Exists('$(FSharpSourcesRoot)\..\packages\FsLexYacc.7.0.6\build\FsLexYacc.targets')" />
|
||||
<Target Name="GenerateCode" AfterTargets="Restore" BeforeTargets="BeforeBuild" DependsOnTargets="CallFsLex;CallFsYacc;ProcessFsSrGen" Condition="'$(TargetFramework)' != ''"></Target>
|
||||
<Target Name="GenerateCode" AfterTargets="Restore" BeforeTargets="BeforeBuild" DependsOnTargets="CallFsLex;CallFsYacc" Condition="'$(TargetFramework)' != ''"></Target>
|
||||
</Project>
|
|
@ -14,6 +14,9 @@ if errorlevel 1 (
|
|||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
:: don't care if this fails
|
||||
dotnet build-server shutdown >NUL 2>&1
|
||||
|
||||
packages\FAKE\tools\FAKE.exe build.fsx %*
|
||||
if errorlevel 1 (
|
||||
endlocal
|
||||
|
|
|
@ -75,15 +75,8 @@ Target "Clean" (fun _ ->
|
|||
|
||||
Target "Restore" (fun _ ->
|
||||
// We assume a paket restore has already been run
|
||||
runDotnet __SOURCE_DIRECTORY__ "restore ../src/buildtools/buildtools.proj -v n"
|
||||
runDotnet __SOURCE_DIRECTORY__ "restore FSharp.Compiler.Service.sln -v n"
|
||||
for p in [ "../packages.config" ] do
|
||||
let rec executeProcess count =
|
||||
let result = ExecProcess (fun info ->
|
||||
info.FileName <- FullName @"./../.nuget/NuGet.exe"
|
||||
info.WorkingDirectory <- FullName @"./.."
|
||||
info.Arguments <- sprintf "restore %s -PackagesDirectory \"%s\" -ConfigFile \"%s\"" (FullName p) (FullName "./../packages") (FullName "./../NuGet.Config")) TimeSpan.MaxValue
|
||||
if result <> 0 && count > 1 then executeProcess (count - 1) else result
|
||||
(executeProcess 5) |> assertExitCodeZero
|
||||
)
|
||||
|
||||
Target "BuildVersion" (fun _ ->
|
||||
|
@ -91,7 +84,8 @@ Target "BuildVersion" (fun _ ->
|
|||
)
|
||||
|
||||
Target "Build" (fun _ ->
|
||||
runDotnet __SOURCE_DIRECTORY__ "build FSharp.Compiler.Service.sln -v n -c Release"
|
||||
runDotnet __SOURCE_DIRECTORY__ "build ../src/buildtools/buildtools.proj -v n -c Proto"
|
||||
runDotnet __SOURCE_DIRECTORY__ "build FSharp.Compiler.Service.sln -v n -c release"
|
||||
)
|
||||
|
||||
Target "Test" (fun _ ->
|
||||
|
@ -100,11 +94,11 @@ Target "Test" (fun _ ->
|
|||
runDotnet __SOURCE_DIRECTORY__ "build ../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n"
|
||||
|
||||
// Now run the tests
|
||||
runDotnet __SOURCE_DIRECTORY__ "test FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -v n -c Release"
|
||||
runDotnet __SOURCE_DIRECTORY__ "test FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj -v n -c release"
|
||||
)
|
||||
|
||||
Target "NuGet" (fun _ ->
|
||||
runDotnet __SOURCE_DIRECTORY__ "pack FSharp.Compiler.Service.sln -v n -c Release"
|
||||
runDotnet __SOURCE_DIRECTORY__ "pack FSharp.Compiler.Service.sln -v n -c release"
|
||||
)
|
||||
|
||||
Target "GenerateDocsEn" (fun _ ->
|
||||
|
|
|
@ -0,0 +1,134 @@
|
|||
<Project DefaultTargets="Build">
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- default values -->
|
||||
<PropertyGroup>
|
||||
<BuildCompiler Condition="'$(BuildCompiler)' == ''">true</BuildCompiler>
|
||||
<BuildVS Condition="'$(BuildVS)' == ''">false</BuildVS>
|
||||
<BuildFCS Condition="'$(BuildFCS)' == ''">false</BuildFCS>
|
||||
<BuildSetup Condition="'$(BuildSetup)' == ''">false</BuildSetup>
|
||||
|
||||
<TestCompiler Condition="'$(TestCompiler)' == ''">false</TestCompiler>
|
||||
<TestFSharpSuite Condition="'$(TestFSharpSuite)' == ''">false</TestFSharpSuite>
|
||||
<TestFSharpQASuite Condition="'$(TestFSharpQASuite)' == ''">false</TestFSharpQASuite>
|
||||
<TestFCS Condition="'$(TestFCS)' == ''">false</TestFCS>
|
||||
<TestIDE Condition="'$(TestIDE)' == ''">false</TestIDE>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- legacy environment variable control -->
|
||||
<PropertyGroup>
|
||||
<BuildCompiler Condition="'$(BUILD_NET40)' == '1'">true</BuildCompiler>
|
||||
<BuildCompiler Condition="'$(BUILD_CORECLR)' == '1'">true</BuildCompiler>
|
||||
<BuildVS Condition="'$(BUILD_VS)' == '1'">true</BuildVS>
|
||||
<BuildFCS Condition="'$(BUILD_FCS)' == '1'">true</BuildFCS>
|
||||
<BuildSetup Condition="'$(BUILD_SETUP)' == '1'">true</BuildSetup>
|
||||
|
||||
<TestCompiler Condition="'$(TEST_NET40_COMPILERUNIT_SUITE)' == '1'">true</TestCompiler>
|
||||
<TestCompiler Condition="'$(TEST_CORECLR_COREUNIT_SUITE)' == '1'">true</TestCompiler>
|
||||
<TestFSharpSuite Condition="'$(TEST_NET40_FSHARP_SUITE)' == '1'">true</TestFSharpSuite>
|
||||
<TestFSharpSuite Condition="'$(TEST_CORECLR_FSHARP_SUITE)' == '1'">true</TestFSharpSuite>
|
||||
<TestFSharpQASuite Condition="'$(TEST_NET40_FSHARPQA_SUITE)' == '1'">true</TestFSharpQASuite>
|
||||
<TestFCS Condition="'$(TEST_FCS)' == '1'">true</TestFCS>
|
||||
<TestIDE Condition="'$(TEST_VS_IDEUNIT_SUITE)' == '1'">true</TestIDE>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CollectProjects">
|
||||
|
||||
<!-- product binaries -->
|
||||
|
||||
<ItemGroup Condition="'$(BuildCompiler)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="src\fsharp\FSharp.Core\FSharp.Core.fsproj" />
|
||||
<Projects Include="src\fsharp\FSharp.Build\FSharp.Build.fsproj" />
|
||||
<Projects Include="src\fsharp\FSharp.Compiler.Private\FSharp.Compiler.Private.fsproj" />
|
||||
<Projects Include="src\fsharp\FSharp.Compiler.Server.Shared\FSharp.Compiler.Server.Shared.fsproj" />
|
||||
<Projects Include="src\fsharp\FSharp.Compiler.Interactive.Settings\FSharp.Compiler.Interactive.Settings.fsproj" />
|
||||
<Projects Include="src\fsharp\Fsc\Fsc.fsproj" />
|
||||
<Projects Include="src\fsharp\fsi\Fsi.fsproj" />
|
||||
<Projects Include="src\fsharp\fsiAnyCpu\FsiAnyCPU.fsproj" />
|
||||
<Projects Include="src\fsharp\FSharp.Compiler.nuget\Microsoft.FSharp.Compiler.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BuildVS)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="vsintegration\fsharp-vsintegration-src-build.proj" />
|
||||
<Projects Include="vsintegration\fsharp-vsintegration-unittests-build.proj" />
|
||||
<Projects Include="vsintegration\Utils\LanguageServiceProfiling\LanguageServiceProfiling.fsproj" />
|
||||
<Projects Include="vsintegration\fsharp-vsintegration-item-templates-build.proj" />
|
||||
<Projects Include="vsintegration\fsharp-vsintegration-project-templates-build.proj" />
|
||||
<Projects Include="vsintegration\fsharp-vsintegration-vsix-build.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BuildFCS)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="$(MSBuildThisFileDirectory)fcs\FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj" />
|
||||
<Projects Include="$(MSBuildThisFileDirectory)fcs\FSharp.Compiler.Service.MSBuild.v12\FSharp.Compiler.Service.MSBuild.v12.fsproj" />
|
||||
<Projects Include="$(MSBuildThisFileDirectory)fcs\FSharp.Compiler.Service.ProjectCracker\FSharp.Compiler.Service.ProjectCracker.fsproj" />
|
||||
<Projects Include="$(MSBuildThisFileDirectory)fcs\FSharp.Compiler.Service.ProjectCrackerTool\FSharp.Compiler.Service.ProjectCrackerTool.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BuildSetup)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="setup\fsharp-setup-build.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- test binaries -->
|
||||
|
||||
<ItemGroup Condition="'$(TestCompiler)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" />
|
||||
<Projects Include="tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" />
|
||||
<Projects Include="tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TestFSharpSuite)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="tests\fsharp\FSharp.Tests.FSharpSuite.fsproj" />
|
||||
<Projects Include="tests\fsharp\SDKTests\AllSdkTargetsTests.proj" />
|
||||
<Projects Include="tests\fsharpqa\testenv\src\PEVerify\PEVerify.csproj" />
|
||||
<Projects Include="src\fsharp\FSharp.Compiler.nuget\Testing.FSharp.Compiler.csproj" />
|
||||
|
||||
<NugetProjects Include="src\fsharp\FSharp.Compiler.nuget\Testing.FSharp.Compiler.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TestFSharpQASuite)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="tests\fsharpqa\testenv\src\ILComparer\ILComparer.fsproj" />
|
||||
<Projects Include="tests\fsharpqa\testenv\src\HostedCompilerServer\HostedCompilerServer.fsproj" />
|
||||
<Projects Include="tests\fsharpqa\testenv\src\PEVerify\PEVerify.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TestFCS)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" />
|
||||
<Projects Include="tests\projects\Sample_NETCoreSDK_FSharp_Library_netstandard2_0\Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj" />
|
||||
<Projects Include="tests\projects\Sample_NETCoreSDK_FSharp_Library_netstandard2_0\Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj" />
|
||||
<Projects Include="fcs\FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TestIDE)' == 'true' OR '$(_RunningRestore)' == 'true'">
|
||||
<Projects Include="vsintegration\fsharp-vsintegration-unittests-build.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="_BeforeRestore">
|
||||
<PropertyGroup>
|
||||
<_RunningRestore>true</_RunningRestore>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="Build" DependsOnTargets="CollectProjects">
|
||||
<MSBuild Projects="@(Projects)" Targets="Build" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
<MSBuild Projects="@(NugetProjects)" Targets="Pack" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Rebuild" DependsOnTargets="CollectProjects">
|
||||
<MSBuild Projects="@(Projects)" Targets="Rebuild" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean" DependsOnTargets="CollectProjects">
|
||||
<MSBuild Projects="@(Projects)" Targets="Clean" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Restore" DependsOnTargets="_BeforeRestore;CollectProjects">
|
||||
<MSBuild Projects="@(Projects)" Targets="Restore" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
136
init-tools.cmd
136
init-tools.cmd
|
@ -1,112 +1,38 @@
|
|||
@if not defined _echo @echo off
|
||||
setlocal
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set INIT_TOOLS_LOG=%~dp0init-tools.log
|
||||
set PACKAGES_DIR=%~dp0packages\
|
||||
set TOOLRUNTIME_DIR=%~dp0Tools
|
||||
set /p DOTNET_TOOLS_VERSION=<"%~dp0DotnetCLIToolsVersion.txt"
|
||||
set DOTNET_TOOLS_PATH=%~dp0Tools\dotnet20
|
||||
set dotnetexe=%DOTNET_TOOLS_PATH%\dotnet.exe
|
||||
set sdksentinel=%DOTNET_TOOLS_PATH%\sdk-version.txt
|
||||
|
||||
set DOTNET_PATH=%TOOLRUNTIME_DIR%\dotnetcli\
|
||||
set DOTNET_CMD=%DOTNET_PATH%dotnet.exe
|
||||
|
||||
set DOTNET_TOOLS_PATH=%TOOLRUNTIME_DIR%\dotnet20\
|
||||
set DOTNET_TOOLS_CMD=%DOTNET_TOOLS_PATH%dotnet.exe
|
||||
|
||||
if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json
|
||||
set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt"
|
||||
set BUILD_TOOLS_PATH=%PACKAGES_DIR%microsoft.dotnet.buildtools\%BUILDTOOLS_VERSION%\lib\
|
||||
set PROJECT_JSON_PATH=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION%
|
||||
set PROJECT_JSON_FILE=%PROJECT_JSON_PATH%\project.json
|
||||
set PROJECT_JSON_CONTENTS={ "dependencies": { "Microsoft.DotNet.BuildTools": "%BUILDTOOLS_VERSION%" , "Microsoft.DotNet.BuildTools.Coreclr": "1.0.4-prerelease"}, "frameworks": { "dnxcore50": { } } }
|
||||
set BUILD_TOOLS_SEMAPHORE=%PROJECT_JSON_PATH%\init-tools.completed0
|
||||
set TOOLS_INIT_RETURN_CODE=0
|
||||
|
||||
:: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated
|
||||
if [%1]==[force] (
|
||||
if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%"
|
||||
if exist "%PACKAGES_DIR%microsoft.dotnet.buildtools" rmdir /S /Q "%PACKAGES_DIR%microsoft.dotnet.buildtools"
|
||||
:: remove an old copy of the SDK
|
||||
set cleanup_existing=
|
||||
if exist "%sdksentinel%" (
|
||||
set /p INSTALLED_SDK_VERSION=<"%sdksentinel%"
|
||||
if not "%DOTNET_TOOLS_VERSION%" == "!INSTALLED_SDK_VERSION!" (
|
||||
:: wrong version installed, clean it up
|
||||
set cleanup_existing=1
|
||||
|
||||
) else (
|
||||
echo Found up-to-date SDK.
|
||||
)
|
||||
) else (
|
||||
set cleanup_existing=1
|
||||
)
|
||||
|
||||
set /p DOTNET_TOOLS_VERSION=< "%~dp0DotnetCLIToolsVersion.txt"
|
||||
if not exist "%DOTNET_TOOLS_PATH%\sdk\%DOTNET_TOOLS_VERSION%" (
|
||||
:: dotnet cli doesn't yet exist, delete the semaphore
|
||||
del "%BUILD_TOOLS_SEMAPHORE%" >NUL 2>&1
|
||||
if "!cleanup_existing!" == "1" (
|
||||
echo Removing stale SDK.
|
||||
rmdir /s /q "%DOTNET_TOOLS_PATH%"
|
||||
)
|
||||
|
||||
:: If sempahore exists do nothing
|
||||
if exist "%BUILD_TOOLS_SEMAPHORE%" (
|
||||
echo Tools are already initialized.
|
||||
goto :DONE
|
||||
:: download and install install SDK
|
||||
if not exist "%dotnetexe%" (
|
||||
echo powershell -ExecutionPolicy unrestricted -NoProfile -Command ".\scripts\dotnet-install.ps1 -InstallDir %DOTNET_TOOLS_PATH% -Architecture x64 -Version %DOTNET_TOOLS_VERSION% -NoPath true; exit $LastExitCode;"
|
||||
powershell -ExecutionPolicy unrestricted -NoProfile -Command ".\scripts\dotnet-install.ps1 -InstallDir %DOTNET_TOOLS_PATH% -Architecture x64 -Version %DOTNET_TOOLS_VERSION% -NoPath true; exit $LastExitCode;"
|
||||
if errorlevel 1 (
|
||||
echo ERROR: Could not install dotnet cli correctly.
|
||||
exit /b 1
|
||||
)
|
||||
echo %DOTNET_TOOLS_VERSION%>"%sdksentinel%"
|
||||
)
|
||||
|
||||
:: Download Nuget.exe
|
||||
if NOT exist "%PACKAGES_DIR%NuGet.exe" (
|
||||
if NOT exist "%PACKAGES_DIR%" mkdir "%PACKAGES_DIR%"
|
||||
powershell -NoProfile -ExecutionPolicy unrestricted -Command "$wc = New-Object System.Net.WebClient; $wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy; $wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials; $wc.DownloadFile('https://www.nuget.org/nuget.exe', '%PACKAGES_DIR%NuGet.exe')
|
||||
)
|
||||
|
||||
if NOT exist "%PROJECT_JSON_PATH%" mkdir "%PROJECT_JSON_PATH%"
|
||||
echo %PROJECT_JSON_CONTENTS% > "%PROJECT_JSON_FILE%"
|
||||
echo Running %0 > "%INIT_TOOLS_LOG%"
|
||||
|
||||
if exist "%DOTNET_TOOLS_PATH%" goto :afterdotnettoolsrestore
|
||||
|
||||
echo Installing dotnet OLD VERSION OF THE cli...
|
||||
echo ==========================================
|
||||
echo This is temporary until we build using the new dotnetcli
|
||||
echo The dotnet cli is a large file it may take a few minutes ...
|
||||
echo powershell -ExecutionPolicy unrestricted -NoProfile -Command ".\scripts\dotnet-install.ps1 -InstallDir %DOTNET_TOOLS_PATH% -Architecture x64 -Version %DOTNET_TOOLS_VERSION% -NoPath true; exit $LastExitCode;"
|
||||
powershell -ExecutionPolicy unrestricted -NoProfile -Command ".\scripts\dotnet-install.ps1 -InstallDir %DOTNET_TOOLS_PATH% -Architecture x64 -Version %DOTNET_TOOLS_VERSION% -NoPath true; exit $LastExitCode;"
|
||||
if errorlevel 1 (
|
||||
echo ERROR: Could not install dotnet cli correctly.
|
||||
set TOOLS_INIT_RETURN_CODE=1
|
||||
goto :DONE
|
||||
)
|
||||
echo "%DOTNET_TOOLS_VERSION% >> "%DOTNET_TOOLS_PATH%\sdk\%DOTNET_TOOLS_VERSION%"
|
||||
:afterdotnettoolsrestore
|
||||
|
||||
set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
|
||||
if exist "%DOTNET_CMD%" goto :afterdotnetrestore
|
||||
|
||||
echo Installing dotnet cli...
|
||||
echo The dotnet cli is a large file it may take a few minutes ...
|
||||
echo powershell -ExecutionPolicy unrestricted -NoProfile -Command ".\scripts\dotnet-install.ps1 -InstallDir %DOTNET_PATH% -Architecture x64 -Version %DOTNET_VERSION% -NoPath true; exit $LastExitCode;"
|
||||
powershell -ExecutionPolicy unrestricted -NoProfile -Command ".\scripts\dotnet-install.ps1 -InstallDir %DOTNET_PATH% -Architecture x64 -Version %DOTNET_VERSION% -NoPath true; exit $LastExitCode;"
|
||||
if errorlevel 1 (
|
||||
echo ERROR: Could not install dotnet cli correctly.
|
||||
set TOOLS_INIT_RETURN_CODE=1
|
||||
goto :DONE
|
||||
)
|
||||
:afterdotnetrestore
|
||||
|
||||
if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore
|
||||
echo Restoring BuildTools version %BUILDTOOLS_VERSION%...
|
||||
echo Running: "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages "%PACKAGES_DIR% " --source "%BUILDTOOLS_SOURCE%" >> "%INIT_TOOLS_LOG%"
|
||||
call "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages "%PACKAGES_DIR% " --source "%BUILDTOOLS_SOURCE%" >> "%INIT_TOOLS_LOG%"
|
||||
if NOT exist "%BUILD_TOOLS_PATH%init-tools.cmd" (
|
||||
echo ERROR: Could not restore build tools correctly. See '%INIT_TOOLS_LOG%' for more details.
|
||||
set TOOLS_INIT_RETURN_CODE=1
|
||||
goto :DONE
|
||||
)
|
||||
|
||||
:afterbuildtoolsrestore
|
||||
|
||||
echo Initializing BuildTools ...
|
||||
echo Running: "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%"
|
||||
call "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%"
|
||||
|
||||
echo Updating CLI NuGet Frameworks map...
|
||||
robocopy "%TOOLRUNTIME_DIR%" "%DOTNET_PATH%\sdk\%DOTNET_VERSION%" NuGet.Frameworks.dll /XO >> "%INIT_TOOLS_LOG%"
|
||||
set UPDATE_CLI_ERRORLEVEL=%ERRORLEVEL%
|
||||
if %UPDATE_CLI_ERRORLEVEL% GTR 1 (
|
||||
echo ERROR: Failed to update Nuget for CLI {Error level %UPDATE_CLI_ERRORLEVEL%}. Please check '%INIT_TOOLS_LOG%' for more details. 1>&2
|
||||
exit /b %UPDATE_CLI_ERRORLEVEL%
|
||||
)
|
||||
|
||||
:: Create sempahore file
|
||||
echo Done initializing tools.
|
||||
echo Init-Tools.cmd completed for BuildTools Version: %BUILDTOOLS_VERSION% > "%BUILD_TOOLS_SEMAPHORE%"
|
||||
|
||||
:DONE
|
||||
|
||||
exit /b %TOOLS_INIT_RETURN_CODE%
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# note: expects to run from top directory
|
||||
./mono/latest-mono-stable.sh
|
||||
#./mono/latest-mono-stable.sh
|
||||
make Configuration=$@
|
||||
#sudo make install Configuration=$@
|
||||
#./mono/test-mono.sh
|
|
@ -1,89 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
|
||||
<!-- The packages to build and test the F# Compiler -->
|
||||
<!-- Packages for the Visual F# IDE Tools should go in vsintegration\packages.config -->
|
||||
|
||||
<!-- CodeGen-->
|
||||
<package id="FsLexYacc" version="7.0.6" targetFramework="net46" />
|
||||
|
||||
<!-- Build infrastructure-->
|
||||
<package id="MicroBuild.Core" version="0.2.0" />
|
||||
<package id="MicroBuild.Core.Sentinel" version="1.0.0" />
|
||||
|
||||
<!-- For the internal orchestrated build. This version should be kept in sync with `PublishToBlob.proj` -->
|
||||
<package id="Microsoft.DotNet.Build.Tasks.Feed" version="2.1.0-prerelease-02419-02" />
|
||||
|
||||
<!-- Actual dependencies of FSharp.Compiler.dll and FSharp.Core.dll -->
|
||||
<package id="System.Collections.Immutable" version="1.5.0" />
|
||||
<package id="System.Reflection.Metadata" version="1.6.0" />
|
||||
<package id="System.ValueTuple" version="4.3.0" />
|
||||
<package id="System.ValueTuple" version="4.4.0" />
|
||||
<package id="FSharp.Core" version="4.5.2"/>
|
||||
<package id="Microsoft.Build" version="14.3.0" />
|
||||
<package id="Microsoft.Build.Framework" version="14.3.0" />
|
||||
<package id="Microsoft.Build.Utilities.Core" version="14.3.0" />
|
||||
<package id="Microsoft.Build.Tasks.Core" version="14.3.0" />
|
||||
|
||||
<package id="Microsoft.Build" version="15.8.166" />
|
||||
<package id="Microsoft.Build.Framework" version="15.8.166" />
|
||||
<package id="Microsoft.Build.Utilities.Core" version="15.8.166" />
|
||||
<package id="Microsoft.Build.Tasks.Core" version="15.8.166" />
|
||||
<package id="System.IO.Compression" version="4.3.0" />
|
||||
|
||||
<!-- Testing -->
|
||||
<package id="FsCheck" version="3.0.0-alpha3" />
|
||||
<package id="NUnit" version="3.5.0" targetFramework="net45" />
|
||||
<package id="NUnit.Console" version="3.0.0" targetFramework="net45" />
|
||||
<package id="NUnitLite" version="3.5.0" targetFramework="net45" />
|
||||
<package id="NUnit3TestAdapter" version="3.0.8-ctp-8" targetFramework="net45" />
|
||||
<package id="BenchmarkDotNet" version="0.9.8"/>
|
||||
<package id="BenchmarkDotNet.Diagnostics.Windows" version="0.9.8"/>
|
||||
<package id="Newtonsoft.Json" version="9.0.1"/>
|
||||
<package id="Microsoft.VisualFSharp.Type.Providers.Redist" version="1.0.0" />
|
||||
<package id="Microsoft.FSharp.TupleSample" version="1.0.0-alpha-161121"/>
|
||||
<package id="Microsoft.VSSDK.BuildTools" version="15.6.170" />
|
||||
|
||||
<!-- Testing Span -->
|
||||
<package id="System.Memory" version="4.5.0-rc1" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.0-rc1" />
|
||||
<package id="NETStandard.Library.NETFramework" version="2.0.0-preview2-25405-01" />
|
||||
|
||||
<!-- Annoyingly the build of FSharp.Compiler.Server.Shared references a Visual Studio-specific attribute -->
|
||||
<!-- That DLL is logically part of the F# Compiler and F# Interactive but is shipped as part of the Visual F# IDE Tools -->
|
||||
<package id="Microsoft.VisualStudio.Shell.Immutable.10.0" version="10.0.30319" targetFramework="net46" />
|
||||
<package id="Microsoft.VisualStudio.Shell.15.0" version="15.0.26201" targetFramework="net46" />
|
||||
<package id="Microsoft.VisualStudio.Shell.Framework" version="15.0.26201" targetFramework="net46" />
|
||||
|
||||
<!-- FSharp.Compiler.Tools is only used to get a working FSI.EXE to execute some scripts during the build -->
|
||||
<!-- The LKG FSI.EXE requires MSBuild 15 to be installed, which is painful -->
|
||||
<package id="FSharp.Compiler.Tools" version="4.1.27"/>
|
||||
|
||||
<!-- Frozen portable library versions of FSharp.Core.dll (simply a renamed fsharp.core.4.1.18-->
|
||||
<package id="Microsoft.Portable.FSharp.Core" version="10.1.0"/>
|
||||
|
||||
<!-- FSharp.Core is used to get back versions of FSharp.Core -->
|
||||
<package id="FSharp.Core" version="4.1.17"/>
|
||||
|
||||
<!-- FSharp.Core is used to get back versions of FSharp.Core -->
|
||||
<package id="FSharp.Core" version="4.0.0.1"/>
|
||||
|
||||
<!-- FSharp.Core is used to get back versions of FSharp.Core -->
|
||||
<package id="FSharp.Core" version="3.1.2.5"/>
|
||||
|
||||
<!-- FSharp.Core is used to get back versions of FSharp.Core -->
|
||||
<package id="FSharp.Core" version="3.0.2"/>
|
||||
|
||||
<!-- FSharp.Data is used in some of the scripts ued for the coreclr build -->
|
||||
<package id="FSharp.Data" version="2.2.5" />
|
||||
|
||||
<!-- FSharp.Configuration is one type provider used in testing -->
|
||||
<package id="FSharp.Configuration" version="1.3.0" />
|
||||
|
||||
<!-- Perl is used for the fsharpqa test suite -->
|
||||
<package id="StrawberryPerl64" version="5.22.2.1" />
|
||||
|
||||
<!-- Xliff localization -->
|
||||
<package id="XliffTasks" version="0.2.0-beta-000081" />
|
||||
|
||||
</packages>
|
|
@ -0,0 +1,30 @@
|
|||
<Project DefaultTargets="Build">
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Proto</Configuration>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Projects Include="src\buildtools\buildtools.proj" />
|
||||
<Projects Include="src\fsharp\FSharp.Build\FSharp.Build.fsproj" />
|
||||
<Projects Include="src\fsharp\Fsc\Fsc.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
<MSBuild Projects="@(Projects)" Targets="Build" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Rebuild">
|
||||
<MSBuild Projects="@(Projects)" Targets="Rebuild" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean">
|
||||
<MSBuild Projects="@(Projects)" Targets="Clean" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Restore">
|
||||
<MSBuild Projects="@(Projects)" Targets="Restore" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -22,7 +22,7 @@ exec 3>&1
|
|||
|
||||
# Setup some colors to use. These need to work in fairly limited shells, like the Ubuntu Docker container where there are only 8 colors.
|
||||
# See if stdout is a terminal
|
||||
if [ -t 1 ]; then
|
||||
if [ -t 1 ] && command -v tput > /dev/null; then
|
||||
# see if it supports colors
|
||||
ncolors=$(tput colors)
|
||||
if [ -n "$ncolors" ] && [ $ncolors -ge 8 ]; then
|
||||
|
@ -39,6 +39,10 @@ if [ -t 1 ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
say_warning() {
|
||||
printf "%b\n" "${yellow:-}dotnet_install: Warning: $1${normal:-}"
|
||||
}
|
||||
|
||||
say_err() {
|
||||
printf "%b\n" "${red:-}dotnet_install: Error: $1${normal:-}" >&2
|
||||
}
|
||||
|
@ -55,7 +59,10 @@ say_verbose() {
|
|||
fi
|
||||
}
|
||||
|
||||
get_os_download_name_from_platform() {
|
||||
# This platform list is finite - if the SDK/Runtime has supported Linux distribution-specific assets,
|
||||
# then and only then should the Linux distribution appear in this list.
|
||||
# Adding a Linux distribution to this list does not imply distribution-specific support.
|
||||
get_legacy_os_name_from_platform() {
|
||||
eval $invocation
|
||||
|
||||
platform="$1"
|
||||
|
@ -68,6 +75,10 @@ get_os_download_name_from_platform() {
|
|||
echo "debian"
|
||||
return 0
|
||||
;;
|
||||
"debian.9")
|
||||
echo "debian.9"
|
||||
return 0
|
||||
;;
|
||||
"fedora.23")
|
||||
echo "fedora.23"
|
||||
return 0
|
||||
|
@ -76,6 +87,14 @@ get_os_download_name_from_platform() {
|
|||
echo "fedora.24"
|
||||
return 0
|
||||
;;
|
||||
"fedora.27")
|
||||
echo "fedora.27"
|
||||
return 0
|
||||
;;
|
||||
"fedora.28")
|
||||
echo "fedora.28"
|
||||
return 0
|
||||
;;
|
||||
"opensuse.13.2")
|
||||
echo "opensuse.13.2"
|
||||
return 0
|
||||
|
@ -84,6 +103,10 @@ get_os_download_name_from_platform() {
|
|||
echo "opensuse.42.1"
|
||||
return 0
|
||||
;;
|
||||
"opensuse.42.3")
|
||||
echo "opensuse.42.3"
|
||||
return 0
|
||||
;;
|
||||
"rhel.7"*)
|
||||
echo "rhel"
|
||||
return 0
|
||||
|
@ -100,6 +123,10 @@ get_os_download_name_from_platform() {
|
|||
echo "ubuntu.16.10"
|
||||
return 0
|
||||
;;
|
||||
"ubuntu.18.04")
|
||||
echo "ubuntu.18.04"
|
||||
return 0
|
||||
;;
|
||||
"alpine.3.4.3")
|
||||
echo "alpine"
|
||||
return 0
|
||||
|
@ -108,6 +135,30 @@ get_os_download_name_from_platform() {
|
|||
return 1
|
||||
}
|
||||
|
||||
get_linux_platform_name() {
|
||||
eval $invocation
|
||||
|
||||
if [ -n "$runtime_id" ]; then
|
||||
echo "${runtime_id%-*}"
|
||||
return 0
|
||||
else
|
||||
if [ -e /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
echo "$ID.$VERSION_ID"
|
||||
return 0
|
||||
elif [ -e /etc/redhat-release ]; then
|
||||
local redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
echo "rhel.6"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
say_verbose "Linux specific platform name and version could not be detected: UName = $uname"
|
||||
return 1
|
||||
}
|
||||
|
||||
get_current_os_name() {
|
||||
eval $invocation
|
||||
|
||||
|
@ -115,18 +166,27 @@ get_current_os_name() {
|
|||
if [ "$uname" = "Darwin" ]; then
|
||||
echo "osx"
|
||||
return 0
|
||||
else
|
||||
if [ "$uname" = "Linux" ]; then
|
||||
elif [ "$uname" = "Linux" ]; then
|
||||
local linux_platform_name
|
||||
linux_platform_name="$(get_linux_platform_name)" || { echo "linux" && return 0 ; }
|
||||
|
||||
if [[ $linux_platform_name == "rhel.6" ]]; then
|
||||
echo $linux_platform_name
|
||||
return 0
|
||||
elif [[ $linux_platform_name == alpine* ]]; then
|
||||
echo "linux-musl"
|
||||
return 0
|
||||
else
|
||||
echo "linux"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
say_err "OS name could not be detected: $ID.$VERSION_ID"
|
||||
|
||||
say_err "OS name could not be detected: UName = $uname"
|
||||
return 1
|
||||
}
|
||||
|
||||
get_distro_specific_os_name() {
|
||||
get_legacy_os_name() {
|
||||
eval $invocation
|
||||
|
||||
local uname=$(uname)
|
||||
|
@ -134,20 +194,20 @@ get_distro_specific_os_name() {
|
|||
echo "osx"
|
||||
return 0
|
||||
elif [ -n "$runtime_id" ]; then
|
||||
echo $(get_os_download_name_from_platform "${runtime_id%-*}" || echo "${runtime_id%-*}")
|
||||
echo $(get_legacy_os_name_from_platform "${runtime_id%-*}" || echo "${runtime_id%-*}")
|
||||
return 0
|
||||
else
|
||||
if [ -e /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
os=$(get_os_download_name_from_platform "$ID.$VERSION_ID" || echo "")
|
||||
os=$(get_legacy_os_name_from_platform "$ID.$VERSION_ID" || echo "")
|
||||
if [ -n "$os" ]; then
|
||||
echo "$os"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
say_verbose "Distribution specific OS name and version could not be detected: $ID.$VERSION_ID"
|
||||
|
||||
say_verbose "Distribution specific OS name and version could not be detected: UName = $uname"
|
||||
return 1
|
||||
}
|
||||
|
||||
|
@ -176,30 +236,28 @@ check_min_reqs() {
|
|||
|
||||
check_pre_reqs() {
|
||||
eval $invocation
|
||||
|
||||
local failing=false;
|
||||
|
||||
if [ "${DOTNET_INSTALL_SKIP_PREREQS:-}" = "1" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$(uname)" = "Linux" ]; then
|
||||
if ! [ -x "$(command -v ldconfig)" ]; then
|
||||
if [ ! -x "$(command -v ldconfig)" ]; then
|
||||
echo "ldconfig is not in PATH, trying /sbin/ldconfig."
|
||||
LDCONFIG_COMMAND="/sbin/ldconfig"
|
||||
else
|
||||
LDCONFIG_COMMAND="ldconfig"
|
||||
fi
|
||||
|
||||
[ -z "$($LDCONFIG_COMMAND -p | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND -p | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true
|
||||
[ -z "$($LDCONFIG_COMMAND -p | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true
|
||||
local librarypath=${LD_LIBRARY_PATH:-}
|
||||
LDCONFIG_COMMAND="$LDCONFIG_COMMAND -NXv ${librarypath//:/ }"
|
||||
|
||||
[ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep libunwind)" ] && say_warning "Unable to locate libunwind. Probable prerequisite missing; please install libunwind."
|
||||
[ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep libssl)" ] && say_warning "Unable to locate libssl. Probable prerequisite missing; please install libssl."
|
||||
[ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep libicu)" ] && say_warning "Unable to locate libicu. Probable prerequisite missing; please install libicu."
|
||||
[ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep -F libcurl.so)" ] && say_warning "Unable to locate libcurl. Probable prerequisite missing; please install libcurl."
|
||||
fi
|
||||
|
||||
if [ "$failing" = true ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -207,7 +265,7 @@ check_pre_reqs() {
|
|||
# input - $1
|
||||
to_lowercase() {
|
||||
#eval $invocation
|
||||
|
||||
|
||||
echo "$1" | tr '[:upper:]' '[:lower:]'
|
||||
return 0
|
||||
}
|
||||
|
@ -216,8 +274,8 @@ to_lowercase() {
|
|||
# input - $1
|
||||
remove_trailing_slash() {
|
||||
#eval $invocation
|
||||
|
||||
local input=${1:-}
|
||||
|
||||
local input="${1:-}"
|
||||
echo "${input%/}"
|
||||
return 0
|
||||
}
|
||||
|
@ -226,8 +284,8 @@ remove_trailing_slash() {
|
|||
# input - $1
|
||||
remove_beginning_slash() {
|
||||
#eval $invocation
|
||||
|
||||
local input=${1:-}
|
||||
|
||||
local input="${1:-}"
|
||||
echo "${input#/}"
|
||||
return 0
|
||||
}
|
||||
|
@ -237,15 +295,15 @@ remove_beginning_slash() {
|
|||
# child_path - $2 - this parameter can be empty
|
||||
combine_paths() {
|
||||
eval $invocation
|
||||
|
||||
|
||||
# TODO: Consider making it work with any number of paths. For now:
|
||||
if [ ! -z "${3:-}" ]; then
|
||||
say_err "combine_paths: Function takes two parameters."
|
||||
return 1
|
||||
fi
|
||||
|
||||
local root_path=$(remove_trailing_slash $1)
|
||||
local child_path=$(remove_beginning_slash ${2:-})
|
||||
|
||||
local root_path="$(remove_trailing_slash "$1")"
|
||||
local child_path="$(remove_beginning_slash "${2:-}")"
|
||||
say_verbose "combine_paths: root_path=$root_path"
|
||||
say_verbose "combine_paths: child_path=$child_path"
|
||||
echo "$root_path/$child_path"
|
||||
|
@ -254,8 +312,22 @@ combine_paths() {
|
|||
|
||||
get_machine_architecture() {
|
||||
eval $invocation
|
||||
|
||||
# Currently the only one supported
|
||||
|
||||
if command -v uname > /dev/null; then
|
||||
CPUName=$(uname -m)
|
||||
case $CPUName in
|
||||
armv7l)
|
||||
echo "arm"
|
||||
return 0
|
||||
;;
|
||||
aarch64)
|
||||
echo "arm64"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Always default to 'x64'
|
||||
echo "x64"
|
||||
return 0
|
||||
}
|
||||
|
@ -264,23 +336,27 @@ get_machine_architecture() {
|
|||
# architecture - $1
|
||||
get_normalized_architecture_from_architecture() {
|
||||
eval $invocation
|
||||
|
||||
local architecture=$(to_lowercase $1)
|
||||
case $architecture in
|
||||
|
||||
local architecture="$(to_lowercase "$1")"
|
||||
case "$architecture" in
|
||||
\<auto\>)
|
||||
echo "$(get_normalized_architecture_from_architecture $(get_machine_architecture))"
|
||||
echo "$(get_normalized_architecture_from_architecture "$(get_machine_architecture)")"
|
||||
return 0
|
||||
;;
|
||||
amd64|x64)
|
||||
echo "x64"
|
||||
return 0
|
||||
;;
|
||||
x86)
|
||||
say_err "Architecture \`x86\` currently not supported"
|
||||
return 1
|
||||
arm)
|
||||
echo "arm"
|
||||
return 0
|
||||
;;
|
||||
arm64)
|
||||
echo "arm64"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
say_err "Architecture \`$architecture\` not supported. If you think this is a bug, please report it at https://github.com/dotnet/cli/issues"
|
||||
return 1
|
||||
}
|
||||
|
@ -294,8 +370,8 @@ get_normalized_architecture_from_architecture() {
|
|||
# version_text - stdin
|
||||
get_version_from_version_info() {
|
||||
eval $invocation
|
||||
|
||||
cat | tail -n 1
|
||||
|
||||
cat | tail -n 1 | sed 's/\r$//'
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -303,8 +379,8 @@ get_version_from_version_info() {
|
|||
# version_text - stdin
|
||||
get_commit_hash_from_version_info() {
|
||||
eval $invocation
|
||||
|
||||
cat | head -n 1
|
||||
|
||||
cat | head -n 1 | sed 's/\r$//'
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -314,14 +390,14 @@ get_commit_hash_from_version_info() {
|
|||
# specific_version - $3
|
||||
is_dotnet_package_installed() {
|
||||
eval $invocation
|
||||
|
||||
local install_root=$1
|
||||
local relative_path_to_package=$2
|
||||
local specific_version=${3//[$'\t\r\n']}
|
||||
|
||||
local dotnet_package_path=$(combine_paths $(combine_paths $install_root $relative_path_to_package) $specific_version)
|
||||
|
||||
local install_root="$1"
|
||||
local relative_path_to_package="$2"
|
||||
local specific_version="${3//[$'\t\r\n']}"
|
||||
|
||||
local dotnet_package_path="$(combine_paths "$(combine_paths "$install_root" "$relative_path_to_package")" "$specific_version")"
|
||||
say_verbose "is_dotnet_package_installed: dotnet_package_path=$dotnet_package_path"
|
||||
|
||||
|
||||
if [ -d "$dotnet_package_path" ]; then
|
||||
return 0
|
||||
else
|
||||
|
@ -333,27 +409,33 @@ is_dotnet_package_installed() {
|
|||
# azure_feed - $1
|
||||
# channel - $2
|
||||
# normalized_architecture - $3
|
||||
# coherent - $4
|
||||
get_latest_version_info() {
|
||||
eval $invocation
|
||||
|
||||
local azure_feed=$1
|
||||
local channel=$2
|
||||
local normalized_architecture=$3
|
||||
local coherent=$4
|
||||
|
||||
local azure_feed="$1"
|
||||
local channel="$2"
|
||||
local normalized_architecture="$3"
|
||||
local coherent="$4"
|
||||
|
||||
local version_file_url=null
|
||||
if [ "$shared_runtime" = true ]; then
|
||||
if [[ "$runtime" == "dotnet" ]]; then
|
||||
version_file_url="$uncached_feed/Runtime/$channel/latest.version"
|
||||
else
|
||||
elif [[ "$runtime" == "aspnetcore" ]]; then
|
||||
version_file_url="$uncached_feed/aspnetcore/Runtime/$channel/latest.version"
|
||||
elif [ -z "$runtime" ]; then
|
||||
if [ "$coherent" = true ]; then
|
||||
version_file_url="$uncached_feed/Sdk/$channel/latest.coherent.version"
|
||||
else
|
||||
version_file_url="$uncached_feed/Sdk/$channel/latest.version"
|
||||
fi
|
||||
else
|
||||
say_err "Invalid value for \$runtime"
|
||||
return 1
|
||||
fi
|
||||
say_verbose "get_latest_version_info: latest url: $version_file_url"
|
||||
|
||||
download $version_file_url
|
||||
|
||||
download "$version_file_url"
|
||||
return $?
|
||||
}
|
||||
|
||||
|
@ -364,29 +446,29 @@ get_latest_version_info() {
|
|||
# version - $4
|
||||
get_specific_version_from_version() {
|
||||
eval $invocation
|
||||
|
||||
local azure_feed=$1
|
||||
local channel=$2
|
||||
local normalized_architecture=$3
|
||||
local version=$(to_lowercase $4)
|
||||
|
||||
case $version in
|
||||
local azure_feed="$1"
|
||||
local channel="$2"
|
||||
local normalized_architecture="$3"
|
||||
local version="$(to_lowercase "$4")"
|
||||
|
||||
case "$version" in
|
||||
latest)
|
||||
local version_info
|
||||
version_info="$(get_latest_version_info $azure_feed $channel $normalized_architecture false)" || return 1
|
||||
version_info="$(get_latest_version_info "$azure_feed" "$channel" "$normalized_architecture" false)" || return 1
|
||||
say_verbose "get_specific_version_from_version: version_info=$version_info"
|
||||
echo "$version_info" | get_version_from_version_info
|
||||
return 0
|
||||
;;
|
||||
coherent)
|
||||
local version_info
|
||||
version_info="$(get_latest_version_info $azure_feed $channel $normalized_architecture true)" || return 1
|
||||
version_info="$(get_latest_version_info "$azure_feed" "$channel" "$normalized_architecture" true)" || return 1
|
||||
say_verbose "get_specific_version_from_version: version_info=$version_info"
|
||||
echo "$version_info" | get_version_from_version_info
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
echo $version
|
||||
echo "$version"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
@ -399,22 +481,26 @@ get_specific_version_from_version() {
|
|||
# specific_version - $4
|
||||
construct_download_link() {
|
||||
eval $invocation
|
||||
|
||||
local azure_feed=$1
|
||||
local channel=$2
|
||||
local normalized_architecture=$3
|
||||
local specific_version=${4//[$'\t\r\n']}
|
||||
|
||||
|
||||
local azure_feed="$1"
|
||||
local channel="$2"
|
||||
local normalized_architecture="$3"
|
||||
local specific_version="${4//[$'\t\r\n']}"
|
||||
|
||||
local osname
|
||||
osname=$(get_current_os_name) || return 1
|
||||
osname="$(get_current_os_name)" || return 1
|
||||
|
||||
local download_link=null
|
||||
if [ "$shared_runtime" = true ]; then
|
||||
if [[ "$runtime" == "dotnet" ]]; then
|
||||
download_link="$azure_feed/Runtime/$specific_version/dotnet-runtime-$specific_version-$osname-$normalized_architecture.tar.gz"
|
||||
else
|
||||
elif [[ "$runtime" == "aspnetcore" ]]; then
|
||||
download_link="$azure_feed/aspnetcore/Runtime/$specific_version/aspnetcore-runtime-$specific_version-$osname-$normalized_architecture.tar.gz"
|
||||
elif [ -z "$runtime" ]; then
|
||||
download_link="$azure_feed/Sdk/$specific_version/dotnet-sdk-$specific_version-$osname-$normalized_architecture.tar.gz"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
echo "$download_link"
|
||||
return 0
|
||||
}
|
||||
|
@ -426,20 +512,22 @@ construct_download_link() {
|
|||
# specific_version - $4
|
||||
construct_legacy_download_link() {
|
||||
eval $invocation
|
||||
|
||||
local azure_feed=$1
|
||||
local channel=$2
|
||||
local normalized_architecture=$3
|
||||
local specific_version=${4//[$'\t\r\n']}
|
||||
|
||||
local azure_feed="$1"
|
||||
local channel="$2"
|
||||
local normalized_architecture="$3"
|
||||
local specific_version="${4//[$'\t\r\n']}"
|
||||
|
||||
local distro_specific_osname
|
||||
distro_specific_osname=$(get_distro_specific_os_name) || return 1
|
||||
distro_specific_osname="$(get_legacy_os_name)" || return 1
|
||||
|
||||
local legacy_download_link=null
|
||||
if [ "$shared_runtime" = true ]; then
|
||||
if [[ "$runtime" == "dotnet" ]]; then
|
||||
legacy_download_link="$azure_feed/Runtime/$specific_version/dotnet-$distro_specific_osname-$normalized_architecture.$specific_version.tar.gz"
|
||||
else
|
||||
elif [ -z "$runtime" ]; then
|
||||
legacy_download_link="$azure_feed/Sdk/$specific_version/dotnet-dev-$distro_specific_osname-$normalized_architecture.$specific_version.tar.gz"
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "$legacy_download_link"
|
||||
|
@ -448,9 +536,9 @@ construct_legacy_download_link() {
|
|||
|
||||
get_user_install_path() {
|
||||
eval $invocation
|
||||
|
||||
|
||||
if [ ! -z "${DOTNET_INSTALL_DIR:-}" ]; then
|
||||
echo $DOTNET_INSTALL_DIR
|
||||
echo "$DOTNET_INSTALL_DIR"
|
||||
else
|
||||
echo "$HOME/.dotnet"
|
||||
fi
|
||||
|
@ -461,15 +549,15 @@ get_user_install_path() {
|
|||
# install_dir - $1
|
||||
resolve_installation_path() {
|
||||
eval $invocation
|
||||
|
||||
|
||||
local install_dir=$1
|
||||
if [ "$install_dir" = "<auto>" ]; then
|
||||
local user_install_path=$(get_user_install_path)
|
||||
local user_install_path="$(get_user_install_path)"
|
||||
say_verbose "resolve_installation_path: user_install_path=$user_install_path"
|
||||
echo "$user_install_path"
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
||||
echo "$install_dir"
|
||||
return 0
|
||||
}
|
||||
|
@ -478,16 +566,16 @@ resolve_installation_path() {
|
|||
# install_root - $1
|
||||
get_installed_version_info() {
|
||||
eval $invocation
|
||||
|
||||
local install_root=$1
|
||||
local version_file=$(combine_paths "$install_root" "$local_version_file_relative_path")
|
||||
|
||||
local install_root="$1"
|
||||
local version_file="$(combine_paths "$install_root" "$local_version_file_relative_path")"
|
||||
say_verbose "Local version file: $version_file"
|
||||
if [ ! -z "$version_file" ] | [ -r "$version_file" ]; then
|
||||
local version_info="$(cat $version_file)"
|
||||
local version_info="$(cat "$version_file")"
|
||||
echo "$version_info"
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
||||
say_verbose "Local version file not found."
|
||||
return 0
|
||||
}
|
||||
|
@ -496,9 +584,9 @@ get_installed_version_info() {
|
|||
# relative_or_absolute_path - $1
|
||||
get_absolute_path() {
|
||||
eval $invocation
|
||||
|
||||
|
||||
local relative_or_absolute_path=$1
|
||||
echo $(cd $(dirname "$1") && pwd -P)/$(basename "$1")
|
||||
echo "$(cd "$(dirname "$1")" && pwd -P)/$(basename "$1")"
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -510,17 +598,25 @@ get_absolute_path() {
|
|||
copy_files_or_dirs_from_list() {
|
||||
eval $invocation
|
||||
|
||||
local root_path=$(remove_trailing_slash $1)
|
||||
local out_path=$(remove_trailing_slash $2)
|
||||
local override=$3
|
||||
local override_switch=$(if [ "$override" = false ]; then printf -- "-n"; fi)
|
||||
|
||||
local root_path="$(remove_trailing_slash "$1")"
|
||||
local out_path="$(remove_trailing_slash "$2")"
|
||||
local override="$3"
|
||||
local osname="$(get_current_os_name)"
|
||||
local override_switch=$(
|
||||
if [ "$override" = false ]; then
|
||||
if [[ "$osname" == "linux-musl" ]]; then
|
||||
printf -- "-u";
|
||||
else
|
||||
printf -- "-n";
|
||||
fi
|
||||
fi)
|
||||
|
||||
cat | uniq | while read -r file_path; do
|
||||
local path=$(remove_beginning_slash ${file_path#$root_path})
|
||||
local target=$out_path/$path
|
||||
local path="$(remove_beginning_slash "${file_path#$root_path}")"
|
||||
local target="$out_path/$path"
|
||||
if [ "$override" = true ] || (! ([ -d "$target" ] || [ -e "$target" ])); then
|
||||
mkdir -p $out_path/$(dirname $path)
|
||||
cp -R $override_switch $root_path/$path $target
|
||||
mkdir -p "$out_path/$(dirname "$path")"
|
||||
cp -R $override_switch "$root_path/$path" "$target"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
@ -530,21 +626,21 @@ copy_files_or_dirs_from_list() {
|
|||
# out_path - $2
|
||||
extract_dotnet_package() {
|
||||
eval $invocation
|
||||
|
||||
local zip_path=$1
|
||||
local out_path=$2
|
||||
|
||||
local temp_out_path=$(mktemp -d $temporary_file_template)
|
||||
|
||||
|
||||
local zip_path="$1"
|
||||
local out_path="$2"
|
||||
|
||||
local temp_out_path="$(mktemp -d "$temporary_file_template")"
|
||||
|
||||
local failed=false
|
||||
tar -xzf "$zip_path" -C "$temp_out_path" > /dev/null || failed=true
|
||||
|
||||
|
||||
local folders_with_version_regex='^.*/[0-9]+\.[0-9]+[^/]+/'
|
||||
find $temp_out_path -type f | grep -Eo $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path false
|
||||
find $temp_out_path -type f | grep -Ev $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path true
|
||||
|
||||
rm -rf $temp_out_path
|
||||
|
||||
find "$temp_out_path" -type f | grep -Eo "$folders_with_version_regex" | sort | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" false
|
||||
find "$temp_out_path" -type f | grep -Ev "$folders_with_version_regex" | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" "$override_non_versioned_files"
|
||||
|
||||
rm -rf "$temp_out_path"
|
||||
|
||||
if [ "$failed" = true ]; then
|
||||
say_err "Extraction failed"
|
||||
return 1
|
||||
|
@ -557,14 +653,19 @@ extract_dotnet_package() {
|
|||
download() {
|
||||
eval $invocation
|
||||
|
||||
local remote_path=$1
|
||||
local out_path=${2:-}
|
||||
local remote_path="$1"
|
||||
local out_path="${2:-}"
|
||||
|
||||
if [[ "$remote_path" != "http"* ]]; then
|
||||
cp "$remote_path" "$out_path"
|
||||
return $?
|
||||
fi
|
||||
|
||||
local failed=false
|
||||
if machine_has "curl"; then
|
||||
downloadcurl $remote_path $out_path || failed=true
|
||||
downloadcurl "$remote_path" "$out_path" || failed=true
|
||||
elif machine_has "wget"; then
|
||||
downloadwget $remote_path $out_path || failed=true
|
||||
downloadwget "$remote_path" "$out_path" || failed=true
|
||||
else
|
||||
failed=true
|
||||
fi
|
||||
|
@ -577,14 +678,17 @@ download() {
|
|||
|
||||
downloadcurl() {
|
||||
eval $invocation
|
||||
local remote_path=$1
|
||||
local out_path=${2:-}
|
||||
local remote_path="$1"
|
||||
local out_path="${2:-}"
|
||||
|
||||
# Append feed_credential as late as possible before calling curl to avoid logging feed_credential
|
||||
remote_path="${remote_path}${feed_credential}"
|
||||
|
||||
local failed=false
|
||||
if [ -z "$out_path" ]; then
|
||||
curl --retry 10 -sSL -f --create-dirs $remote_path || failed=true
|
||||
curl --retry 10 -sSL -f --create-dirs "$remote_path" || failed=true
|
||||
else
|
||||
curl --retry 10 -sSL -f --create-dirs -o $out_path $remote_path || failed=true
|
||||
curl --retry 10 -sSL -f --create-dirs -o "$out_path" "$remote_path" || failed=true
|
||||
fi
|
||||
if [ "$failed" = true ]; then
|
||||
say_verbose "Curl download failed"
|
||||
|
@ -595,14 +699,17 @@ downloadcurl() {
|
|||
|
||||
downloadwget() {
|
||||
eval $invocation
|
||||
local remote_path=$1
|
||||
local out_path=${2:-}
|
||||
local remote_path="$1"
|
||||
local out_path="${2:-}"
|
||||
|
||||
# Append feed_credential as late as possible before calling wget to avoid logging feed_credential
|
||||
remote_path="${remote_path}${feed_credential}"
|
||||
|
||||
local failed=false
|
||||
if [ -z "$out_path" ]; then
|
||||
wget -q --tries 10 $remote_path || failed=true
|
||||
wget -q --tries 10 -O - "$remote_path" || failed=true
|
||||
else
|
||||
wget -v --tries 10 -O $out_path $remote_path || failed=true
|
||||
wget --tries 10 -O "$out_path" "$remote_path" || failed=true
|
||||
fi
|
||||
if [ "$failed" = true ]; then
|
||||
say_verbose "Wget download failed"
|
||||
|
@ -615,20 +722,20 @@ calculate_vars() {
|
|||
eval $invocation
|
||||
valid_legacy_download_link=true
|
||||
|
||||
normalized_architecture=$(get_normalized_architecture_from_architecture "$architecture")
|
||||
normalized_architecture="$(get_normalized_architecture_from_architecture "$architecture")"
|
||||
say_verbose "normalized_architecture=$normalized_architecture"
|
||||
|
||||
specific_version=$(get_specific_version_from_version $azure_feed $channel $normalized_architecture $version)
|
||||
|
||||
specific_version="$(get_specific_version_from_version "$azure_feed" "$channel" "$normalized_architecture" "$version")"
|
||||
say_verbose "specific_version=$specific_version"
|
||||
if [ -z "$specific_version" ]; then
|
||||
say_err "Could not get version information."
|
||||
return 1
|
||||
fi
|
||||
|
||||
download_link=$(construct_download_link $azure_feed $channel $normalized_architecture $specific_version)
|
||||
|
||||
download_link="$(construct_download_link "$azure_feed" "$channel" "$normalized_architecture" "$specific_version")"
|
||||
say_verbose "download_link=$download_link"
|
||||
|
||||
legacy_download_link=$(construct_legacy_download_link $azure_feed $channel $normalized_architecture $specific_version) || valid_legacy_download_link=false
|
||||
legacy_download_link="$(construct_legacy_download_link "$azure_feed" "$channel" "$normalized_architecture" "$specific_version")" || valid_legacy_download_link=false
|
||||
|
||||
if [ "$valid_legacy_download_link" = true ]; then
|
||||
say_verbose "legacy_download_link=$legacy_download_link"
|
||||
|
@ -636,39 +743,74 @@ calculate_vars() {
|
|||
say_verbose "Cound not construct a legacy_download_link; omitting..."
|
||||
fi
|
||||
|
||||
install_root=$(resolve_installation_path $install_dir)
|
||||
install_root="$(resolve_installation_path "$install_dir")"
|
||||
say_verbose "install_root=$install_root"
|
||||
}
|
||||
|
||||
install_dotnet() {
|
||||
eval $invocation
|
||||
local download_failed=false
|
||||
local asset_name=''
|
||||
local asset_relative_path=''
|
||||
|
||||
if is_dotnet_package_installed $install_root "sdk" $specific_version; then
|
||||
say ".NET SDK version $specific_version is already installed."
|
||||
if [[ "$runtime" == "dotnet" ]]; then
|
||||
asset_relative_path="shared/Microsoft.NETCore.App"
|
||||
asset_name=".NET Core Runtime"
|
||||
elif [[ "$runtime" == "aspnetcore" ]]; then
|
||||
asset_relative_path="shared/Microsoft.AspNetCore.App"
|
||||
asset_name="ASP.NET Core Runtime"
|
||||
elif [ -z "$runtime" ]; then
|
||||
asset_relative_path="sdk"
|
||||
asset_name=".NET Core SDK"
|
||||
else
|
||||
say_err "Invalid value for \$runtime"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Check if the SDK version is already installed.
|
||||
if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$specific_version"; then
|
||||
say "$asset_name version $specific_version is already installed."
|
||||
return 0
|
||||
fi
|
||||
|
||||
mkdir -p $install_root
|
||||
zip_path=$(mktemp $temporary_file_template)
|
||||
|
||||
mkdir -p "$install_root"
|
||||
zip_path="$(mktemp "$temporary_file_template")"
|
||||
say_verbose "Zip path: $zip_path"
|
||||
|
||||
say "Downloading link: $download_link"
|
||||
download "$download_link" $zip_path || download_failed=true
|
||||
|
||||
# Failures are normal in the non-legacy case for ultimately legacy downloads.
|
||||
# Do not output to stderr, since output to stderr is considered an error.
|
||||
download "$download_link" "$zip_path" 2>&1 || download_failed=true
|
||||
|
||||
# if the download fails, download the legacy_download_link
|
||||
if [ "$download_failed" = true ] && [ "$valid_legacy_download_link" = true ]; then
|
||||
if [ "$download_failed" = true ]; then
|
||||
say "Cannot download: $download_link"
|
||||
download_link=$legacy_download_link
|
||||
zip_path=$(mktemp $temporary_file_template)
|
||||
say_verbose "Legacy zip path: $zip_path"
|
||||
say "Downloading legacy link: $download_link"
|
||||
download "$download_link" $zip_path
|
||||
|
||||
if [ "$valid_legacy_download_link" = true ]; then
|
||||
download_failed=false
|
||||
download_link="$legacy_download_link"
|
||||
zip_path="$(mktemp "$temporary_file_template")"
|
||||
say_verbose "Legacy zip path: $zip_path"
|
||||
say "Downloading legacy link: $download_link"
|
||||
download "$download_link" "$zip_path" 2>&1 || download_failed=true
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ "$download_failed" = true ]; then
|
||||
say_err "Could not download $asset_name version $specific_version"
|
||||
return 1
|
||||
fi
|
||||
|
||||
say "Extracting zip from $download_link"
|
||||
extract_dotnet_package $zip_path $install_root
|
||||
|
||||
extract_dotnet_package "$zip_path" "$install_root"
|
||||
|
||||
# Check if the SDK version is now installed; if not, fail the installation.
|
||||
if ! is_dotnet_package_installed "$install_root" "$asset_relative_path" "$specific_version"; then
|
||||
say_err "$asset_name version $specific_version failed to install with an unknown error."
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -682,19 +824,22 @@ install_dir="<auto>"
|
|||
architecture="<auto>"
|
||||
dry_run=false
|
||||
no_path=false
|
||||
no_cdn=false
|
||||
azure_feed="https://dotnetcli.azureedge.net/dotnet"
|
||||
uncached_feed="https://dotnetcli.blob.core.windows.net/dotnet"
|
||||
feed_credential=""
|
||||
verbose=false
|
||||
shared_runtime=false
|
||||
runtime=""
|
||||
runtime_id=""
|
||||
override_non_versioned_files=true
|
||||
|
||||
while [ $# -ne 0 ]
|
||||
do
|
||||
name=$1
|
||||
case $name in
|
||||
name="$1"
|
||||
case "$name" in
|
||||
-c|--channel|-[Cc]hannel)
|
||||
shift
|
||||
channel=$1
|
||||
channel="$1"
|
||||
;;
|
||||
-v|--version|-[Vv]ersion)
|
||||
shift
|
||||
|
@ -709,7 +854,18 @@ do
|
|||
architecture="$1"
|
||||
;;
|
||||
--shared-runtime|-[Ss]hared[Rr]untime)
|
||||
shared_runtime=true
|
||||
say_warning "The --shared-runtime flag is obsolete and may be removed in a future version of this script. The recommended usage is to specify '--runtime dotnet'."
|
||||
if [ -z "$runtime" ]; then
|
||||
runtime="dotnet"
|
||||
fi
|
||||
;;
|
||||
--runtime|-[Rr]untime)
|
||||
shift
|
||||
runtime="$1"
|
||||
if [[ "$runtime" != "dotnet" ]] && [[ "$runtime" != "aspnetcore" ]]; then
|
||||
say_err "Unsupported value for --runtime: '$1'. Valid values are 'dotnet' and 'aspnetcore'."
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
--dry-run|-[Dd]ry[Rr]un)
|
||||
dry_run=true
|
||||
|
@ -720,6 +876,9 @@ do
|
|||
--verbose|-[Vv]erbose)
|
||||
verbose=true
|
||||
;;
|
||||
--no-cdn|-[Nn]o[Cc]dn)
|
||||
no_cdn=true
|
||||
;;
|
||||
--azure-feed|-[Aa]zure[Ff]eed)
|
||||
shift
|
||||
azure_feed="$1"
|
||||
|
@ -728,12 +887,19 @@ do
|
|||
shift
|
||||
uncached_feed="$1"
|
||||
;;
|
||||
--feed-credential|-[Ff]eed[Cc]redential)
|
||||
shift
|
||||
feed_credential="$1"
|
||||
;;
|
||||
--runtime-id|-[Rr]untime[Ii]d)
|
||||
shift
|
||||
runtime_id="$1"
|
||||
;;
|
||||
--skip-non-versioned-files|-[Ss]kip[Nn]on[Vv]ersioned[Ff]iles)
|
||||
override_non_versioned_files=false
|
||||
;;
|
||||
-?|--?|-h|--help|-[Hh]elp)
|
||||
script_name="$(basename $0)"
|
||||
script_name="$(basename "$0")"
|
||||
echo ".NET Tools Installer"
|
||||
echo "Usage: $script_name [-c|--channel <CHANNEL>] [-v|--version <VERSION>] [-p|--prefix <DESTINATION>]"
|
||||
echo " $script_name -h|-?|--help"
|
||||
|
@ -741,7 +907,7 @@ do
|
|||
echo "$script_name is a simple command line interface for obtaining dotnet cli."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " -c,--channel <CHANNEL> Download from the CHANNEL specified, Defaults to \`$channel\`."
|
||||
echo " -c,--channel <CHANNEL> Download from the channel specified, Defaults to \`$channel\`."
|
||||
echo " -Channel"
|
||||
echo " Possible values:"
|
||||
echo " - Current - most current release"
|
||||
|
@ -758,20 +924,32 @@ do
|
|||
echo " coherent applies only to SDK downloads"
|
||||
echo " - 3-part version in a format A.B.C - represents specific version of build"
|
||||
echo " examples: 2.0.0-preview2-006120; 1.1.0"
|
||||
echo " -i,--install-dir <DIR> Install under specified location (see Install Location below)"
|
||||
echo " -i,--install-dir <DIR> Install under specified location (see Install Location below)"
|
||||
echo " -InstallDir"
|
||||
echo " --architecture <ARCHITECTURE> Architecture of .NET Tools. Currently only x64 is supported."
|
||||
echo " --architecture <ARCHITECTURE> Architecture of dotnet binaries to be installed, Defaults to \`$architecture\`."
|
||||
echo " --arch,-Architecture,-Arch"
|
||||
echo " --shared-runtime Installs just the shared runtime bits, not the entire SDK."
|
||||
echo " -SharedRuntime"
|
||||
echo " --dry-run,-DryRun Do not perform installation. Display download link."
|
||||
echo " --no-path, -NoPath Do not set PATH for the current process."
|
||||
echo " --verbose,-Verbose Display diagnostics information."
|
||||
echo " --azure-feed,-AzureFeed Azure feed location. Defaults to $azure_feed, This parameter typically is not changed by the user."
|
||||
echo " --uncached-feed,-UncachedFeed Uncached feed location. This parameter typically is not changed by the user."
|
||||
echo " --runtime-id Installs the .NET Tools for the given platform (use linux-x64 for portable linux)."
|
||||
echo " Possible values: x64, arm, and arm64"
|
||||
echo " --runtime <RUNTIME> Installs a shared runtime only, without the SDK."
|
||||
echo " -Runtime"
|
||||
echo " Possible values:"
|
||||
echo " - dotnet - the Microsoft.NETCore.App shared runtime"
|
||||
echo " - aspnetcore - the Microsoft.AspNetCore.App shared runtime"
|
||||
echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable."
|
||||
echo " -SkipNonVersionedFiles"
|
||||
echo " --dry-run,-DryRun Do not perform installation. Display download link."
|
||||
echo " --no-path, -NoPath Do not set PATH for the current process."
|
||||
echo " --verbose,-Verbose Display diagnostics information."
|
||||
echo " --azure-feed,-AzureFeed Azure feed location. Defaults to $azure_feed, This parameter typically is not changed by the user."
|
||||
echo " --uncached-feed,-UncachedFeed Uncached feed location. This parameter typically is not changed by the user."
|
||||
echo " --no-cdn,-NoCdn Disable downloading from the Azure CDN, and use the uncached feed directly."
|
||||
echo " --feed-credential,-FeedCredential Azure feed shared access token. This parameter typically is not specified."
|
||||
echo " --runtime-id Installs the .NET Tools for the given platform (use linux-x64 for portable linux)."
|
||||
echo " -RuntimeId"
|
||||
echo " -?,--?,-h,--help,-Help Shows this help message"
|
||||
echo " -?,--?,-h,--help,-Help Shows this help message"
|
||||
echo ""
|
||||
echo "Obsolete parameters:"
|
||||
echo " --shared-runtime The recommended alternative is '--runtime dotnet'."
|
||||
echo " -SharedRuntime Installs just the shared runtime bits, not the entire SDK."
|
||||
echo ""
|
||||
echo "Install Location:"
|
||||
echo " Location is chosen in following order:"
|
||||
|
@ -789,6 +967,10 @@ do
|
|||
shift
|
||||
done
|
||||
|
||||
if [ "$no_cdn" = true ]; then
|
||||
azure_feed="$uncached_feed"
|
||||
fi
|
||||
|
||||
check_min_reqs
|
||||
calculate_vars
|
||||
|
||||
|
@ -797,17 +979,17 @@ if [ "$dry_run" = true ]; then
|
|||
if [ "$valid_legacy_download_link" = true ]; then
|
||||
say "Legacy payload URL: $legacy_download_link"
|
||||
fi
|
||||
say "Repeatable invocation: ./$(basename $0) --version $specific_version --channel $channel --install-dir $install_dir"
|
||||
say "Repeatable invocation: ./$(basename "$0") --version $specific_version --channel $channel --install-dir $install_dir"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
check_pre_reqs
|
||||
install_dotnet
|
||||
|
||||
bin_path=$(get_absolute_path $(combine_paths $install_root $bin_folder_relative_path))
|
||||
bin_path="$(get_absolute_path "$(combine_paths "$install_root" "$bin_folder_relative_path")")"
|
||||
if [ "$no_path" = false ]; then
|
||||
say "Adding to current process PATH: \`$bin_path\`. Note: This change will be visible only when sourcing script."
|
||||
export PATH=$bin_path:$PATH
|
||||
export PATH="$bin_path":"$PATH"
|
||||
else
|
||||
say "Binaries of dotnet can be found in $bin_path"
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('FSharp.Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
<Import Project="$(NuGetPackageRoot)\MicroBuild.Core\$(MicroBuildCorePackageVersion)\build\MicroBuild.Core.props" />
|
||||
<Import Project="FSharp.Setup.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<DisableOutputPathCopying>true</DisableOutputPathCopying>
|
||||
<EnableXlfLocalization>false</EnableXlfLocalization>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,4 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('FSharp.Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
<Import Project="$(NuGetPackageRoot)\MicroBuild.Core\$(MicroBuildCorePackageVersion)\build\MicroBuild.Core.targets" />
|
||||
</Project>
|
|
@ -1,31 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProductVersion>3.10</ProductVersion>
|
||||
<WiXToolset2015Version>3.10.0.1503</WiXToolset2015Version>
|
||||
<SetupRootFolder>$(MSBuildThisFileDirectory)</SetupRootFolder>
|
||||
<WixInstallPath>$(SetupRootFolder)\..\packages\WiX.Toolset.2015.$(WiXToolset2015Version)\tools\wix</WixInstallPath>
|
||||
<NugetPackagesDir>$(SetupRootFolder)\..\packages</NugetPackagesDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\build\targets\AssemblyVersions.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- FSharpPackageVersion should be {VS version}.{today's date}.{build number}. Example: 15.6.20160901.3 -->
|
||||
<FSharpPackageVersion>$(VSMajorVersion).$(VSMinorVersion).$(BUILD_BUILDNUMBER)</FSharpPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetDotnetProfile Condition=" '$(TargetDotnetProfile)' == '' ">net40</TargetDotnetProfile>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<BinariesDir>$(SetupRootFolder)\..\$(Configuration)</BinariesDir>
|
||||
<VsixBuildLocation>$(BinariesDir)\$(TargetDotnetProfile)\bin\</VsixBuildLocation>
|
||||
<VsixBuildLocation>$(BinariesDir)\net40\bin\</VsixBuildLocation>
|
||||
<InsertionDir>$(BinariesDir)\insertion</InsertionDir>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<OutputPath Condition="'$(Lang)' == ''">$(BinariesDir)\setup</OutputPath>
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<OutputType>vsix</OutputType>
|
||||
<IsPackage>true</IsPackage>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<IntermediateOutputPath>$(MSBuildProjectDirectory)\obj</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
</Project>
|
|
@ -1,20 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project InitialTargets="CheckPropertiesArePassed" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>..\..\..\src</FSharpSourcesRoot>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<OutputType>vsix</OutputType>
|
||||
<IsPackage>true</IsPackage>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<OutputName>Microsoft.FSharp.Compiler.Resources.$(LocaleCode)</OutputName>
|
||||
<IntermediateOutputPath>$(MSBuildThisFileDirectory)obj</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<Project InitialTargets="CheckPropertiesArePassed">
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputName>Microsoft.FSharp.Compiler.Resources.$(LocaleCode)</OutputName>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder)</PackagePreprocessorDefinitions>
|
||||
|
@ -35,7 +27,6 @@
|
|||
<Error Condition="'$(IsLangPack)' == ''" Text="A 'IsLangPack' property must be passed to the project." />
|
||||
</Target>
|
||||
|
||||
<Target Name="SignFiles">
|
||||
<!-- Signing is handled by the RoslynSignTool -->
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -24,7 +24,7 @@ folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharp"
|
|||
|
||||
file source="$(BinariesFolder)\net40\bin\FSharp.Build.dll" vs.file.ngen=yes vs.file.ngenArchitecture=All vs.file.ngenPriority=2
|
||||
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Type.Providers.Redist.$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)\content\4.3.0.0\FSharp.Data.TypeProviders.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Type.Providers.Redist\$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)\content\4.3.0.0\FSharp.Data.TypeProviders.dll"
|
||||
file source="$(BinariesFolder)\net40\bin\Microsoft.Build.dll"
|
||||
file source="$(BinariesFolder)\net40\bin\Microsoft.Build.Framework.dll"
|
||||
file source="$(BinariesFolder)\net40\bin\Microsoft.Build.Tasks.Core.dll"
|
||||
|
|
|
@ -1,27 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project InitialTargets="CheckPropertiesArePassed" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildThisFileDirectory)..\..\..\src</FSharpSourcesRoot>
|
||||
<FSharpTreeRoot>$(FSharpSourcesRoot)\..</FSharpTreeRoot>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<OutputType>vsix</OutputType>
|
||||
<IsPackage>true</IsPackage>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<PackagesFolder>$(FSharpSourcesRoot)\..\packages</PackagesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<OutputName>Microsoft.FSharp.Compiler</OutputName>
|
||||
<IntermediateOutputPath>$(MSBuildThisFileDirectory)obj</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<Project InitialTargets="CheckPropertiesArePassed">
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
<Import Project="$(FSharpSourcesRoot)\..\build\targets\PackageVersions.props" />
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputName>Microsoft.FSharp.Compiler</OutputName>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);PackagesFolder=$(PackagesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);PackagesFolder=$(NuGetPackageRoot)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);FSharpTreeRoot=$(FSharpTreeRoot)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);MicrosoftVisualFSharpTypeProvidersRedistPackageVersion=$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)</PackagePreprocessorDefinitions>
|
||||
|
@ -36,7 +25,6 @@
|
|||
<Error Condition="'$(FSharpPackageVersion)' == ''" Text="A 'FSharpPackageVersion' property must be passed to the project." />
|
||||
</Target>
|
||||
|
||||
<Target Name="SignFiles">
|
||||
<!-- Signing is handled by the RoslynSignTool -->
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -4,11 +4,11 @@ package name=Microsoft.FSharp.Dependencies
|
|||
version=$(FSharpPackageVersion)
|
||||
|
||||
folder "InstallDir:MSBuild\Microsoft\VisualStudio\v$(VSGeneralVersion)\FSharp"
|
||||
file "Microsoft.FSharp.targets" source="$(BinariesFolder)\setup\resources\Microsoft.FSharp.Shim.targets"
|
||||
file "Microsoft.Portable.FSharp.targets" source="$(BinariesFolder)\setup\resources\Microsoft.Portable.FSharp.Shim.targets"
|
||||
file "Microsoft.FSharp.NetSdk.targets" source="$(BinariesFolder)\setup\resources\Microsoft.FSharp.NetSdk.Shim.targets"
|
||||
file "Microsoft.FSharp.Overrides.NetSdk.targets" source="$(BinariesFolder)\setup\resources\Microsoft.FSharp.Overrides.NetSdk.Shim.targets"
|
||||
file "Microsoft.FSharp.NetSdk.props" source="$(BinariesFolder)\setup\resources\Microsoft.FSharp.NetSdk.Shim.props"
|
||||
file "Microsoft.FSharp.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.Shim.targets"
|
||||
file "Microsoft.Portable.FSharp.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.Portable.FSharp.Shim.targets"
|
||||
file "Microsoft.FSharp.NetSdk.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.NetSdk.Shim.targets"
|
||||
file "Microsoft.FSharp.Overrides.NetSdk.targets" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.Overrides.NetSdk.Shim.targets"
|
||||
file "Microsoft.FSharp.NetSdk.props" source="$(BinariesFolder)\setup\$(TargetFramework)\resources\Microsoft.FSharp.NetSdk.Shim.props"
|
||||
|
||||
folder "InstallDir:Common7\IDE\PublicAssemblies"
|
||||
file source="$(BinariesFolder)\net40\bin\FSharp.Core.dll" vs.file.ngen=yes
|
||||
|
|
|
@ -1,26 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project InitialTargets="CheckPropertiesArePassed" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>..\..\..\src</FSharpSourcesRoot>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<OutputType>vsix</OutputType>
|
||||
<IsPackage>true</IsPackage>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<PackagesFolder>$(FSharpSourcesRoot)\..\packages</PackagesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<OutputName>Microsoft.FSharp.Dependencies</OutputName>
|
||||
<IntermediateOutputPath>$(MSBuildThisFileDirectory)obj</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<Project InitialTargets="CheckPropertiesArePassed">
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputName>Microsoft.FSharp.Dependencies</OutputName>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);PackagesFolder=$(PackagesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);TargetFramework=$(TargetFramework)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);VSGeneralVersion=$(VSGeneralVersion)</PackagePreprocessorDefinitions>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -31,10 +22,10 @@
|
|||
|
||||
<Target Name="CheckPropertiesArePassed">
|
||||
<Error Condition="'$(FSharpPackageVersion)' == ''" Text="A 'FSharpPackageVersion' property must be passed to the project." />
|
||||
<Error Condition="'$(TargetFramework)' == ''" Text="A 'TargetFramework' property must be passed to the project." />
|
||||
<Error Condition="'$(VSGeneralVersion)' == ''" Text="A 'VSGeneralVersion' property must be passed to the project." />
|
||||
</Target>
|
||||
|
||||
<Target Name="SignFiles">
|
||||
<!-- Signing is handled by the RoslynSignTool -->
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -4,10 +4,10 @@ package name=Microsoft.FSharp.IDE
|
|||
version=$(FSharpPackageVersion)
|
||||
|
||||
folder "InstallDir:Common7\IDE\NewScriptItems"
|
||||
file source="$(BinariesFolder)\setup\resources\NewFileDialog\Script\NewFSharpScriptItems.vsdir"
|
||||
file source="$(BinariesFolder)\setup\resources\NewFileDialog\Script\Script.fsx"
|
||||
file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\Script\NewFSharpScriptItems.vsdir"
|
||||
file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\Script\Script.fsx"
|
||||
|
||||
folder "InstallDir:Common7\IDE\NewFileItems"
|
||||
file source="$(BinariesFolder)\setup\resources\NewFileDialog\General\NewFSharpFileItems.vsdir"
|
||||
file source="$(BinariesFolder)\setup\resources\NewFileDialog\General\File.fs"
|
||||
file source="$(BinariesFolder)\setup\resources\NewFileDialog\General\Script.fsx"
|
||||
file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\General\NewFSharpFileItems.vsdir"
|
||||
file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\General\File.fs"
|
||||
file source="$(BinariesFolder)\setup\$(TargetFramework)\resources\NewFileDialog\General\Script.fsx"
|
||||
|
|
|
@ -1,26 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project InitialTargets="CheckPropertiesArePassed" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildThisFileDirectory)..\..\..\src</FSharpSourcesRoot>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<OutputType>vsix</OutputType>
|
||||
<IsPackage>true</IsPackage>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<PackagesFolder>$(FSharpSourcesRoot)\..\packages</PackagesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<OutputName>Microsoft.FSharp.IDE</OutputName>
|
||||
<IntermediateOutputPath>$(MSBuildThisFileDirectory)obj</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<Project InitialTargets="CheckPropertiesArePassed">
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputName>Microsoft.FSharp.IDE</OutputName>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);PackagesFolder=$(PackagesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);TargetFramework=$(TargetFramework)</PackagePreprocessorDefinitions>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -30,9 +21,9 @@
|
|||
|
||||
<Target Name="CheckPropertiesArePassed">
|
||||
<Error Condition="'$(FSharpPackageVersion)' == ''" Text="A 'FSharpPackageVersion' property must be passed to the project." />
|
||||
<Error Condition="'$(TargetFramework)' == ''" Text="A 'TargetFramework' property must be passed to the project." />
|
||||
</Target>
|
||||
|
||||
<Target Name="SignFiles">
|
||||
<!-- Signing is handled by the RoslynSignTool -->
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -7,96 +7,96 @@ folder "InstallDir:Common7\IDE\CommonExtensions\Microsoft\FSharpSdk"
|
|||
|
||||
folder ".NETCore"
|
||||
folder "3.3.1.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.3.1.0\FSharp.Core.xml"
|
||||
folder "3.7.4.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.7.4.0\FSharp.Core.xml"
|
||||
folder "3.7.41.0"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45\FSharp.Core.xml"
|
||||
folder "3.78.3.1"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.3.1\FSharp.Core.xml"
|
||||
folder "3.78.4.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.78.4.0\FSharp.Core.xml"
|
||||
folder "3.78.41.0"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wp8\FSharp.Core.xml"
|
||||
folder "3.259.3.1"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.3.1\FSharp.Core.xml"
|
||||
folder "3.259.4.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETCore\3.259.4.0\FSharp.Core.xml"
|
||||
folder "3.259.41.0"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+netcore45+wpa81+wp8\FSharp.Core.xml"
|
||||
|
||||
folder ".NETFramework\v4.0"
|
||||
folder "4.3.0.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.0.0\FSharp.Core.xml"
|
||||
folder "4.3.1.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.3.1.0\FSharp.Core.xml"
|
||||
folder "4.4.0.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETFramework\v4.0\4.4.0.0\FSharp.Core.xml"
|
||||
folder "4.4.1.0"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\versions\4.4.1.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\versions\4.4.1.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\versions\4.4.1.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\versions\4.4.1.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\versions\4.4.1.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\versions\4.4.1.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\versions\4.4.1.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\versions\4.4.1.0\FSharp.Core.xml"
|
||||
folder "4.4.3.0"
|
||||
file source="$(PackagesFolder)\FSharp.Core.4.3.4\lib\net45\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\FSharp.Core.4.3.4\lib\net45\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\FSharp.Core.4.3.4\lib\net45\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\FSharp.Core.4.3.4\lib\net45\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\FSharp.Core\4.3.4\lib\net45\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\FSharp.Core\4.3.4\lib\net45\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\FSharp.Core\4.3.4\lib\net45\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\FSharp.Core\4.3.4\lib\net45\FSharp.Core.xml"
|
||||
|
||||
folder ".NETPortable"
|
||||
folder "2.3.5.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.0\FSharp.Core.xml"
|
||||
folder "2.3.5.1"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\2.3.5.1\FSharp.Core.xml"
|
||||
folder "3.47.4.0"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist.1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.VisualFSharp.Core.Redist\1.0.0\content\.NETPortable\3.47.4.0\FSharp.Core.xml"
|
||||
folder "3.47.41.0"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core.10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.xml"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.dll"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.optdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.sigdata"
|
||||
file source="$(PackagesFolder)\Microsoft.Portable.FSharp.Core\10.1.0\lib\profiles\portable-net45+sl5+netcore45\FSharp.Core.xml"
|
||||
|
|
|
@ -1,24 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project InitialTargets="CheckPropertiesArePassed" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project InitialTargets="CheckPropertiesArePassed">
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>..\..\..\src</FSharpSourcesRoot>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<OutputType>vsix</OutputType>
|
||||
<OutputName>Microsoft.FSharp.SDK</OutputName>
|
||||
<IsPackage>true</IsPackage>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<PackagesFolder>$(FSharpSourcesRoot)\..\packages</PackagesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<IntermediateOutputPath>$(MSBuildThisFileDirectory)obj</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);PackagesFolder=$(PackagesFolder)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);PackagesFolder=$(NuGetPackageRoot)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);FSharpPackageVersion=$(FSharpPackageVersion)</PackagePreprocessorDefinitions>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -30,7 +21,6 @@
|
|||
<Error Condition="'$(FSharpPackageVersion)' == ''" Text="A 'FSharpPackageVersion' property must be passed to the project." />
|
||||
</Target>
|
||||
|
||||
<Target Name="SignFiles">
|
||||
<!-- Signing is handled by the RoslynSignTool -->
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,20 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project InitialTargets="CheckPropertiesArePassed" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project InitialTargets="CheckPropertiesArePassed">
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>..\..\..\src</FSharpSourcesRoot>
|
||||
<OutputArchitecture>neutral</OutputArchitecture>
|
||||
<OutputLocalized>false</OutputLocalized>
|
||||
<IsPackage>true</IsPackage>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<BinariesFolder>$(FSharpSourcesRoot)\..\$(Configuration)</BinariesFolder>
|
||||
<OutputPath>$(BinariesFolder)\insertion</OutputPath>
|
||||
<OutputName>Microsoft.FSharp.VSIX.Full.Resources.$(LocaleCode)</OutputName>
|
||||
<IntermediateOutputPath>$(MSBuildThisFileDirectory)obj</IntermediateOutputPath>
|
||||
<OutputType>vsix</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);BinariesFolder=$(BinariesFolder)</PackagePreprocessorDefinitions>
|
||||
|
@ -26,15 +18,16 @@
|
|||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);LocaleSpecificCulture=$(LocaleSpecificCulture)</PackagePreprocessorDefinitions>
|
||||
<PackagePreprocessorDefinitions>$(PackagePreprocessorDefinitions);IsLangPack=$(IsLangPack)</PackagePreprocessorDefinitions>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup Condition="'$(IsLangPack)' != 'true'">
|
||||
<Package Include="Empty.swr" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup Condition="'$(IsLangPack)' == 'true'">
|
||||
<Package Include="Files.swr" />
|
||||
<Package Include="Templates.swr" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CheckPropertiesArePassed">
|
||||
<Error Condition="'$(LocaleCode)' == ''" Text="A 'LocaleCode' property must be passed to the project." />
|
||||
<Error Condition="'$(LocaleId)' == ''" Text="A 'LocaleId' property must be passed to the project." />
|
||||
|
@ -45,7 +38,6 @@
|
|||
<Error Condition="'$(FSharpPackageVersion)' == ''" Text="A 'FSharpPackageVersion' property must be passed to the project." />
|
||||
</Target>
|
||||
|
||||
<Target Name="SignFiles">
|
||||
<!-- Signing is handled by the RoslynSignTool -->
|
||||
</Target>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,44 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" InitialTargets="IncludeFSharpManifests" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project InitialTargets="IncludeFSharpManifests">
|
||||
|
||||
<Import Project="..\FSharp.Setup.props" />
|
||||
<Import Project="Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>..\..\src</FSharpSourcesRoot>
|
||||
<FinalizeManifest>true</FinalizeManifest>
|
||||
<FinalizeSkipLayout>true</FinalizeSkipLayout>
|
||||
<IsPackage>true</IsPackage>
|
||||
<OutputPath>$(FSharpSourcesRoot)\..\$(Configuration)\insertion</OutputPath>
|
||||
<InsertionDir>$(OutputPath)</InsertionDir>
|
||||
<ManifestBuildVersion>$(FSharpPackageVersion)</ManifestBuildVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<FinalizeManifest>true</FinalizeManifest>
|
||||
<FinalizeSkipLayout>true</FinalizeSkipLayout>
|
||||
<InsertionDir>$(OutputPath)</InsertionDir>
|
||||
<ManifestBuildVersion>$(FSharpPackageVersion)</ManifestBuildVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpFull.vsix" />
|
||||
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpTemplate.vsix" />
|
||||
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Full.Core.json" />
|
||||
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Templates.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CopyInsertionItems">
|
||||
<Copy SourceFiles="@(InsertionItems)" DestinationFolder="$(InsertionDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="IncludeFSharpManifests" DependsOnTargets="CopyInsertionItems">
|
||||
<ItemGroup>
|
||||
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpFull.vsix" />
|
||||
<InsertionItems Include="$(VsixBuildLocation)\VisualFSharpTemplate.vsix" />
|
||||
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Full.Core.json" />
|
||||
<InsertionItems Include="$(VsixBuildLocation)\Microsoft.FSharp.VSIX.Templates.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Compiler.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Compiler.Resources.%(SetupLanguages.LocaleCode).json" />
|
||||
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.SDK.json" />
|
||||
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Vsix.Full.Core.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Vsix.Full.Resources.%(SetupLanguages.LocaleCode).json" />
|
||||
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.VSIX.Templates.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Dependencies.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.IDE.json" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\Microbuild.Settings.targets" />
|
||||
<Import Project="Directory.Build.targets" />
|
||||
|
||||
<Target Name="CopyInsertionItems">
|
||||
<Copy SourceFiles="@(InsertionItems)" DestinationFolder="$(InsertionDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="IncludeFSharpManifests" DependsOnTargets="CopyInsertionItems">
|
||||
<ItemGroup>
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Compiler.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Compiler.Resources.%(SetupLanguages.LocaleCode).json" />
|
||||
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.SDK.json" />
|
||||
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Vsix.Full.Core.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Vsix.Full.Resources.%(SetupLanguages.LocaleCode).json" />
|
||||
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.VSIX.Templates.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.Dependencies.json" />
|
||||
<MergeManifest Include="$(OutputPath)\Microsoft.FSharp.IDE.json" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
@ -1,47 +1,47 @@
|
|||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<Project>
|
||||
|
||||
<Import Project="..\src\Microbuild.Settings.targets" />
|
||||
<Import Project="Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SetupRootFolder>.</SetupRootFolder>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CollectSetupProjects">
|
||||
<ItemGroup>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.SDK.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.SDK\Microsoft.FSharp.SDK.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.Compiler.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.Compiler\Microsoft.FSharp.Compiler.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
</ItemGroup>
|
||||
|
||||
<CreateItem Include="@(SetupLanguages)"
|
||||
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Compiler.Resources\Microsoft.FSharp.Compiler.Resources.swixproj">
|
||||
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<Target Name="Build" DependsOnTargets="CollectSetupProjects">
|
||||
<PropertyGroup>
|
||||
<SetupRootFolder>.</SetupRootFolder>
|
||||
<TargetDotnetProfile Condition="'$(TargetDotnetProfile)'==''">net40</TargetDotnetProfile>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
<MSBuild Projects="%(SwixSetupProjects.ProjectPath)"
|
||||
Targets="Build"
|
||||
Properties="Configuration=$(Configuration);LocaleCode=%(SwixSetupProjects.LocaleCode);LocaleId=%(SwixSetupProjects.LocaleId);LocaleParentId=%(SwixSetupProjects.LocaleParentId);LocaleParentCulture=%(SwixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(SwixSetupProjects.LocaleSpecificCulture);IsLangPack=%(SwixSetupProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);$(CustomProps)"/>
|
||||
</Target>
|
||||
|
||||
<Import Project="FSharp.Setup.props" />
|
||||
<Target Name="CopyLocalizationResources" BeforeTargets="Build">
|
||||
<ItemGroup>
|
||||
<SetupLocalizationResources Include="resources\**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CollectSetupProjects">
|
||||
<ItemGroup>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.SDK.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.SDK\Microsoft.FSharp.SDK.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.Compiler.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.Compiler\Microsoft.FSharp.Compiler.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(SetupLocalizationResources)"
|
||||
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
|
||||
<CreateItem Include="@(SetupLanguages)"
|
||||
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Compiler.Resources\Microsoft.FSharp.Compiler.Resources.swixproj">
|
||||
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
<Import Project="Directory.Build.targets" />
|
||||
|
||||
<Target Name="Build" DependsOnTargets="CollectSetupProjects">
|
||||
<PropertyGroup>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
<MSBuild Projects="%(SwixSetupProjects.ProjectPath)"
|
||||
Targets="Build"
|
||||
Properties="Configuration=$(Configuration);LocaleCode=%(SwixSetupProjects.LocaleCode);LocaleId=%(SwixSetupProjects.LocaleId);LocaleParentId=%(SwixSetupProjects.LocaleParentId);LocaleParentCulture=%(SwixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(SwixSetupProjects.LocaleSpecificCulture);IsLangPack=%(SwixSetupProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);$(CustomProps)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyLocalizationResources" BeforeTargets="Build">
|
||||
<ItemGroup>
|
||||
<SetupLocalizationResources Include="resources\**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SetupLocalizationResources)"
|
||||
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<!-- not really a C# project, but pretending it is makes things like package restore really easy -->
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net46</TargetFramework>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="**" />
|
||||
<EmbeddedResource Remove="**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FSharp.Core" Version="4.3.4" /><!-- static version used to create the SDK -->
|
||||
<PackageReference Include="MicroBuild.Core" Version="$(MicroBuildCorePackageVersion)" />
|
||||
<PackageReference Include="MicroBuild.Core.Sentinel" Version="$(MicroBuildCoreSentinelPackageVersion)" />
|
||||
<PackageReference Include="MicroBuild.Plugins.SwixBuild" Version="$(MicroBuildPluginsSwixBuildPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Portable.FSharp.Core" Version="$(MicrosoftPortableFSharpCorePackageVersion)" IncludeAssets="none" />
|
||||
<PackageReference Include="Microsoft.VisualFSharp.Core.Redist" Version="$(MicrosoftVisualFSharpCoreRedistPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CollectSetupProjects">
|
||||
<ItemGroup>
|
||||
<VsixProjects Include="VisualFSharpFull.csproj">
|
||||
<ProjectPath>..\vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj</ProjectPath>
|
||||
</VsixProjects>
|
||||
<VsixProjects Include="VisualFSharpTemplates.csproj">
|
||||
<ProjectPath>..\vsintegration\Vsix\VisualFSharpTemplates\VisualFSharpTemplates.csproj</ProjectPath>
|
||||
</VsixProjects>
|
||||
</ItemGroup>
|
||||
|
||||
<CreateItem Include="@(SetupLanguages)"
|
||||
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj">
|
||||
<Output ItemName="SwixSetupProjects" TaskParameter="Include" />
|
||||
</CreateItem>
|
||||
|
||||
<ItemGroup>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.Dependencies.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.Dependencies\Microsoft.FSharp.Dependencies.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.IDE.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.IDE\Microsoft.FSharp.IDE.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyLocalizationResources">
|
||||
<ItemGroup>
|
||||
<SetupLocalizationResources Include="resources\**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SetupLocalizationResources)"
|
||||
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildSetup"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="CollectSetupProjects;CopyLocalizationResources">
|
||||
<PropertyGroup>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
<MSBuild Projects="%(VsixProjects.ProjectPath)"
|
||||
Targets="Build"
|
||||
Properties="Configuration=$(Configuration);IsLangPack=%(VsixProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);OutputPath=$(VsixBuildLocation);DisableOutputPathCopying=true;$(CustomProps)" />
|
||||
<MSBuild Projects="%(SwixSetupProjects.ProjectPath)"
|
||||
Targets="Build"
|
||||
Properties="LocaleCode=%(SwixSetupProjects.LocaleCode);LocaleId=%(SwixSetupProjects.LocaleId);LocaleParentId=%(SwixSetupProjects.LocaleParentId);LocaleParentCulture=%(SwixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(SwixSetupProjects.LocaleSpecificCulture);IsLangPack=%(SwixSetupProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);VSGeneralVersion=$(VSGeneralVersion);TargetFramework=$(TargetFramework);$(CustomProps)"/>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,59 +0,0 @@
|
|||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
|
||||
<Import Project="..\src\Microbuild.Settings.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SetupRootFolder>.</SetupRootFolder>
|
||||
<TargetDotnetProfile Condition="'$(TargetDotnetProfile)'==''">net40</TargetDotnetProfile>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="FSharp.Setup.props" />
|
||||
|
||||
<Target Name="CollectSetupProjects">
|
||||
<ItemGroup>
|
||||
<VsixProjects Include="VisualFSharpFull.csproj">
|
||||
<ProjectPath>..\vsintegration\Vsix\VisualFSharpFull\VisualFSharpFull.csproj</ProjectPath>
|
||||
</VsixProjects>
|
||||
<VsixProjects Include="VisualFSharpTemplates.csproj">
|
||||
<ProjectPath>..\vsintegration\Vsix\VisualFSharpTemplates\VisualFSharpTemplates.csproj</ProjectPath>
|
||||
</VsixProjects>
|
||||
</ItemGroup>
|
||||
|
||||
<CreateItem Include="@(SetupLanguages)"
|
||||
AdditionalMetadata="ProjectPath=Swix\Microsoft.FSharp.Vsix.Resources\Microsoft.FSharp.Vsix.Resources.swixproj">
|
||||
<Output ItemName="SwixSetupProjects" TaskParameter="Include"/>
|
||||
</CreateItem>
|
||||
|
||||
<ItemGroup>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.Dependencies.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.Dependencies\Microsoft.FSharp.Dependencies.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
<SwixSetupProjects Include="Microsoft.FSharp.IDE.swixproj">
|
||||
<ProjectPath>Swix\Microsoft.FSharp.IDE\Microsoft.FSharp.IDE.swixproj</ProjectPath>
|
||||
</SwixSetupProjects>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="Build" DependsOnTargets="CollectSetupProjects">
|
||||
<PropertyGroup>
|
||||
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
|
||||
</PropertyGroup>
|
||||
<MSBuild Projects="%(VsixProjects.ProjectPath)"
|
||||
Targets="Build"
|
||||
Properties="Configuration=$(Configuration);IsLangPack=%(VsixProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);OutputPath=$(VsixBuildLocation);DisableOutputPathCopying=true;$(CustomProps)" />
|
||||
<MSBuild Projects="%(SwixSetupProjects.ProjectPath)"
|
||||
Targets="Build"
|
||||
Properties="LocaleCode=%(SwixSetupProjects.LocaleCode);LocaleId=%(SwixSetupProjects.LocaleId);LocaleParentId=%(SwixSetupProjects.LocaleParentId);LocaleParentCulture=%(SwixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(SwixSetupProjects.LocaleSpecificCulture);IsLangPack=%(SwixSetupProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);VSGeneralVersion=$(VSGeneralVersion);$(CustomProps)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyLocalizationResources" BeforeTargets="Build">
|
||||
<ItemGroup>
|
||||
<SetupLocalizationResources Include="resources\**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SetupLocalizationResources)"
|
||||
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="System.Collections.Immutable" version="1.5.0" />
|
||||
<package id="System.Reflection.Metadata" version="1.6.0" />
|
||||
<package id="FsSrGen" version="2.0.0" targetFramework="net46" />
|
||||
<package id="MicroBuild.Core" version="0.2.0" />
|
||||
<package id="MicroBuild.Core.Sentinel" version="1.0.0" />
|
||||
<package id="MicroBuild.Plugins.SwixBuild" version="1.0.147" />
|
||||
<package id="Microsoft.VisualFSharp.Core.Redist" version="1.0.0" />
|
||||
<package id="Microsoft.VisualStudio.Shell.14.0" version="14.3.25407" targetFramework="net46" />
|
||||
<package id="System.ValueTuple" version="4.4.0" />
|
||||
<package id="Microsoft.VisualFSharp.Type.Providers.Redist" version="1.0.0" />
|
||||
<package id="Microsoft.Portable.FSharp.Core" version="10.1.0" />
|
||||
<package id="FSharp.Core" version="4.3.4" />
|
||||
</packages>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('FSharp.Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('FSharp.Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
</Project>
|
|
@ -1,57 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup Condition="'$(TargetDotnetProfile)'=='net40'">
|
||||
<DefineConstants Condition="'$(MonoPackaging)' == 'true'">$(DefineConstants);CROSS_PLATFORM_COMPILER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);ENABLE_MONO_SUPPORT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);BE_SECURITY_TRANSPARENT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_LCIDFROMCODEPAGE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Note: The TargetDotnetProfile value 'coreclr' currently covers all of netstandard1.6, netstandard2.0 and netcoreapp2.0 in a confused way -->
|
||||
<!-- These should be distinguished in the future -->
|
||||
|
||||
<PropertyGroup Condition="'$(TargetDotnetProfile)'=='coreclr'">
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);NETSTANDARD1_6</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_APP_DOMAINS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_ARRAY_LONG_LENGTH</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_BEGINEND_READWRITE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_BINARY_SERIALIZATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_CONVERTER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_DEFAULT_DEPENDENCY_TYPE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_CORHOST_SIGNER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_EVENTWAITHANDLE_IDISPOSABLE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_EXIT_CONTEXT_FLAGS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_HEAPTERMINATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_LINKEDRESOURCES</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_LOADER_OPTIMIZATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_PARAMETERIZED_THREAD_START</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_PDB_READER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_PDB_WRITER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_REFLECTION_MODULE_HANDLES</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_REFLECTION_ONLY</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_RUNTIMEENVIRONMENT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_SECURITY_PERMISSIONS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_SERVERCODEPAGES</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_SYMBOLSTORE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_SYSTEM_CONFIGURATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_THREAD</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_THREADABORT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_WAITONE_MILLISECONDS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_WEB_CLIENT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_WIN_REGISTRY</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_WINFORMS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_NO_INDENTED_TEXT_WRITER</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_REDUCED_EXCEPTIONS</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_REDUCED_CONSOLE</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_REFEMIT</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_GLOBALIZATION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_REFLECTION</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);FX_RESHAPED_MSBUILD</DefineConstants>
|
||||
<OtherFlags>$(OtherFlags) --simpleresolution</OtherFlags>
|
||||
<TargetFramework Condition="'$(TargetFramework)' == ''">netstandard1.6</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -1,174 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<!-- If Configuration is empty that means we are not being built in VS and so folks need to explicitly pass the different
|
||||
values for $(ConfigurationGroup), $(TargetGroup), or $(OSGroup) or accept the defaults for them.
|
||||
-->
|
||||
<PropertyGroup Condition="'$(Configuration)'==''">
|
||||
<ConfigurationGroup Condition="'$(ConfigurationGroup)'==''">Debug</ConfigurationGroup>
|
||||
<Configuration>$(ConfigurationGroup)</Configuration>
|
||||
<Configuration Condition="'$(TargetGroup)'!=''">$(TargetGroup)_$(Configuration)</Configuration>
|
||||
<Configuration Condition="'$(OSGroup)'!='' and '$(OSGroup)'!='AnyOS'">$(OSGroup)_$(Configuration)</Configuration>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'!=''">
|
||||
<ConfigurationGroup Condition="'$(ConfigurationGroup)'=='' and $(Configuration.ToLower().EndsWith('debug'))">Debug</ConfigurationGroup>
|
||||
<ConfigurationGroup Condition="'$(ConfigurationGroup)'=='' and $(Configuration.ToLower().EndsWith('release'))">Release</ConfigurationGroup>
|
||||
<ConfigurationGroup Condition="'$(ConfigurationGroup)'==''">Debug</ConfigurationGroup>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\build\targets\AssemblyVersions.props" />
|
||||
<Import Project="..\build\targets\PackageVersions.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Settings used all the time -->
|
||||
<Tailcalls>true</Tailcalls>
|
||||
<TargetDotnetProfile Condition="'$(TargetDotnetProfile)'==''">net40</TargetDotnetProfile>
|
||||
|
||||
<!-- Currently always use .NET Framwork proto compiler -->
|
||||
<ProtoFlavour Condition="'$(ProtoFlavour)' == ''">net40</ProtoFlavour>
|
||||
<ProjectLanguage Condition="'$(ProjectLanguage)' == ''">FSharp</ProjectLanguage>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<BuildToolsTargets45>true</BuildToolsTargets45>
|
||||
<WarningsAsErrors />
|
||||
|
||||
<!-- Always qualify the IntermediateOutputPath by the TargetDotnetProfile if any exists -->
|
||||
<IntermediateOutputPath>obj\$(Configuration)\$(TargetDotnetProfile)\</IntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition="'$(PortableProfileBeingReferenced)' != ''">obj\$(Configuration)\$(TargetDotnetProfile)\$(PortableProfileBeingReferenced)\</IntermediateOutputPath>
|
||||
|
||||
<!-- Always qualify the IntermediateOutputPath by the TargetDotnetProfile if any exists -->
|
||||
<IntermediateOutputPath>obj\$(Configuration)\$(TargetDotnetProfile)\</IntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition="'$(PortableProfileBeingReferenced)' != ''">obj\$(Configuration)\$(TargetDotnetProfile)\$(PortableProfileBeingReferenced)\</IntermediateOutputPath>
|
||||
|
||||
<!-- Frozen FSharp.Core package -->
|
||||
<FSharpCoreFrozenPortablePackageVersion>10.1.0</FSharpCoreFrozenPortablePackageVersion>
|
||||
<FSharpCoreFrozenPortableTargetPackageVersion>10.2.0</FSharpCoreFrozenPortableTargetPackageVersion>
|
||||
<FSharpCoreFrozenPortableTargetMajorVersion>10.2</FSharpCoreFrozenPortableTargetMajorVersion>
|
||||
|
||||
<!-- Nunit -->
|
||||
<NUnitVersion>3.5.0</NUnitVersion>
|
||||
<NUnitFullVersion>3.5.0.0</NUnitFullVersion>
|
||||
<NUnitLibDir>$(FSharpSourcesRoot)\..\packages\NUnit.$(NUnitVersion)\lib\net45</NUnitLibDir>
|
||||
|
||||
<MonoPackaging Condition="'$(TargetDotnetProfile)' != 'coreclr' AND '$(OS)' == 'Unix'">true</MonoPackaging>
|
||||
|
||||
<DependencyUptakePackageVersionPropsFile>$(MSBuildThisFileDirectory)..\Tools\dependencyUptake\PackageVersions.props</DependencyUptakePackageVersionPropsFile>
|
||||
|
||||
<!-- Localization -->
|
||||
<DisableLocalization Condition="'$(MonoPackaging)' == 'true'">true</DisableLocalization>
|
||||
<UpdateXlfOnBuild Condition="'$(CI)' != '1'">true</UpdateXlfOnBuild>
|
||||
<XliffTasksVersion>0.2.0-beta-000081</XliffTasksVersion>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(DependencyUptakePackageVersionPropsFile)" Condition="Exists('$(DependencyUptakePackageVersionPropsFile)')" />
|
||||
|
||||
<!-- Default setting. Some get modified later in FSharpSource.targets -->
|
||||
<PropertyGroup>
|
||||
<SkipSigning>false</SkipSigning>
|
||||
<UseOpenSourceSign>true</UseOpenSourceSign>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\msft.pubkey</AssemblyOriginatorKeyFile>
|
||||
<StrongNames>true</StrongNames>
|
||||
<DelaySign>true</DelaySign>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- On windows, VS packaging -->
|
||||
<PropertyGroup Condition="'$(MonoPackaging)' != 'true' AND '$(OS)' != 'Unix'">
|
||||
<UseMicroBuild>true</UseMicroBuild>
|
||||
<UseSourceLink Condition = " '$(UseSourceLink)' == '' AND '$(Configuration)'=='Release' ">false</UseSourceLink>
|
||||
<UseGatherBinaries>true</UseGatherBinaries>
|
||||
<VsSDKInstall Condition=" '$(VsSDKInstall)' == '' ">$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.$(MicrosoftVSSDKBuildToolsPackageVersion)\tools\vssdk</VsSDKInstall>
|
||||
<VsSDKToolPath Condition=" '$(VsSDKToolPath)' == '' ">$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.$(MicrosoftVSSDKBuildToolsPackageVersion)\tools\vssdk\bin</VsSDKToolPath>
|
||||
<VsSDKTargets Condition=" '$(VsSDKTargets)' == '' ">$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.$(MicrosoftVSSDKBuildToolsPackageVersion)\tools\vssdk\Microsoft.VsSDK.targets</VsSDKTargets>
|
||||
<VsSDKIncludes Condition=" '$(VsSDKIncludes)' == '' ">$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.$(MicrosoftVSSDKBuildToolsPackageVersion)\tools\vssdk\inc</VsSDKIncludes>
|
||||
<VsixSchemaPath Condition=" '$(VsixSchemaPath)' == '' ">$(MSBuildThisFileDirectory)..\packages\Microsoft.VSSDK.BuildTools.$(MicrosoftVSSDKBuildToolsPackageVersion)\tools\vssdk\schemas\VSIXManifestSchema.xsd</VsixSchemaPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(ProjectLanguage)' == 'FSharp' ">
|
||||
<!-- Things we do only for F# projects -->
|
||||
<OtherFlags>$(OtherFlags) --times</OtherFlags>
|
||||
<NoWarn>$(NoWarn);69;65;54;61;75</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<!-- Settings for Debug mode -->
|
||||
<DebugType>full</DebugType>
|
||||
<DebugType Condition="'$(OS)' == 'Unix'">portable</DebugType> <!-- no longer use MDB on Mono -->
|
||||
|
||||
<Optimize Condition=" '$(Optimize)' == '' ">false</Optimize>
|
||||
<ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport>
|
||||
<OtherFlags>$(OtherFlags) --no-jit-optimize</OtherFlags>
|
||||
<EmbedAllSource Condition=" '$(DebugType)' == 'portable' or '$(DebugType)' == 'embedded' ">true</EmbedAllSource>
|
||||
<DefineConstants Condition=" '$(ProjectLanguage)' != 'VisualBasic' ">DEBUG;TRACE;CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
|
||||
<DefineConstants Condition=" '$(ProjectLanguage)' == 'VisualBasic' ">DEBUG=True,TRACE=True,CODE_ANALYSIS=True,$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<!-- Flags used for Release mode. -->
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugType Condition="'$(OS)' == 'Unix'">portable</DebugType> <!-- no longer use MDB on Mono -->
|
||||
|
||||
<Optimize Condition=" '$(Optimize)' == '' ">true</Optimize>
|
||||
<EmbedAllSource>false</EmbedAllSource>
|
||||
<ErrorReport Condition=" '$(ErrorReport)' == '' ">prompt</ErrorReport>
|
||||
<DefineConstants Condition=" '$(ProjectLanguage)' != 'VisualBasic' ">TRACE;$(DefineConstants)</DefineConstants>
|
||||
<DefineConstants Condition=" '$(ProjectLanguage)' == 'VisualBasic' ">TRACE=True,$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Proto'">
|
||||
<!-- Flags used when running the Proto compiler. -->
|
||||
<DebugType Condition=" '$(DebugType)' == '' ">full</DebugType>
|
||||
<DebugType Condition="'$(OS)' == 'Unix'">portable</DebugType> <!-- no longer use MDB on Mono -->
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>DEBUG;NO_STRONG_NAMES;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Standard defaults for output path and warning level -->
|
||||
<OutputPath Condition="'$(OutputPath)' == ''">bin\$(Configuration)</OutputPath>
|
||||
<WarningLevel Condition=" '$(WarningLevel)' == '' ">3</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Nuget Package properties -->
|
||||
<PropertyGroup>
|
||||
<BuildRevision>$([System.DateTime]::Now.ToString(`yyMMdd`))</BuildRevision>
|
||||
<NuGetReleaseVersion>1.0.0</NuGetReleaseVersion>
|
||||
<NuGetPreReleaseVersion>$(NuGetReleaseVersion)-rc</NuGetPreReleaseVersion>
|
||||
<NuGetPerBuildPreReleaseVersion Condition="'$(BuildRevision)' != ''">$(NuGetPreReleaseVersion)-$(BuildRevision.Trim())</NuGetPerBuildPreReleaseVersion>
|
||||
<NUGET_PACKAGES Condition=" '$(NUGET_PACKAGES)' == '' ">$(MSBuildThisFileDirectory)..\packages</NUGET_PACKAGES>
|
||||
<RestorePackagesPath>$(NUGET_PACKAGES)</RestorePackagesPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Compiler tool locations. -->
|
||||
<FsLexToolPath>$(FSharpSourcesRoot)\..\packages\FsLexYacc.7.0.6\build</FsLexToolPath>
|
||||
<FsYaccToolPath>$(FSharpSourcesRoot)\..\packages\FsLexYacc.7.0.6\build</FsYaccToolPath>
|
||||
<FsiToolExe>fsi.exe</FsiToolExe>
|
||||
<FsLexToolExe>fslex.exe</FsLexToolExe>
|
||||
<FsYaccToolExe>fsyacc.exe</FsYaccToolExe>
|
||||
|
||||
<!-- FSharp.Compiler.Tools is currently only used to get a working FSI.EXE to execute some scripts during the build -->
|
||||
<!-- The LKG FSI.EXE requires MSBuild 15 to be installed, which is painful -->
|
||||
<FsiToolPath>$(FSharpSourcesRoot)\..\packages\FSharp.Compiler.Tools.4.1.27\tools</FsiToolPath>
|
||||
|
||||
|
||||
<!-- The version of MSBuild assumed byt the F# compiler in the Mono packaging of F# -->
|
||||
<MonoPackagingMSBuildVersionFull>14.0.0.0</MonoPackagingMSBuildVersionFull>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\packages\XliffTasks.$(XliffTasksVersion)\build\XliffTasks.props" Condition="'$(DisableLocalization)' != 'true'" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- in addition to the standard xlf languages, also provide a baseline en->en file -->
|
||||
<XlfLanguages>en;$(XlfLanguages)</XlfLanguages>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(RestorePackagesPath)\XliffTasks.$(XliffTasksVersion)\build\XliffTasks.targets" Condition="'$(DisableLocalization)' != 'true'" />
|
||||
<Import Project="../Tools/Build.Common.props" Condition="'$(TargetDotnetProfile)'=='coreclr'"/>
|
||||
<Import Project="$(BuildVersionFilePath)" Condition="Exists('$(BuildVersionFilePath)')" />
|
||||
|
||||
</Project>
|
|
@ -1,383 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$(MSBuildThisFileDirectory)..\</RepoRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<MicroBuildAssemblyFileLanguage>fs</MicroBuildAssemblyFileLanguage>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Some unit test assemblies must not have strong names since they reference other assemblies that don't have strong names -->
|
||||
<!-- These unit test assemblies can't use InternalsVisibleTo into assemblies with strong names. -->
|
||||
<PropertyGroup Condition="'$(StrongNames)' == 'false'">
|
||||
<SkipSigning>true</SkipSigning>
|
||||
<UseOpenSourceSign>false</UseOpenSourceSign>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<DefineConstants>NO_STRONG_NAMES;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- On mono, use test.snk to sign private compiler binaries -->
|
||||
<PropertyGroup Condition="'$(StrongNames)' != 'false' AND '$(MonoPackaging)' == 'true' AND '$(AssemblyName)' != 'FSharp.Core' AND '$(AssemblyName)' != 'FSharp.Compiler.Interactive.Settings'" >
|
||||
<AssemblyOriginatorKeyFile>$(FSharpSourcesRoot)\fsharp\test.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<DefineConstants>STRONG_NAME_FSHARP_COMPILER_WITH_TEST_KEY;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- On proto, use the FSharp.Core assembly version for everything (it only matters we get it right for FSharp.Core), and pass the version flag explicitly if not using MicroBuild -->
|
||||
<PropertyGroup Condition="'$(Configuration)' == 'Proto'">
|
||||
<MicroBuildAssemblyVersion>$(FSCoreVersion)</MicroBuildAssemblyVersion>
|
||||
<OtherFlags>$(OtherFlags) --version:"$(MicroBuildAssemblyVersion)"</OtherFlags>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(UseSourceLink)' == 'true'">
|
||||
<SourceLink>$(IntermediateOutputPath)source_link.json</SourceLink>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- We assume MSBuild 15.0 or greater. Note the Mono packaging doesn't actually rely on any specific version of MSBuild any longer except to build the MSBuild task-->
|
||||
<PropertyGroup>
|
||||
<DefineConstants>MSBUILD_AT_LEAST_14;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Disable uwa toolchain nuget package resolve logic. -->
|
||||
<PropertyGroup>
|
||||
<NuGetTargets Condition="'$(NuGetTargets)' == ''">false</NuGetTargets>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<NugetLocalPackagesDir>$(FSharpSourcesRoot)\..\packages</NugetLocalPackagesDir>
|
||||
<FsCheckVersion>3.0.0-alpha3</FsCheckVersion>
|
||||
<FsCheckFullVersion>3.0.0.0</FsCheckFullVersion>
|
||||
<FsCheckLibDir>$(FSharpSourcesRoot)\..\packages\FsCheck.$(FsCheckVersion)\lib\</FsCheckLibDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="FSharpSource.Profiles.targets" />
|
||||
|
||||
<PropertyGroup Condition="'$(TargetDotnetProfile)'=='net40'">
|
||||
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v4.6</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile></TargetFrameworkProfile>
|
||||
<!-- MSbuild works out the assembly references -->
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetDotnetProfile)'=='coreclr'">
|
||||
<TargetProfile>netcore</TargetProfile>
|
||||
<TargetFrameworkProfile></TargetFrameworkProfile> <!-- We are currently directly referencing corefx assemblies, so profile7 is not really true -->
|
||||
<TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == ''">v5.0</TargetFrameworkVersion>
|
||||
<ImplicitlyExpandTargetFramework>false</ImplicitlyExpandTargetFramework> <!-- To stop msbuild being helpful and referencing the dlls for the profile -->
|
||||
<NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
|
||||
<PortableNuGetMode>true</PortableNuGetMode>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(TargetDotnetProfile)'=='coreclr' AND '$(DOTNET_PUBLISH_TEST)'=='true' ">
|
||||
<OutputPath>bin\$(Configuration)\netcoreapp1.0</OutputPath>
|
||||
<CustomOutputPath>true</CustomOutputPath>
|
||||
<DOTNET_PUBLISH>true</DOTNET_PUBLISH>
|
||||
<DOTNET_PUBLISH_PLATFORM>win7-x64</DOTNET_PUBLISH_PLATFORM>
|
||||
<DOTNET_PUBLISH_PATH>$(FSharpSourcesRoot)\..\tests\testbin\$(Configuration)\coreclr\$(AssemblyName)</DOTNET_PUBLISH_PATH>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(TargetDotnetProfile)'=='coreclr' AND '$(DOTNET_PUBLISH_COMPILERS)'=='true' ">
|
||||
<DOTNET_PUBLISH_FSC>true</DOTNET_PUBLISH_FSC>
|
||||
<DOTNET_PUBLISH_FSC_PATH>$(FSharpSourcesRoot)\..\tests\testbin\$(Configuration)\coreclr\FSC</DOTNET_PUBLISH_FSC_PATH>
|
||||
<DOTNET_PUBLISH_FSI>true</DOTNET_PUBLISH_FSI>
|
||||
<DOTNET_PUBLISH_FSI_PATH>$(FSharpSourcesRoot)\..\tests\testbin\$(Configuration)\coreclr\FSC</DOTNET_PUBLISH_FSI_PATH>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- If building an FSharp.Core for a back version (Mono Debian source builds only), put it in a qualified directory -->
|
||||
<PropertyGroup>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == ''">$(TargetDotnetProfile)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '3.0'">fsharp30\$(TargetDotnetProfile)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '3.1'">fsharp31\$(TargetDotnetProfile)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory Condition="'$(FSharpCoreBackVersion)' == '4.0'">fsharp40\$(TargetDotnetProfile)</TargetFrameworkOutputDirectory>
|
||||
<TargetFrameworkOutputDirectory>$(TargetDotnetProfile)</TargetFrameworkOutputDirectory>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\$(TargetFrameworkOutputDirectory)\</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Choose>
|
||||
<When Condition="'$(BuildWith)' == 'LKG' AND '$(BUILD_PROTO_WITH_CORECLR_LKG)' == '1'">
|
||||
<PropertyGroup >
|
||||
<OutputPath>$(FSharpSourcesRoot)\..\$(Configuration)\$(ProtoFlavour)\bin</OutputPath>
|
||||
|
||||
<DotnetSdkVersion>$([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\DotnetCLIToolsVersion.txt').Trim())</DotnetSdkVersion>
|
||||
<FSharpNetCoreLkgPath>$(MSBuildThisFileDirectory)..\Tools\dotnet20\sdk\$(DotnetSdkVersion)\FSharp</FSharpNetCoreLkgPath>
|
||||
|
||||
<!-- When using coreclr to bootstrap to proto. We acquire the FSharp.Core LKG, targets LKG, the FSharp.Build LKG from the .NET Framework compiler tools LKG package. -->
|
||||
<FSharpTargetsPath>..\packages\FSharp.Compiler.Tools.4.1.27\tools\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
|
||||
<!-- When using coreclr to bootstrap, the compiler binary comes from the coreclr LKG, invoked using corehost.exe -->
|
||||
<FscToolPath>$(FSharpSourcesRoot)\..\Tools\dotnet20</FscToolPath>
|
||||
<FscToolExe Condition="'$(OS)' != 'Unix'">dotnet.exe</FscToolExe>
|
||||
<FscToolExe Condition="'$(OS)' == 'Unix'">dotnet</FscToolExe>
|
||||
<DotnetFscCompilerPath>$(FSharpNetCoreLkgPath)\fsc.exe</DotnetFscCompilerPath>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="'$(BuildWith)' == 'LKG' AND '$(BUILD_PROTO_WITH_CORECLR_LKG)' != '1'">
|
||||
<!-- Use .NET Framework to bootstrap to proto -->
|
||||
<PropertyGroup >
|
||||
<OutputPath>$(FSharpSourcesRoot)\..\$(Configuration)\$(ProtoFlavour)\bin</OutputPath>
|
||||
<FSharpTargetsPath>..\packages\FSharp.Compiler.Tools.4.1.27\tools\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="'$(BuildWith)' == '' AND '$(TargetDotnetProfile)'=='coreclr'">
|
||||
<!-- Compiling coreclr with Proto, currently always use a .NET Framework/Mono proto -->
|
||||
<PropertyGroup>
|
||||
<OutputPath Condition=" '$(CustomOutputPath)' != 'true' ">$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFrameworkOutputDirectory)\bin</OutputPath>
|
||||
<FscToolPath>$(FSharpSourcesRoot)\..\Proto\$(ProtoFlavour)\bin</FscToolPath>
|
||||
<FscToolExe>fsc.exe</FscToolExe>
|
||||
<FSharpTargetsPath>..\Proto\$(ProtoFlavour)\bin\Microsoft.Portable.FSharp.targets</FSharpTargetsPath>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<!-- Compiling net40 with Proto -->
|
||||
<PropertyGroup>
|
||||
<OutputPath Condition=" '$(CustomOutputPath)' != 'true' ">$(FSharpSourcesRoot)\..\$(Configuration)\$(TargetFrameworkOutputDirectory)\bin</OutputPath>
|
||||
<FscToolPath>$(FSharpSourcesRoot)\..\Proto\$(ProtoFlavour)\bin</FscToolPath>
|
||||
<FscToolExe>fsc.exe</FscToolExe>
|
||||
<FSharpTargetsPath>..\Proto\$(ProtoFlavour)\bin\Microsoft.FSharp.Targets</FSharpTargetsPath>
|
||||
</PropertyGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>ValidateBuildTools;$(CompileDependsOn)</CompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="ValidateBuildTools" Condition="'$(ProjectLanguage)' == 'FSharp'" >
|
||||
<Message Text="FSharpTargetsPath = $(FSharpTargetsPath)" />
|
||||
<Message Text="FSharpSourcesRoot = $(FSharpSourcesRoot)" />
|
||||
<Message Text="FscToolPath = $(FscToolPath)" />
|
||||
<Message Text="FsiToolPath = $(FsiToolPath)" />
|
||||
<Message Text="FsLexToolPath = $(FsLexToolPath)" />
|
||||
<Message Text="FsYaccToolPath = $(FsYaccToolPath)" />
|
||||
<Message Text="ToolsDir = $(ToolsDir)" />
|
||||
<Error Text="Expect $(FSharpTargetsPath) to exist" Condition="'!Exists('$(FSharpTargetsPath)')" />
|
||||
<Error Text="Expect $(FSharpNetCoreLkgPath)\fsc.exe to exist when BUILD_PROTO_WITH_CORECLR_LKG==1" Condition="'$(BUILD_PROTO_WITH_CORECLR_LKG)' == 1 AND !Exists('$(FSharpNetCoreLkgPath)\fsc.exe')" />
|
||||
<Error Text="Expect $(FscToolPath)\$(FscToolExe) to exist" Condition="!Exists('$(FscToolPath)\$(FscToolExe)')" />
|
||||
<Error Text="Expect $(DotnetFscCompilerPath) to exist if non-empty" Condition="'$(DotnetFscCompilerPath)' != '' AND !Exists('$(DotnetFscCompilerPath)')" />
|
||||
<Error Text="Expect $(FsiToolPath)\$(FsiToolExe) to exist" Condition="!Exists('$(FsiToolPath)\$(FsiToolExe)')" />
|
||||
<Error Text="Expect $(FsLexToolPath)\$(FsLexToolExe) to exist" Condition="!Exists('$(FsLexToolPath)\$(FsLexToolExe)')" />
|
||||
<Error Text="Expect $(FsYaccToolPath)\$(FsYaccToolExe) to exist" Condition="!Exists('$(FsYaccToolPath)\$(FsYaccToolExe)')" />
|
||||
</Target>
|
||||
|
||||
<Import Condition="'$(ProjectLanguage)' == 'FSharp'" Project="$(FSharpTargetsPath)"/>
|
||||
|
||||
<!-- Hook up .NET Core to enable solution refresh of packages -->
|
||||
<PropertyGroup Condition="'$(TargetDotnetProfile)'=='coreclr'">
|
||||
|
||||
<!-- Implicitly needed by packageresolve.targets. Should file a bug for a better error message here -->
|
||||
<PackagesDir>$(NUGET_PACKAGES)</PackagesDir>
|
||||
|
||||
<NuGetToolPath Condition="'$(NuGetToolPath)' == ''">$(FSharpSourcesRoot)\..\.nuget\</NuGetToolPath>
|
||||
<NuGetConfigCommandLine>-ConfigFile "$(NuGetConfigFile)"</NuGetConfigCommandLine>
|
||||
<NugetRestoreCommand>"$(NuGetToolPath)NuGet.exe install -OutputDirectory "$(PackagesDir)" -Config "$(NuGetToolPath)..\NuGet.Config"</NugetRestoreCommand>
|
||||
<DnuRestoreCommand>"$(NuGetToolPath)NuGet.exe" restore -OutputDirectory "$(PackagesDir)" -Config "$(NuGetToolPath)..\NuGet.Config"</DnuRestoreCommand>
|
||||
|
||||
<!-- Current version of .NET Core does not support all semantics used in our packages,
|
||||
so we ignore the pre-calculation in the lock file and calculate asset applicability in the build task -->
|
||||
<NuGetIngoreLockFile>true</NuGetIngoreLockFile>
|
||||
</PropertyGroup>
|
||||
<Import Condition="'$(TargetDotnetProfile)'=='coreclr'" Project="..\Tools\Build.Common.Targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RootNamespace></RootNamespace>
|
||||
<DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageLicenceUrl Condition="'$(PackageLicenceUrl)' == ''">https://github.com/Microsoft/visualfsharp/blob/master/License.txt</PackageLicenceUrl>
|
||||
<PackageProjectUrl Condition="'$(PackageProjectUrl)' == ''">https://github.com/Microsoft/visualfsharp</PackageProjectUrl>
|
||||
<PackageVersion Condition="'$(PackageVersion)' == ''" >$(NuGetPerBuildPreReleaseVersion)</PackageVersion>
|
||||
<PackageAuthors Condition="'$(PackageAuthors)' == ''" >Microsoft</PackageAuthors>
|
||||
<PackageTags Condition="'$(PackageTags)' == ''" >Visual F# Compiler FSharp coreclr functional programming</PackageTags>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- This build step copies files to the output folder while replacing build variables in the text of those file. -->
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>$(CompileDependsOn);CopyAndSubstituteTextFiles</CompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target
|
||||
Name="CopyAndSubstituteTextFiles"
|
||||
Inputs="@(CopyAndSubstituteText)"
|
||||
Outputs="@(CopyAndSubstituteText->'$(OutDir)%(TargetFilename)')" >
|
||||
<Exec Command=""$([System.IO.Path]::GetFullPath('$(FsiToolPath)\$(FsiToolExe)'))" --exec "$(MSBuildThisFileDirectory)scripts/subst.fsx" --in:"%(CopyAndSubstituteText.FullPath)" --out:"$(OutDir)%(CopyAndSubstituteText.TargetFilename)" --pattern1:"%(CopyAndSubstituteText.Pattern1)" --replacement1:"%(CopyAndSubstituteText.Replacement1)" --pattern2:"%(CopyAndSubstituteText.Pattern2)" --replacement2:"%(CopyAndSubstituteText.Replacement2)" " Condition="'$(OS)' != 'Unix'" />
|
||||
<Exec Command="mono $([System.IO.Path]::GetFullPath('$(FsiToolPath)\$(FsiToolExe)')) --exec "$(MSBuildThisFileDirectory)scripts/subst.fsx" --in:"%(CopyAndSubstituteText.FullPath)" --out:"$(OutDir)%(CopyAndSubstituteText.TargetFilename)" --pattern1:"%(CopyAndSubstituteText.Pattern1)" --replacement1:"%(CopyAndSubstituteText.Replacement1)" --pattern2:"%(CopyAndSubstituteText.Pattern2)" --replacement2:"%(CopyAndSubstituteText.Replacement2)" " Condition="'$(OS)' == 'Unix'" />
|
||||
<!-- Make sure it will get cleaned -->
|
||||
<CreateItem Include="$(OutDir)%(CopyAndSubstituteText.TargetFilename)">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
<Import Project="$(FSharpSourcesRoot)\scripts\fssrgen.targets" Condition="'$(Configuration)' == 'Proto'" />
|
||||
<Import Project="Microbuild.Settings.targets" Condition="'$(UseMicroBuild)' == 'true'"/>
|
||||
|
||||
<Target Name="dotnetrestore" BeforeTargets="Build" Condition=" '$(TargetDotnetProfile)' == 'coreclr' ">
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\.nuget\nuget.exe restore -PackagesDirectory $(PackagesDir) -Config $(MSBuildThisFileDirectory)..\NuGet.Config project.json" />
|
||||
</Target>
|
||||
|
||||
<Target Name="dotnetrestore" BeforeTargets="Build" Condition=" '$(DOTNET_PUBLISH)' == 'true' ">
|
||||
<SetEnvVar Name="NUGET_PACKAGES" Value="$(NUGET_PACKAGES)" />
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\Tools\dotnetcli\dotnet.exe restore --configfile $(MSBuildThisFileDirectory)..\NuGet.Config project.json"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="dotnetpublish" AfterTargets="Build" Condition=" '$(DOTNET_PUBLISH)' == 'true' ">
|
||||
<SetEnvVar Name="NUGET_PACKAGES" Value="$(NUGET_PACKAGES)" />
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\Tools\dotnetcli\dotnet.exe --verbose publish --no-build project.json -r $(DOTNET_PUBLISH_PLATFORM) -c $(Configuration) -o $(DOTNET_PUBLISH_PATH)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="dotnetpublishfsccompiler" AfterTargets="CopyFilesToOutputDirectory" Condition=" '$(DOTNET_PUBLISH_FSC)' == 'true' ">
|
||||
<SetEnvVar Name="NUGET_PACKAGES" Value="$(NUGET_PACKAGES)" />
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\Tools\dotnetcli\dotnet.exe restore DeployCompiler\fsc\project.json"/>
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\Tools\dotnetcli\dotnet.exe --verbose publish --no-build DeployCompiler\fsc\project.json -r $(DOTNET_PUBLISH_PLATFORM) -c $(Configuration) -o $(DOTNET_PUBLISH_FSC_PATH)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="dotnetpublishfsicompiler" AfterTargets="CopyFilesToOutputDirectory" Condition=" '$(DOTNET_PUBLISH_FSI)' == 'true' ">
|
||||
<SetEnvVar Name="NUGET_PACKAGES" Value="$(NUGET_PACKAGES)" />
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\Tools\dotnetcli\dotnet.exe restore DeployCompiler\fsi\project.json"/>
|
||||
<Exec Command="$(MSBuildThisFileDirectory)..\Tools\dotnetcli\dotnet.exe --verbose publish --no-build DeployCompiler\fsi\project.json -r $(DOTNET_PUBLISH_PLATFORM) -c $(Configuration) -o $(DOTNET_PUBLISH_FSI_PATH)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateSourceLink" BeforeTargets="CoreCompile" Condition="'$(UseSourceLink)' == 'true'">
|
||||
<PropertyGroup>
|
||||
<SrcRootDirectory>$([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory.TrimEnd("\"))))</SrcRootDirectory>
|
||||
<SourceLinkRoot>$(SrcRootDirectory.Replace("\", "\\"))</SourceLinkRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="git config --get remote.origin.url" ConsoleToMsBuild="true">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="RemoteUri" />
|
||||
</Exec>
|
||||
|
||||
<!-- https://raw.githubusercontent.com/KevinRansom/visualfsharp/98e8c9a2ca09a36ebd024eb424fc050a831053cd/build.cmd -->
|
||||
<WriteLinesToFile File="$(IntermediateOutputPath)source_link.json" Overwrite="true" Lines='{"documents": { "$(SourceLinkRoot)\\*" : "$(RemoteUri.Replace(".git", "").Replace("github.com", "raw.githubusercontent.com"))/$(GitHeadSha)/*" }}' />
|
||||
</Target>
|
||||
|
||||
<!-- If BuildVersionFilePath not specified then do nothing -->
|
||||
<Target Name="CleanVersionFile" Condition ="'$(BuildVersionFilePath)' != '' ">
|
||||
<PropertyGroup>
|
||||
<BuildVersionFileDir>$([System.IO.Path]::GetDirectoryName($(BuildVersionFilePath)))</BuildVersionFileDir>
|
||||
</PropertyGroup>
|
||||
<RemoveDir Condition="Exists('$(BuildVersionFileDir)')" Directories="$(BuildVersionFileDir)" />
|
||||
</Target>
|
||||
|
||||
<!-- If BuildVersionFilePath not specified then do nothing -->
|
||||
<Target Name="CreateOrUpdateBuildVersionFile" Condition ="'$(BuildVersionFilePath)' != '' ">
|
||||
<PropertyGroup>
|
||||
<BuildVersionFileDir>$([System.IO.Path]::GetDirectoryName($(BuildVersionFilePath)))</BuildVersionFileDir>
|
||||
<PackageVersionMajor Condition="'$(PackageVersionMajor)' == ''" >$(NuGetPerBuildPreReleaseVersion)</PackageVersionMajor>
|
||||
<PackageVersionMinor Condition="'$(PackageVersionMinor)' != ''" >$([MSBuild]::Add($(PackageVersionMinor), 1))</PackageVersionMinor>
|
||||
<PackageVersionMinor Condition="'$(PackageVersionMinor)' == ''" >1</PackageVersionMinor>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CurrentVersionLines Include="%3C%3Fxml version=%221.0%22 encoding=%22utf-8%22%3F%3E" />
|
||||
<CurrentVersionLines Include="%3C!-- This is a generated file. $(VersionSeedSourceComment) Seed Date is $(VersionSeedDate). --%3E" />
|
||||
<CurrentVersionLines Include="%3CProject xmlns=%22http://schemas.microsoft.com/developer/msbuild/2003%22%3E" />
|
||||
<CurrentVersionLines Include="%3CPropertyGroup%3E" />
|
||||
<CurrentVersionLines Include="%3CPackageVersionMajor Condition=%22%27%24(PackageVersionMajor)%27==%27%27%22%3E$(NuGetPerBuildPreReleaseVersion)%3C/PackageVersionMajor%3E" />
|
||||
<CurrentVersionLines Include="%3CPackageVersionMinor Condition=%22%27%24(PackageVersionMinor)%27==%27%27%22%3E$(PackageVersionMinor)%3C/PackageVersionMinor%3E" />
|
||||
<CurrentVersionLines Include="%3C/PropertyGroup%3E" />
|
||||
<CurrentVersionLines Include="%3C/Project%3E" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Since by default the file will get dropped at the obj dir, make sure that the dir is created already or else WriteLinesToFile will error. -->
|
||||
<MakeDir Condition="!Exists('$(BuildVersionFileDir)')" Directories="$(BuildVersionFileDir)" />
|
||||
|
||||
<WriteLinesToFile
|
||||
ContinueOnError="WarnAndContinue"
|
||||
File="$(BuildVersionFilePath)"
|
||||
Lines="@(CurrentVersionLines)"
|
||||
Overwrite="true" />
|
||||
|
||||
<!-- Delete old BuildVersion.props files -->
|
||||
<ItemGroup>
|
||||
<OldBuildVersionFiles Include="$(BuildVersionFilePath)BuildVersions-*.props" Exclude="$(BuildVersionFilePath)%(BuildVersionFileItem.Filename).props" />
|
||||
</ItemGroup>
|
||||
<Delete Files="@(OldBuildVersionFiles)" TreatErrorsAsWarnings="true"/>
|
||||
</Target>
|
||||
|
||||
<UsingTask TaskName="FSharpEmbedResourceText"
|
||||
AssemblyFile="$(FSharpSourcesRoot)\..\Proto\net40\bin\FSharp.Build.dll"
|
||||
Condition="'$(Configuration)' != 'Proto'" />
|
||||
<UsingTask TaskName="FSharpEmbedResXSource"
|
||||
AssemblyFile="$(FSharpSourcesRoot)\..\Proto\net40\bin\FSharp.Build.dll"
|
||||
Condition="'$(Configuration)' != 'Proto'" />
|
||||
<UsingTask TaskName="WriteCodeFragment"
|
||||
AssemblyFile="$(FSharpSourcesRoot)\..\Proto\net40\bin\FSharp.Build.dll"
|
||||
Condition="'$(Configuration)' != 'Proto'" />
|
||||
|
||||
<Target Name="GenerateFSharpTextResources"
|
||||
BeforeTargets="GetXlfSources;CoreResGen;PrepareForBuild"
|
||||
Condition="'$(Configuration)' != 'Proto'">
|
||||
|
||||
<MakeDir Directories="$(IntermediateOutputPath)" />
|
||||
|
||||
<!-- Generate source for all resx files. -->
|
||||
<FSharpEmbedResXSource EmbeddedResource="@(EmbeddedResource)" IntermediateOutputPath="$(IntermediateOutputPath)" TargetFramework="$(TargetFramework)">
|
||||
<Output TaskParameter="GeneratedSource" ItemName="_FsGeneratedResXSource" />
|
||||
</FSharpEmbedResXSource>
|
||||
|
||||
<ItemGroup>
|
||||
<CompileBefore Include="@(_FsGeneratedResXSource)" />
|
||||
<FileWrites Include="@(_FsGeneratedResXSource)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Generate resx and source for all txt files. -->
|
||||
<FSharpEmbedResourceText EmbeddedText="@(EmbeddedText)" IntermediateOutputPath="$(IntermediateOutputPath)">
|
||||
<Output TaskParameter="GeneratedSource" ItemName="_FsGeneratedTxtSource" />
|
||||
<Output TaskParameter="GeneratedResx" ItemName="_FsGeneratedResx" />
|
||||
</FSharpEmbedResourceText>
|
||||
|
||||
<ItemGroup>
|
||||
<CompileBefore Include="@(_FsGeneratedTxtSource)" />
|
||||
<EmbeddedResource Include="@(_FsGeneratedResx)" />
|
||||
<FileWrites Include="@(_FsGeneratedTxtSource)" />
|
||||
<FileWrites Include="@(_FsGeneratedResx)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Import Project="..\build\targets\GenerateAssemblyAttributes.targets" />
|
||||
<Import Project="..\build\targets\GenerateInternalsVisibleTo.targets" />
|
||||
|
||||
<UsingTask TaskName="ReplaceFileText" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<InputFilename ParameterType="System.String" Required="true" />
|
||||
<OutputFilename ParameterType="System.String" Required="true" />
|
||||
<MatchExpression ParameterType="System.String" Required="true" />
|
||||
<ReplacementText ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Reference Include="System.Core" />
|
||||
<Using Namespace="System" />
|
||||
<Using Namespace="System.IO" />
|
||||
<Using Namespace="System.Text.RegularExpressions" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
File.WriteAllText(
|
||||
OutputFilename,
|
||||
Regex.Replace(File.ReadAllText(InputFilename), MatchExpression, ReplacementText)
|
||||
);
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
<UsingTask TaskName="SetEnvVar" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<Name ParameterType="System.String" Required="true" />
|
||||
<Value ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Using Namespace="System" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
Environment.SetEnvironmentVariable(Name, Value);
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
</Project>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MicroBuildCoreVersion>0.2.0</MicroBuildCoreVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\packages\MicroBuild.Core.$(MicroBuildCoreVersion)\build\MicroBuild.Core.props" />
|
||||
|
||||
<Target Name="GetVsixPackageVersion" Outputs="$(VsixPackageVersion)">
|
||||
</Target>
|
||||
|
||||
<Import Project="..\packages\MicroBuild.Core.$(MicroBuildCoreVersion)\build\MicroBuild.Core.targets" />
|
||||
</Project>
|
|
@ -34,7 +34,6 @@
|
|||
<TargetDotnetProfile Condition=" $(TargetFramework.StartsWith('netframework')) ">net40</TargetDotnetProfile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\FSharpSource.Profiles.targets" />
|
||||
<Import Project="$(BuildVersionFilePath)" Condition="Exists('$(BuildVersionFilePath)')" />
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="..\..\FSharp.Profiles.props" />
|
||||
|
||||
</Project>
|
|
@ -25,7 +25,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<NuspecFile>$(FSharpSourcesRoot)\fsharp\FSharp.Compiler.nuget\Microsoft.FSharp.Compiler.nuspec</NuspecFile>
|
||||
<NuspecFile>Microsoft.FSharp.Compiler.nuspec</NuspecFile>
|
||||
<NuspecProperties>licenseUrl=$(PackageLicenceUrl);version=$(PackageVersion);authors=$(PackageAuthors);projectUrl=$(PackageProjectUrl);tags=$(PackageTags)</NuspecProperties>
|
||||
<NuspecBasePath>$(OutputPath)/$(TargetFramework)</NuspecBasePath>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Testing.FSharp.Compiler</id>
|
||||
<id>Microsoft.FSharp.Compiler</id>
|
||||
<description>
|
||||
Test deployable versionthe fsharp compiler fsc.exe. Supported Platforms: - .NET Core (.netstandard1.6)
|
||||
.NET Core compatible version of the F# compiler fsc.exe.
|
||||
Supported Platforms: - .NET Core (.netstandard2.0).
|
||||
Commit hash: $githeadsha$.
|
||||
</description>
|
||||
<language>en-US</language>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
|
@ -13,53 +15,69 @@
|
|||
<projectUrl>$projectUrl$</projectUrl>
|
||||
<tags>$tags$</tags>
|
||||
<dependencies>
|
||||
<group targetFramework=".NETStandard1.6">
|
||||
<dependency id="Microsoft.NETCore.Platforms" version="1.0.1" />
|
||||
<dependency id="NETStandard.Library" version="1.6.0" />
|
||||
<group targetFramework=".NETStandard2.0">
|
||||
<dependency id="Microsoft.NETCore.Platforms" version="2.0.0" />
|
||||
<dependency id="NETStandard.Library" version="2.0.0" />
|
||||
<dependency id="System.Collections.Immutable" version="1.5.0" />
|
||||
<dependency id="System.Console" version="4.0.0" />
|
||||
<dependency id="System.Diagnostics.Process" version="4.1.0" />
|
||||
<dependency id="System.Diagnostics.TraceSource" version="4.0.0" />
|
||||
<dependency id="System.Linq.Expressions" version="4.1.0" />
|
||||
<dependency id="System.Linq.Queryable" version="4.0.1" />
|
||||
<dependency id="System.Net.Requests" version="4.0.11" />
|
||||
<dependency id="System.Reflection.Emit" version="4.0.1" />
|
||||
<dependency id="System.Diagnostics.Process" version="4.3.0" />
|
||||
<dependency id="System.Diagnostics.TraceSource" version="4.3.0" />
|
||||
<dependency id="System.Linq.Expressions" version="4.3.0" />
|
||||
<dependency id="System.Linq.Queryable" version="4.3.0" />
|
||||
<dependency id="System.Net.Requests" version="4.3.0" />
|
||||
<dependency id="System.Reflection.Emit" version="4.3.0" />
|
||||
<dependency id="System.Reflection.Metadata" version="1.6.0" />
|
||||
<dependency id="System.Runtime.InteropServices" version="4.1.0" />
|
||||
<dependency id="System.Runtime.Loader" version="4.0.0" />
|
||||
<dependency id="System.Security.Cryptography.Algorithms" version="4.2.0" />
|
||||
<dependency id="System.Threading.Tasks.Parallel" version="4.0.1" />
|
||||
<dependency id="System.Threading.Thread" version="4.0.0" />
|
||||
<dependency id="System.Threading.ThreadPool" version="4.0.10" />
|
||||
<dependency id="System.ValueTuple" version="4.3.0" />
|
||||
<dependency id="System.Runtime.InteropServices" version="4.3.0" />
|
||||
<dependency id="System.Runtime.Loader" version="4.3.0" />
|
||||
<dependency id="System.Security.Cryptography.Algorithms" version="4.3.0" />
|
||||
<dependency id="System.Threading.Tasks.Parallel" version="4.3.0" />
|
||||
<dependency id="System.Threading.Thread" version="4.3.0" />
|
||||
<dependency id="System.Threading.ThreadPool" version="4.3.0" />
|
||||
<dependency id="System.ValueTuple" version="4.4.0" />
|
||||
</group>
|
||||
</dependencies>
|
||||
<contentFiles>
|
||||
<files include="any\any\default.win32manifest" buildAction="Content" copyToOutput="true" flatten="false" />
|
||||
<files include="any\any\Microsoft.FSharp.Targets" buildAction="Content" copyToOutput="true" flatten="false" />
|
||||
<files include="any\any\Microsoft.Portable.FSharp.targets" buildAction="Content" copyToOutput="true" flatten="false" />
|
||||
<files include="any\any\Microsoft.FSharp.NetSdk.props" buildAction="Content" copyToOutput="true" flatten="false" />
|
||||
<files include="any\any\Microsoft.FSharp.NetSdk.targets" buildAction="Content" copyToOutput="true" flatten="false" />
|
||||
<files include="any\any\Microsoft.FSharp.Overrides.NetSdk.targets" buildAction="Content" copyToOutput="true" flatten="false" />
|
||||
</contentFiles>
|
||||
</metadata>
|
||||
<files>
|
||||
<!--
|
||||
Why is this like this?
|
||||
This package is used to deploy the fsharp compiler tools as built product.
|
||||
|
||||
|
||||
We need nuget package to merely deploy the contents of the lib directory.
|
||||
tools, build and runtime/native make unnecessary copies.
|
||||
this approach gives a very small deployment. Which is kind of necessary.
|
||||
-->
|
||||
<file src="fsc.exe" target="lib\netstandard1.6" />
|
||||
<file src="fsi.exe" target="lib\netstandard1.6" />
|
||||
<file src="FSharp.Core.dll" target="lib\netstandard1.6" />
|
||||
<file src="FSharp.Compiler.Private.dll" target="lib\netstandard1.6" />
|
||||
<file src="FSharp.Build.dll" target="lib\netstandard1.6" />
|
||||
<file src="FSharp.Compiler.Interactive.Settings.dll" target="lib\netstandard1.6" />
|
||||
<file src="default.win32manifest" target="runtimes\any\native" />
|
||||
<file src="Microsoft.FSharp.Targets" target="runtimes\any\native" />
|
||||
<file src="Microsoft.Portable.FSharp.Targets" target="runtimes\any\native" />
|
||||
<file src="Microsoft.FSharp.NetSdk.props" target="runtimes\any\native" />
|
||||
<file src="Microsoft.FSharp.NetSdk.targets" target="runtimes\any\native" />
|
||||
<file src="Microsoft.FSharp.Overrides.NetSdk.targets" target="runtimes\any\native" />
|
||||
|
||||
<file src="**\FSharp.Core.resources.dll" target="lib\netstandard1.6" />
|
||||
<file src="**\FSharp.Compiler.Private.resources.dll" target="lib\netstandard1.6" />
|
||||
<file src="**\FSharp.Compiler.Interactive.Settings.resources.dll" target="lib\netstandard1.6" />
|
||||
<file src="**\FSharp.Build.resources.dll" target="lib\netstandard1.6" />
|
||||
<!-- assemblies -->
|
||||
<file src="fsc.exe" target="lib\netstandard2.0" />
|
||||
<file src="fsi.exe" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Core.dll" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Compiler.Private.dll" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Build.dll" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Compiler.Interactive.Settings.dll" target="lib\netstandard2.0" />
|
||||
<!-- symbols -->
|
||||
<file src="fsc.pdb" target="lib\netstandard2.0" />
|
||||
<file src="fsi.pdb" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Core.pdb" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Compiler.Private.pdb" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Build.pdb" target="lib\netstandard2.0" />
|
||||
<file src="FSharp.Compiler.Interactive.Settings.pdb" target="lib\netstandard2.0" />
|
||||
<!-- additional files -->
|
||||
<file src="default.win32manifest" target="contentFiles\any\any" />
|
||||
<file src="Microsoft.FSharp.Targets" target="contentFiles\any\any" />
|
||||
<file src="Microsoft.Portable.FSharp.Targets" target="contentFiles\any\any" />
|
||||
<file src="Microsoft.FSharp.NetSdk.props" target="contentFiles\any\any" />
|
||||
<file src="Microsoft.FSharp.NetSdk.targets" target="contentFiles\any\any" />
|
||||
<file src="Microsoft.FSharp.Overrides.NetSdk.targets" target="contentFiles\any\any" />
|
||||
<!-- resources -->
|
||||
<file src="**\FSharp.Core.resources.dll" target="lib\netstandard2.0" />
|
||||
<file src="**\FSharp.Compiler.Private.resources.dll" target="lib\netstandard2.0" />
|
||||
<file src="**\FSharp.Compiler.Interactive.Settings.resources.dll" target="lib\netstandard2.0" />
|
||||
<file src="**\FSharp.Build.resources.dll" target="lib\netstandard2.0" />
|
||||
</files>
|
||||
</package>
|
|
@ -25,7 +25,7 @@
|
|||
<CompileBefore Include="$(FsCoreDir)\prim-types-prelude.fs">
|
||||
<Link>Primitives/prim-types-prelude.fs</Link>
|
||||
</CompileBefore>
|
||||
<Compile Include="$(FsCoreDir)\SR.fs">
|
||||
<Compile Include="SR.fs">
|
||||
<Link>Primitives/SR.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="$(FsCoreDir)\prim-types.fsi">
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.Core\FSharp.Core.fsproj" />
|
||||
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.Build\FSharp.Build.fsproj" />
|
||||
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.Compiler.Private\FSharp.Compiler.Private.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -22,10 +22,11 @@
|
|||
<SystemValueTuplePackageVersion>4.4.0</SystemValueTuplePackageVersion>
|
||||
|
||||
<!-- other packages -->
|
||||
<MicrosoftBuildPackageVersion>15.1.548</MicrosoftBuildPackageVersion>
|
||||
<MicrosoftBuildFrameworkPackageVersion>15.1.548</MicrosoftBuildFrameworkPackageVersion>
|
||||
<MicrosoftBuildTasksCorePackageVersion>15.1.548</MicrosoftBuildTasksCorePackageVersion>
|
||||
<MicrosoftBuildUtilitiesCorePackageVersion>15.1.548</MicrosoftBuildUtilitiesCorePackageVersion>
|
||||
<MicrosoftBuildOverallPackagesVersion>15.8.166</MicrosoftBuildOverallPackagesVersion>
|
||||
<MicrosoftBuildPackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildPackageVersion>
|
||||
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildFrameworkPackageVersion>
|
||||
<MicrosoftBuildTasksCorePackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildTasksCorePackageVersion>
|
||||
<MicrosoftBuildUtilitiesCorePackageVersion>$(MicrosoftBuildOverallPackagesVersion)</MicrosoftBuildUtilitiesCorePackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>4.3.0</MicrosoftWin32RegistryPackageVersion>
|
||||
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<!-- empty to prevent directory crawling -->
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<!-- empty to prevent directory crawling -->
|
||||
</Project>
|
|
@ -0,0 +1,32 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Projects Include="fslex\fslex.fsproj" />
|
||||
<Projects Include="fsyacc\fsyacc.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
<MSBuild Projects="@(Projects)" Targets="Build" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Rebuild">
|
||||
<MSBuild Projects="@(Projects)" Targets="Rebuild" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean">
|
||||
<MSBuild Projects="@(Projects)" Targets="Clean" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Restore">
|
||||
<MSBuild Projects="@(Projects)" Targets="Restore" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Publish">
|
||||
<MSBuild Projects="@(Projects)" Targets="Publish" Properties="Configuration=$(Configuration)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,69 +1,56 @@
|
|||
<!--
|
||||
***********************************************************************************************
|
||||
FsLexYacc.targets
|
||||
<Project>
|
||||
|
||||
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
|
||||
created a backup copy. Incorrect changes to this file will make it
|
||||
impossible to load or build your projects from the command-line or the IDE.
|
||||
<PropertyGroup>
|
||||
<DotNetExe Condition=" '$(OS)' == 'Unix' ">dotnet</DotNetExe>
|
||||
<DotNetExe Condition=" '$(OS)' != 'Unix' ">dotnet.exe</DotNetExe>
|
||||
<!-- When building from source, `dotnet` is expected to be on the path. -->
|
||||
<DotNetExePath>$(DotNetExe)</DotNetExePath>
|
||||
</PropertyGroup>
|
||||
|
||||
PowerPack build rules.
|
||||
<!-- Build FsLex files. -->
|
||||
<Target Name="CallFsLex"
|
||||
Inputs="@(FsLex)"
|
||||
Outputs="@(FsLex->'$(FsLexOutputFolder)%(Filename).fs')"
|
||||
Condition="'@(FsLex)'!=''"
|
||||
BeforeTargets="CoreCompile">
|
||||
|
||||
Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
***********************************************************************************************
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<FsLexPath>$(MSBuildThisFileDirectory)fslex\bin\Proto\netcoreapp2.0\fslex.dll</FsLexPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>CallFsLex;CallFsYacc;$(CompileDependsOn)</CompileDependsOn>
|
||||
<FsLexToolPath Condition="'$(FsLexToolPath)' == ''">$(MSBuildThisFileDirectory)</FsLexToolPath>
|
||||
<FsLexToolExe Condition="'$(FsLexToolExe)' == ''">fslex.exe</FsLexToolExe>
|
||||
<FsYaccToolPath Condition="'$(FsYaccToolPath)' == ''">$(MSBuildThisFileDirectory)</FsYaccToolPath>
|
||||
<FsYaccToolExe Condition="'$(FsYaccToolExe)' == ''">fsyacc.exe</FsYaccToolExe>
|
||||
</PropertyGroup>
|
||||
<!-- Create the output directory -->
|
||||
<MakeDir Directories="$(FsLexOutputFolder)"/>
|
||||
|
||||
<!-- Build FsLex files. -->
|
||||
<Target
|
||||
Name="CallFsLex"
|
||||
Inputs="@(FsLex)"
|
||||
Outputs="@(FsLex->'$(FsLexOutputFolder)%(Filename).fs')"
|
||||
Condition="'@(FsLex)'!=''">
|
||||
<!-- Run the tool -->
|
||||
<Exec Command=""$(DotNetExePath)" "$(FsLexPath)" -o "$(FsLexOutputFolder)%(FsLex.Filename).fs" %(FsLex.OtherFlags) %(FsLex.Identity)" />
|
||||
|
||||
<!-- Create the output directory -->
|
||||
<MakeDir Directories="$(FsLexOutputFolder)"/>
|
||||
<!-- Call FsLex -->
|
||||
<Exec Command=""$(FsLexToolPath)\$(FsLexToolExe)" -o "$(FsLexOutputFolder)%(FsLex.Filename).fs" %(FsLex.OtherFlags) %(FsLex.Identity)" Condition="'$(OS)' != 'Unix'" />
|
||||
<Exec Command="mono "$(FsLexToolPath)\$(FsLexToolExe)" -o "$(FsLexOutputFolder)%(FsLex.Filename).fs" %(FsLex.OtherFlags) %(FsLex.Identity)" Condition="'$(OS)' == 'Unix'" />
|
||||
<!-- Make sure it will get cleaned -->
|
||||
<CreateItem Include="$(FsLexOutputFolder)%(FsLex.Filename).fs">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
<!-- Make sure it will get cleaned -->
|
||||
<CreateItem Include="$(FsLexOutputFolder)%(FsLex.Filename).fs">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<!-- Build FsYacc files. -->
|
||||
<Target
|
||||
Name="CallFsYacc"
|
||||
Inputs="@(FsYacc)"
|
||||
Outputs="@(FsYacc->'$(FsYaccOutputFolder)%(Filename).fs')"
|
||||
Condition="'@(FsYacc)'!=''">
|
||||
<!-- Build FsYacc files. -->
|
||||
<Target Name="CallFsYacc"
|
||||
Inputs="@(FsYacc)"
|
||||
Outputs="@(FsYacc->'$(FsYaccOutputFolder)%(Filename).fs')"
|
||||
Condition="'@(FsYacc)'!=''"
|
||||
BeforeTargets="CoreCompile">
|
||||
|
||||
<!-- Create the output directory -->
|
||||
<MakeDir Directories="$(FsYaccOutputFolder)"/>
|
||||
<Exec Command=""$(FsYaccToolPath)\$(FsYaccToolExe)" -o "$(FsYaccOutputFolder)%(FsYacc.Filename).fs" %(FsYacc.OtherFlags) %(FsYacc.Identity)" Condition="'$(OS)' != 'Unix'" />
|
||||
<Exec Command="mono "$(FsYaccToolPath)\$(FsYaccToolExe)" -o "$(FsYaccOutputFolder)%(FsYacc.Filename).fs" %(FsYacc.OtherFlags) %(FsYacc.Identity)" Condition="'$(OS)' == 'Unix'" />
|
||||
<PropertyGroup>
|
||||
<FsYaccPath>$(MSBuildThisFileDirectory)fsyacc\bin\Proto\netcoreapp2.0\fsyacc.dll</FsYaccPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Create the output directory -->
|
||||
<MakeDir Directories="$(FsYaccOutputFolder)" />
|
||||
|
||||
<!-- Run the tool -->
|
||||
<Exec Command=""$(DotNetExePath)" "$(FsYaccPath)" -o "$(FsYaccOutputFolder)%(FsYacc.Filename).fs" %(FsYacc.OtherFlags) %(FsYacc.Identity)" />
|
||||
|
||||
<!-- Make sure it will get cleaned -->
|
||||
<CreateItem Include="$(FsYaccOutputFolder)%(FsYacc.Filename).fs">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<!-- Make sure it will get cleaned -->
|
||||
<CreateItem Include="$(FsYaccOutputFolder)%(FsYacc.Filename).fs">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
<AvailableItemName Include="FsLex">
|
||||
<Visible>false</Visible>
|
||||
</AvailableItemName>
|
||||
<AvailableItemName Include="FsYacc">
|
||||
<Visible>false</Visible>
|
||||
</AvailableItemName>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
|
||||
|
|
|
@ -67,7 +67,8 @@ let sentinel = 255 * 256 + 255
|
|||
let lineCount = ref 0
|
||||
let cfprintfn (os: #TextWriter) fmt = Printf.kfprintf (fun () -> incr lineCount; os.WriteLine()) os fmt
|
||||
|
||||
let main() =
|
||||
[<EntryPoint>]
|
||||
let main(args: string[]) =
|
||||
try
|
||||
let filename = (match !input with Some x -> x | None -> failwith "no input given")
|
||||
let domain = if !unicode then "Unicode" else "Ascii"
|
||||
|
@ -216,10 +217,8 @@ let main() =
|
|||
|
||||
printLinesIfCodeDefined spec.BottomCode
|
||||
cfprintfn os "# 3000000 \"%s\"" output;
|
||||
0
|
||||
|
||||
with e ->
|
||||
eprintf "FSLEX: error FSL000: %s" (match e with Failure s -> s | e -> e.ToString());
|
||||
exit 1
|
||||
|
||||
|
||||
let result = main()
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<DefineConstants>INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstant)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="fslex.fsx" />
|
||||
<Compile Include="Lexing.fsi" />
|
||||
<Compile Include="Lexing.fs" />
|
||||
<Compile Include="Parsing.fsi" />
|
||||
<Compile Include="Parsing.fs" />
|
||||
<Compile Include="Arg.fsi" />
|
||||
<Compile Include="Arg.fs" />
|
||||
<Compile Include="fslexast.fs" />
|
||||
<Compile Include="fslexpars.fs" />
|
||||
<Compile Include="fslexlex.fs" />
|
||||
<Compile Include="fslex.fs" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
#load "Lexing.fsi" "Lexing.fs" "Parsing.fsi" "Parsing.fs" "Arg.fsi" "Arg.fs" "fslexast.fs" "fslexpars.fs" "fslexlex.fs" "fslex.fs"
|
||||
|
||||
let v = FsLexYacc.FsLex.Driver.result
|
|
@ -1,12 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<DefineConstants>COMPILED;$(DefineConstant)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="fssrgen.fsx" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,476 +0,0 @@
|
|||
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
|
||||
let PrintErr(filename, line, msg) =
|
||||
printfn "%s(%d): error : %s" filename line msg
|
||||
|
||||
let Err(filename, line, msg) =
|
||||
PrintErr(filename, line, msg)
|
||||
printfn "Note that the syntax of each line is one of these three alternatives:"
|
||||
printfn "# comment"
|
||||
printfn "ident,\"string\""
|
||||
printfn "errNum,ident,\"string\""
|
||||
failwith (sprintf "there were errors in the file '%s'" filename)
|
||||
|
||||
let xmlBoilerPlateString = @"<?xml version=""1.0"" encoding=""utf-8""?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name=""resmimetype"">text/microsoft-resx</resheader>
|
||||
<resheader name=""version"">2.0</resheader>
|
||||
<resheader name=""reader"">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name=""writer"">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name=""Name1""><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name=""Color1"" type=""System.Drawing.Color, System.Drawing"">Blue</data>
|
||||
<data name=""Bitmap1"" mimetype=""application/x-microsoft.net.object.binary.base64"">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name=""Icon1"" type=""System.Drawing.Icon, System.Drawing"" mimetype=""application/x-microsoft.net.object.bytearray.base64"">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of ""resheader"" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id=""root"" xmlns="""" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
|
||||
<xsd:import namespace=""http://www.w3.org/XML/1998/namespace"" />
|
||||
<xsd:element name=""root"" msdata:IsDataSet=""true"">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs=""unbounded"">
|
||||
<xsd:element name=""metadata"">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name=""value"" type=""xsd:string"" minOccurs=""0"" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name=""name"" use=""required"" type=""xsd:string"" />
|
||||
<xsd:attribute name=""type"" type=""xsd:string"" />
|
||||
<xsd:attribute name=""mimetype"" type=""xsd:string"" />
|
||||
<xsd:attribute ref=""xml:space"" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name=""assembly"">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name=""alias"" type=""xsd:string"" />
|
||||
<xsd:attribute name=""name"" type=""xsd:string"" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name=""data"">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name=""value"" type=""xsd:string"" minOccurs=""0"" msdata:Ordinal=""1"" />
|
||||
<xsd:element name=""comment"" type=""xsd:string"" minOccurs=""0"" msdata:Ordinal=""2"" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name=""name"" type=""xsd:string"" use=""required"" msdata:Ordinal=""1"" />
|
||||
<xsd:attribute name=""type"" type=""xsd:string"" msdata:Ordinal=""3"" />
|
||||
<xsd:attribute name=""mimetype"" type=""xsd:string"" msdata:Ordinal=""4"" />
|
||||
<xsd:attribute ref=""xml:space"" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name=""resheader"">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name=""value"" type=""xsd:string"" minOccurs=""0"" msdata:Ordinal=""1"" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name=""name"" type=""xsd:string"" use=""required"" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name=""resmimetype"">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name=""version"">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name=""reader"">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name=""writer"">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>"
|
||||
|
||||
|
||||
type HoleType = string
|
||||
|
||||
|
||||
// The kinds of 'holes' we can do
|
||||
let ComputeHoles filename lineNum (txt:string) : ResizeArray<HoleType> * string =
|
||||
// takes in a %d%s kind of string, returns array of HoleType and {0}{1} kind of string
|
||||
let mutable i = 0
|
||||
let mutable holeNumber = 0
|
||||
let mutable holes = ResizeArray() // order
|
||||
let sb = new System.Text.StringBuilder()
|
||||
let AddHole holeType =
|
||||
sb.Append(sprintf "{%d}" holeNumber) |> ignore
|
||||
holeNumber <- holeNumber + 1
|
||||
holes.Add(holeType)
|
||||
while i < txt.Length do
|
||||
if txt.[i] = '%' then
|
||||
if i+1 = txt.Length then
|
||||
Err(filename, lineNum, "(at end of string) % must be followed by d, f, s, or %")
|
||||
else
|
||||
match txt.[i+1] with
|
||||
| 'd' -> AddHole "System.Int32"
|
||||
| 'f' -> AddHole "System.Double"
|
||||
| 's' -> AddHole "System.String"
|
||||
| '%' -> sb.Append('%') |> ignore
|
||||
| c -> Err(filename, lineNum, sprintf "'%%%c' is not a valid sequence, only %%d %%f %%s or %%%%" c)
|
||||
i <- i + 2
|
||||
else
|
||||
match txt.[i] with
|
||||
| '{' -> sb.Append "{{" |> ignore
|
||||
| '}' -> sb.Append "}}" |> ignore
|
||||
| c -> sb.Append c |> ignore
|
||||
i <- i + 1
|
||||
//printfn "holes.Length = %d, lineNum = %d" holes.Length //lineNum txt
|
||||
(holes, sb.ToString())
|
||||
|
||||
let Unquote (s : string) =
|
||||
if s.StartsWith "\"" && s.EndsWith "\"" then s.Substring(1, s.Length - 2)
|
||||
else failwith "error message string should be quoted"
|
||||
|
||||
let ParseLine filename lineNum (txt:string) =
|
||||
let mutable errNum = None
|
||||
let identB = new System.Text.StringBuilder()
|
||||
let mutable i = 0
|
||||
// parse optional error number
|
||||
if i < txt.Length && System.Char.IsDigit txt.[i] then
|
||||
let numB = new System.Text.StringBuilder()
|
||||
while i < txt.Length && System.Char.IsDigit txt.[i] do
|
||||
numB.Append txt.[i] |> ignore
|
||||
i <- i + 1
|
||||
errNum <- Some(int (numB.ToString()))
|
||||
if i = txt.Length || not(txt.[i] = ',') then
|
||||
Err(filename, lineNum, sprintf "After the error number '%d' there should be a comma" errNum.Value)
|
||||
// Skip the comma
|
||||
i <- i + 1
|
||||
// parse short identifier
|
||||
if i < txt.Length && not(System.Char.IsLetter(txt.[i])) then
|
||||
Err(filename, lineNum, sprintf "The first character in the short identifier should be a letter, but found '%c'" txt.[i])
|
||||
while i < txt.Length && System.Char.IsLetterOrDigit txt.[i] do
|
||||
identB.Append txt.[i] |> ignore
|
||||
i <- i + 1
|
||||
let ident = identB.ToString()
|
||||
if ident.Length = 0 then
|
||||
Err(filename, lineNum, "Did not find the short identifier")
|
||||
else
|
||||
if i = txt.Length || not(txt.[i] = ',') then
|
||||
Err(filename, lineNum, sprintf "After the identifier '%s' there should be a comma" ident)
|
||||
else
|
||||
// Skip the comma
|
||||
i <- i + 1
|
||||
if i = txt.Length then
|
||||
Err(filename, lineNum, sprintf "After the identifier '%s' and comma, there should be the quoted string resource" ident)
|
||||
else
|
||||
let str =
|
||||
try
|
||||
System.String.Format(Unquote(txt.Substring i)) // Format turns e.g '\n' into that char, but also requires that we 'escape' curlies in the original .txt file, e.g. "{{"
|
||||
with
|
||||
e -> Err(filename, lineNum, sprintf "Error calling System.String.Format (note that curly braces must be escaped, and there cannot be trailing space on the line): >>>%s<<< -- %s" (txt.Substring i) e.Message)
|
||||
let holes, netFormatString = ComputeHoles filename lineNum str
|
||||
(lineNum, (errNum,ident), str, holes.ToArray(), netFormatString)
|
||||
|
||||
let stringBoilerPlatePrefix = @"
|
||||
open Microsoft.FSharp.Core.LanguagePrimitives.IntrinsicOperators
|
||||
open Microsoft.FSharp.Reflection
|
||||
open System.Reflection
|
||||
// (namespaces below for specific case of using the tool to compile FSharp.Core itself)
|
||||
open Microsoft.FSharp.Core
|
||||
open Microsoft.FSharp.Core.Operators
|
||||
open Microsoft.FSharp.Text
|
||||
open Microsoft.FSharp.Collections
|
||||
open Printf
|
||||
"
|
||||
let StringBoilerPlate filename =
|
||||
|
||||
@"
|
||||
// BEGIN BOILERPLATE
|
||||
|
||||
static let getCurrentAssembly () =
|
||||
#if FX_RESHAPED_REFLECTION
|
||||
typeof<SR>.GetTypeInfo().Assembly
|
||||
#else
|
||||
System.Reflection.Assembly.GetExecutingAssembly()
|
||||
#endif
|
||||
|
||||
static let getTypeInfo (t: System.Type) =
|
||||
#if FX_RESHAPED_REFLECTION
|
||||
t.GetTypeInfo()
|
||||
#else
|
||||
t
|
||||
#endif
|
||||
|
||||
static let resources = lazy (new System.Resources.ResourceManager(""" + filename + @""", getCurrentAssembly()))
|
||||
|
||||
static let GetString(name:string) =
|
||||
let s = resources.Value.GetString(name, System.Globalization.CultureInfo.CurrentUICulture)
|
||||
#if DEBUG
|
||||
if null = s then
|
||||
System.Diagnostics.Debug.Assert(false, sprintf ""**RESOURCE ERROR**: Resource token %s does not exist!"" name)
|
||||
#endif
|
||||
s
|
||||
|
||||
static let mkFunctionValue (tys: System.Type[]) (impl:obj->obj) =
|
||||
FSharpValue.MakeFunction(FSharpType.MakeFunctionType(tys.[0],tys.[1]), impl)
|
||||
|
||||
static let funTyC = typeof<(obj -> obj)>.GetGenericTypeDefinition()
|
||||
|
||||
static let isNamedType(ty:System.Type) = not (ty.IsArray || ty.IsByRef || ty.IsPointer)
|
||||
static let isFunctionType (ty1:System.Type) =
|
||||
isNamedType(ty1) && getTypeInfo(ty1).IsGenericType && (ty1.GetGenericTypeDefinition()).Equals(funTyC)
|
||||
|
||||
static let rec destFunTy (ty:System.Type) =
|
||||
if isFunctionType ty then
|
||||
ty, ty.GetGenericArguments()
|
||||
else
|
||||
match getTypeInfo(ty).BaseType with
|
||||
| null -> failwith ""destFunTy: not a function type""
|
||||
| b -> destFunTy b
|
||||
|
||||
static let buildFunctionForOneArgPat (ty: System.Type) impl =
|
||||
let _,tys = destFunTy ty
|
||||
let rty = tys.[1]
|
||||
// PERF: this technique is a bit slow (e.g. in simple cases, like 'sprintf ""%x""')
|
||||
mkFunctionValue tys (fun inp -> impl rty inp)
|
||||
|
||||
static let capture1 (fmt:string) i args ty (go : obj list -> System.Type -> int -> obj) : obj =
|
||||
match fmt.[i] with
|
||||
| '%' -> go args ty (i+1)
|
||||
| 'd'
|
||||
| 'f'
|
||||
| 's' -> buildFunctionForOneArgPat ty (fun rty n -> go (n::args) rty (i+1))
|
||||
| _ -> failwith ""bad format specifier""
|
||||
|
||||
// newlines and tabs get converted to strings when read from a resource file
|
||||
// this will preserve their original intention
|
||||
static let postProcessString (s : string) =
|
||||
s.Replace(""\\n"",""\n"").Replace(""\\t"",""\t"").Replace(""\\r"",""\r"").Replace(""\\\"""", ""\"""")
|
||||
|
||||
static let createMessageString (messageString : string) (fmt : Printf.StringFormat<'T>) : 'T =
|
||||
let fmt = fmt.Value // here, we use the actual error string, as opposed to the one stored as fmt
|
||||
let len = fmt.Length
|
||||
|
||||
/// Function to capture the arguments and then run.
|
||||
let rec capture args ty i =
|
||||
if i >= len || (fmt.[i] = '%' && i+1 >= len) then
|
||||
let b = new System.Text.StringBuilder()
|
||||
b.AppendFormat(messageString, [| for x in List.rev args -> x |]) |> ignore
|
||||
box(b.ToString())
|
||||
// REVIEW: For these purposes, this should be a nop, but I'm leaving it
|
||||
// in incase we ever decide to support labels for the error format string
|
||||
// E.g., ""<name>%s<foo>%d""
|
||||
elif System.Char.IsSurrogatePair(fmt,i) then
|
||||
capture args ty (i+2)
|
||||
else
|
||||
match fmt.[i] with
|
||||
| '%' ->
|
||||
let i = i+1
|
||||
capture1 fmt i args ty capture
|
||||
| _ ->
|
||||
capture args ty (i+1)
|
||||
|
||||
(unbox (capture [] (typeof<'T>) 0) : 'T)
|
||||
|
||||
static let mutable swallowResourceText = false
|
||||
|
||||
static let GetStringFunc((messageID : string),(fmt : Printf.StringFormat<'T>)) : 'T =
|
||||
if swallowResourceText then
|
||||
sprintf fmt
|
||||
else
|
||||
let mutable messageString = GetString(messageID)
|
||||
messageString <- postProcessString messageString
|
||||
createMessageString messageString fmt
|
||||
|
||||
/// If set to true, then all error messages will just return the filled 'holes' delimited by ',,,'s - this is for language-neutral testing (e.g. localization-invariant baselines).
|
||||
static member SwallowResourceText with get () = swallowResourceText
|
||||
and set (b) = swallowResourceText <- b
|
||||
// END BOILERPLATE
|
||||
"
|
||||
|
||||
let RunMain(filename, outFilename, outXmlFilenameOpt, projectNameOpt) =
|
||||
try
|
||||
let justfilename = System.IO.Path.GetFileNameWithoutExtension(filename)
|
||||
if justfilename |> Seq.exists (fun c -> not(System.Char.IsLetterOrDigit(c))) then
|
||||
Err(filename, 0, sprintf "The filename '%s' is not allowed; only letters and digits can be used, as the filename also becomes the namespace for the SR class" justfilename)
|
||||
|
||||
printfn "fssrgen.fsx: Reading %s" filename
|
||||
let lines = System.IO.File.ReadAllLines(filename)
|
||||
|> Array.mapi (fun i s -> i,s) // keep line numbers
|
||||
|> Array.filter (fun (i,s) -> not(s.StartsWith "#")) // filter out comments
|
||||
|
||||
printfn "fssrgen.fsx: Parsing %s" filename
|
||||
let stringInfos = lines |> Array.map (fun (i,s) -> ParseLine filename i s)
|
||||
// now we have array of (lineNum, ident, str, holes, netFormatString) // str has %d, netFormatString has {0}
|
||||
|
||||
printfn "fssrgen.fsx: Validating %s" filename
|
||||
// validate that all the idents are unique
|
||||
let allIdents = new System.Collections.Generic.Dictionary<string,int>()
|
||||
for (line,(_,ident),_,_,_) in stringInfos do
|
||||
if allIdents.ContainsKey(ident) then
|
||||
Err(filename,line,sprintf "Identifier '%s' is already used previously on line %d - each identifier must be unique" ident allIdents.[ident])
|
||||
allIdents.Add(ident,line)
|
||||
|
||||
printfn "fssrgen.fsx: Validating uniqueness of %s" filename
|
||||
// validate that all the strings themselves are unique
|
||||
let allStrs = new System.Collections.Generic.Dictionary<string,(int*string)>()
|
||||
for (line,(_,ident),str,_,_) in stringInfos do
|
||||
if allStrs.ContainsKey(str) then
|
||||
let prevLine,prevIdent = allStrs.[str]
|
||||
Err(filename,line,sprintf "String '%s' already appears on line %d with identifier '%s' - each string must be unique" str prevLine prevIdent)
|
||||
allStrs.Add(str,(line,ident))
|
||||
|
||||
printfn "fssrgen.fsx: Generating %s" outFilename
|
||||
use outStream = System.IO.File.Create outFilename
|
||||
use out = new System.IO.StreamWriter(outStream)
|
||||
fprintfn out "// This is a generated file; the original input is '%s'" filename
|
||||
fprintfn out "namespace %s" justfilename
|
||||
if Option.isNone outXmlFilenameOpt then
|
||||
fprintfn out "type internal SR private() ="
|
||||
else
|
||||
fprintfn out "%s" stringBoilerPlatePrefix
|
||||
fprintfn out "type internal SR private() ="
|
||||
let theResourceName = match projectNameOpt with Some p -> sprintf "%s.%s" p justfilename | None -> justfilename
|
||||
fprintfn out "%s" (StringBoilerPlate theResourceName)
|
||||
|
||||
printfn "fssrgen.fsx: Generating resource methods for %s" outFilename
|
||||
// gen each resource method
|
||||
stringInfos |> Seq.iter (fun (lineNum, (optErrNum,ident), str, holes, netFormatString) ->
|
||||
let formalArgs = new System.Text.StringBuilder()
|
||||
let actualArgs = new System.Text.StringBuilder()
|
||||
let firstTime = ref true
|
||||
let n = ref 0
|
||||
formalArgs.Append "(" |> ignore
|
||||
for hole in holes do
|
||||
if !firstTime then
|
||||
firstTime := false
|
||||
else
|
||||
formalArgs.Append ", " |> ignore
|
||||
actualArgs.Append " " |> ignore
|
||||
formalArgs.Append(sprintf "a%d : %s" !n hole) |> ignore
|
||||
actualArgs.Append(sprintf "a%d" !n) |> ignore
|
||||
n := !n + 1
|
||||
formalArgs.Append ")" |> ignore
|
||||
fprintfn out " /// %s" str
|
||||
fprintfn out " /// (Originally from %s:%d)" filename (lineNum+1)
|
||||
let justPercentsFromFormatString =
|
||||
(holes |> Array.fold (fun acc holeType ->
|
||||
acc + match holeType with
|
||||
| "System.Int32" -> ",,,%d"
|
||||
| "System.Double" -> ",,,%f"
|
||||
| "System.String" -> ",,,%s"
|
||||
| _ -> failwith "unreachable") "") + ",,,"
|
||||
let errPrefix = match optErrNum with
|
||||
| None -> ""
|
||||
| Some n -> sprintf "%d, " n
|
||||
if Option.isNone outXmlFilenameOpt then
|
||||
fprintfn out " static member %s%s = (%ssprintf \"%s\" %s)" ident (formalArgs.ToString()) errPrefix str (actualArgs.ToString())
|
||||
else
|
||||
fprintfn out " static member %s%s = (%sGetStringFunc(\"%s\",\"%s\") %s)" ident (formalArgs.ToString()) errPrefix ident justPercentsFromFormatString (actualArgs.ToString())
|
||||
)
|
||||
|
||||
if Option.isSome outXmlFilenameOpt then
|
||||
printfn "fssrgen.fsx: Generating .resx for %s" outFilename
|
||||
fprintfn out ""
|
||||
// gen validation method
|
||||
fprintfn out " /// Call this method once to validate that all known resources are valid; throws if not"
|
||||
fprintfn out " static member RunStartupValidation() ="
|
||||
stringInfos |> Seq.iter (fun (lineNum, (optErrNum,ident), str, holes, netFormatString) ->
|
||||
fprintfn out " ignore(GetString(\"%s\"))" ident
|
||||
)
|
||||
fprintfn out " ()" // in case there are 0 strings, we need the generated code to parse
|
||||
// gen to resx
|
||||
let xd = new System.Xml.XmlDocument()
|
||||
xd.LoadXml(xmlBoilerPlateString)
|
||||
stringInfos |> Seq.iter (fun (lineNum, (optErrNum,ident), str, holes, netFormatString) ->
|
||||
let xn = xd.CreateElement("data")
|
||||
xn.SetAttribute("name",ident) |> ignore
|
||||
xn.SetAttribute("xml:space","preserve") |> ignore
|
||||
let xnc = xd.CreateElement "value"
|
||||
xn.AppendChild xnc |> ignore
|
||||
xnc.AppendChild(xd.CreateTextNode netFormatString) |> ignore
|
||||
xd.LastChild.AppendChild xn |> ignore
|
||||
)
|
||||
use outXmlStream = System.IO.File.Create outXmlFilenameOpt.Value
|
||||
xd.Save outXmlStream
|
||||
printfn "fssrgen.fsx: Done %s" outFilename
|
||||
0
|
||||
with e ->
|
||||
PrintErr(filename, 0, sprintf "An exception occurred when processing '%s'\n%s" filename (e.ToString()))
|
||||
1
|
||||
|
||||
#if COMPILED
|
||||
[<EntryPoint>]
|
||||
#endif
|
||||
let Main args =
|
||||
|
||||
match args |> List.ofArray with
|
||||
| [ inputFile; outFile; ] ->
|
||||
let filename = System.IO.Path.GetFullPath(inputFile)
|
||||
let outFilename = System.IO.Path.GetFullPath(outFile)
|
||||
|
||||
RunMain(filename, outFilename, None, None)
|
||||
|
||||
| [ inputFile; outFile; outXml ] ->
|
||||
let filename = System.IO.Path.GetFullPath inputFile
|
||||
let outFilename = System.IO.Path.GetFullPath outFile
|
||||
let outXmlFilename = System.IO.Path.GetFullPath outXml
|
||||
|
||||
RunMain(filename, outFilename, Some outXmlFilename, None)
|
||||
|
||||
| [ inputFile; outFile; outXml; projectName ] ->
|
||||
let filename = System.IO.Path.GetFullPath inputFile
|
||||
let outFilename = System.IO.Path.GetFullPath outFile
|
||||
let outXmlFilename = System.IO.Path.GetFullPath outXml
|
||||
|
||||
RunMain(filename, outFilename, Some outXmlFilename, Some projectName)
|
||||
|
||||
| _ ->
|
||||
printfn "Error: invalid arguments."
|
||||
printfn "Usage: <INPUTFILE> <OUTPUTFILE> <OUTXMLFILE> <PROJECTNAME>"
|
||||
1
|
||||
#if !COMPILED
|
||||
printfn "fssrgen: args = %A" fsi.CommandLineArgs
|
||||
Main (fsi.CommandLineArgs |> Seq.skip 1 |> Seq.toArray)
|
||||
#endif
|
|
@ -1,57 +0,0 @@
|
|||
<!--
|
||||
***********************************************************************************************
|
||||
FSharp.SRGen.targets
|
||||
|
||||
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
|
||||
created a backup copy. Incorrect changes to this file will make it
|
||||
impossible to load or build your projects from the command-line or the IDE.
|
||||
|
||||
See Licence.txt file in project root for License details.
|
||||
Copyright (C) Microsoft Corporation. All Rights Reserved.
|
||||
***********************************************************************************************
|
||||
-->
|
||||
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<PrepareForBuildDependsOn>ProcessFsSrGen;$(PrepareForBuildDependsOn)</PrepareForBuildDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Build FsSrGen files. -->
|
||||
<Target
|
||||
Name="CallFsSrGen"
|
||||
Inputs="@(FsSrGen)"
|
||||
Outputs="@(FsSrGen->'$(IntermediateOutputPath)%(Filename).fs');@(FsSrGen->'$(IntermediateOutputPath)%(Filename).resx')"
|
||||
Condition="'@(FsSrGen)'!=''">
|
||||
<!-- Create the output directory in case it doesn't exist yet -->
|
||||
<MakeDir Directories="$(IntermediateOutputPath)"/>
|
||||
<!-- Run the tool -->
|
||||
<Exec Command=""$([System.IO.Path]::GetFullPath('$(FsiToolPath)\$(FsiToolExe)'))" --exec "$(MSBuildThisFileDirectory)fssrgen.fsx" "%(FsSrGen.FullPath)" "$(IntermediateOutputPath)%(FsSrGen.Filename).fs" "$(IntermediateOutputPath)%(FsSrGen.Filename).resx" $(FsSrGenProjectName)" Condition="'$(OS)' != 'Unix'" />
|
||||
<Exec Command="mono $([System.IO.Path]::GetFullPath('$(FsiToolPath)\$(FsiToolExe)')) --exec "$(MSBuildThisFileDirectory)fssrgen.fsx" "%(FsSrGen.FullPath)" "$(IntermediateOutputPath)%(FsSrGen.Filename).fs" "$(IntermediateOutputPath)%(FsSrGen.Filename).resx" $(FsSrGenProjectName)" Condition="'$(OS)' == 'Unix'" />
|
||||
</Target>
|
||||
|
||||
<!-- Process FsSrGen rules. No 'Inputs' and 'Outputs' means this rule always runs if there is any @FsSrGen, even if up-to-date. -->
|
||||
<Target Name="ProcessFsSrGen" DependsOnTargets="CallFsSrGen" Condition="'@(FsSrGen)'!=''">
|
||||
<!-- Make the outputs magically part of the project -->
|
||||
<CreateItem Include="$(IntermediateOutputPath)%(FsSrGen.Filename).fs">
|
||||
<Output TaskParameter="Include" ItemName="CompileBefore"/>
|
||||
</CreateItem>
|
||||
<CreateItem Include="$(IntermediateOutputPath)%(FsSrGen.Filename).resx"
|
||||
AdditionalMetadata="ManifestResourceName=%(FsSrGen.Filename)">
|
||||
<!-- Note AdditionalMetadata above; we need the name in the manifest to be Foo.resources and not e.g. obj.Debug.Foo.resources -->
|
||||
<Output TaskParameter="Include" ItemName="EmbeddedResource"/>
|
||||
</CreateItem>
|
||||
<!-- Add them to the list of things under the IntermediateOutputPath that should be 'clean'ed -->
|
||||
<CreateItem Include="$(IntermediateOutputPath)%(FsSrGen.Filename).fs">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
<CreateItem Include="$(IntermediateOutputPath)%(FsSrGen.Filename).resx">
|
||||
<Output TaskParameter="Include" ItemName="FileWrites"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<AvailableItemName Include="FsSrGen">
|
||||
<Visible>false</Visible>
|
||||
</AvailableItemName>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -523,9 +523,11 @@ let main() =
|
|||
|
||||
logf (fun oso -> oso.Close())
|
||||
|
||||
let result =
|
||||
try main()
|
||||
[<EntryPoint>]
|
||||
let result(args: string[]) =
|
||||
try
|
||||
main()
|
||||
0
|
||||
with e ->
|
||||
eprintf "FSYACC: error FSY000: %s" (match e with Failure s -> s | e -> e.Message);
|
||||
exit 1
|
||||
|
||||
eprintf "FSYACC: error FSY000: %s" (match e with Failure s -> s | e -> e.Message);
|
||||
1
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<DefineConstants>INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstant)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="fsyacc.fsx" />
|
||||
<Compile Include="Lexing.fsi" />
|
||||
<Compile Include="Lexing.fs" />
|
||||
<Compile Include="Parsing.fsi" />
|
||||
<Compile Include="Parsing.fs" />
|
||||
<Compile Include="Arg.fsi" />
|
||||
<Compile Include="Arg.fs" />
|
||||
<Compile Include="fsyaccast.fs" />
|
||||
<Compile Include="fsyaccpars.fs" />
|
||||
<Compile Include="fsyacclex.fs" />
|
||||
<Compile Include="fsyacc.fs" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
#load "Lexing.fsi" "Lexing.fs" "Parsing.fsi" "Parsing.fs" "Arg.fsi" "Arg.fs" "fsyaccast.fs" "fsyaccpars.fs" "fsyacclex.fs" "fsyacc.fs"
|
||||
|
||||
let v = FsLexYacc.FsYacc.Driver.result
|
|
@ -1,15 +0,0 @@
|
|||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
|
||||
<!-- Define all ProjectFiles here -->
|
||||
<ItemGroup>
|
||||
<ProjectFiles Include="fsharp\FSharp.Core\FSharp.Core.fsproj"/>
|
||||
<ProjectFiles Include="fsharp\FSharp.Build-proto\FSharp.Build-proto.fsproj"/>
|
||||
<ProjectFiles Include="fsharp\Fsc-proto\Fsc-proto.fsproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Insert any customizations for targets here -->
|
||||
<Import Project="root.traversal.targets"/>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
|
||||
<PropertyGroup>
|
||||
<DisableImplicitSystemValueTupleReference>true</DisableImplicitSystemValueTupleReference>
|
||||
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
||||
<UseStandardResourceNames>false</UseStandardResourceNames>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,4 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
|
||||
<Import Project="..\buildtools\buildtools.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,26 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageLicenceUrl Condition="'$(PackageLicenceUrl)' == ''">https://github.com/Microsoft/visualfsharp/blob/master/License.txt</PackageLicenceUrl>
|
||||
<PackageProjectUrl Condition="'$(PackageProjectUrl)' == ''">https://github.com/Microsoft/visualfsharp</PackageProjectUrl>
|
||||
<PackageAuthors Condition="'$(PackageAuthors)' == ''" >Microsoft and F# Software Foundation</PackageAuthors>
|
||||
<PackageOwners Condition="'$(PackageOwners)' == ''" >Microsoft and F# Software Foundation</PackageOwners>
|
||||
<PackageTags Condition="'$(PackageTags)' == ''" >Visual F# Compiler FSharp functional programming</PackageTags>
|
||||
<PackageCopyright Condition="'$(PackageCopyright)' == ''" >(C) Microsoft Corporation. All rights reserved.</PackageCopyright>
|
||||
<!-- can't have < and > which happens when building locally -->
|
||||
<NormalizedGitHeadSha>$(GitHeadSha)</NormalizedGitHeadSha>
|
||||
<NormalizedGitHeadSha Condition="'$(NormalizedGitHeadSha)' == '<developer build>'">[developer build]</NormalizedGitHeadSha>
|
||||
|
||||
<NuspecProperties>
|
||||
licenseUrl=$(PackageLicenceUrl);
|
||||
authors=$(PackageAuthors);
|
||||
owners=$(PackageOwners);
|
||||
projectUrl=$(PackageProjectUrl);
|
||||
copyright=$(PackageCopyright);
|
||||
tags=$(PackageTags);
|
||||
githeadsha=$(NormalizedGitHeadSha);
|
||||
configuration=$(Configuration);
|
||||
</NuspecProperties>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,21 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<NuspecProperties>
|
||||
$(NuspecProperties);
|
||||
packageId=$(PackageId);
|
||||
version=$(PackageVersion);
|
||||
</NuspecProperties>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CopyPackageToArtifactsDirectory"
|
||||
AfterTargets="Pack">
|
||||
<ItemGroup>
|
||||
<NugetPackages Include="$(OutputPath)**\$(PackageId).*.nupkg" />
|
||||
</ItemGroup>
|
||||
<MakeDir Directories="$(RepoRoot)\artifacts;$(RepoRoot)\$(Configuration)\artifacts" />
|
||||
<Copy SourceFiles="@(NugetPackages)" DestinationFolder="$(RepoRoot)\artifacts" />
|
||||
<Copy SourceFiles="@(NugetPackages)" DestinationFolder="$(RepoRoot)\$(Configuration)\artifacts" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,111 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Proto</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.Settings.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyName>FSharp.Build</AssemblyName>
|
||||
<AllowCrossTargeting>true</AllowCrossTargeting>
|
||||
<BuildWith>LKG</BuildWith>
|
||||
<ProjectGuid>{D8BC791F-C1A9-49DC-9432-0F3090537555}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FsSrGen Include="..\FSharp.Build\FSBuild.txt">
|
||||
<Link>FSBuild.txt</Link>
|
||||
</FsSrGen>
|
||||
<Compile Include="..\..\utils\CompilerLocationUtils.fs">
|
||||
<Link>CompilerLocationUtils.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\FSharp.Build\CreateFSharpManifestResourceName.fs" >
|
||||
<Link>CreateFSharpManifestResourceName.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\FSharp.Build\FSharpCommandLineBuilder.fs">
|
||||
<Link>FSharpCommandLineBuilder.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\FSharp.Build\Fsc.fs">
|
||||
<Link>Fsc.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\FSharp.Build\FSharpEmbedResourceText.fs">
|
||||
<Link>FSharpEmbedResourceText.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\FSharp.Build\FSharpEmbedResXSource.fs">
|
||||
<Link>FSharpEmbedResXSource.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\FSharp.Build\WriteCodeFragment.fs">
|
||||
<Link>WriteCodeFragment.fs</Link>
|
||||
</Compile>
|
||||
<None Include="..\FSharp.Build\Microsoft.FSharp.Targets" CopyToOutputDirectory="PreserveNewest">
|
||||
<Link>Microsoft.FSharp.Targets</Link>
|
||||
</None>
|
||||
<None Include="..\FSharp.Build\Microsoft.Portable.FSharp.Targets" CopyToOutputDirectory="PreserveNewest">
|
||||
<Link>Microsoft.Portable.FSharp.Targets</Link>
|
||||
</None>
|
||||
<None Include="..\FSharp.Build\Microsoft.FSharp.NetSdk.props" CopyToOutputDirectory="PreserveNewest">
|
||||
<Link>Microsoft.FSharp.NetSdk.props</Link>
|
||||
</None>
|
||||
<None Include="..\FSharp.Build\Microsoft.FSharp.NetSdk.targets" CopyToOutputDirectory="PreserveNewest">
|
||||
<Link>Microsoft.FSharp.NetSdk.targets</Link>
|
||||
</None>
|
||||
<None Include="..\FSharp.Build\Microsoft.FSharp.Overrides.NetSdk.targets" CopyToOutputDirectory="PreserveNewest">
|
||||
<Link>Microsoft.FSharp.Overrides.NetSdk.targets</Link>
|
||||
</None>
|
||||
<None Include="$(FSharpSourcesRoot)\..\packages\Microsoft.VisualFSharp.Type.Providers.Redist.$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)\content\4.3.0.0\FSharp.Data.TypeProviders.dll" CopyToOutputDirectory="PreserveNewest">
|
||||
<Link>Microsoft.VisualFSharp.Type.Providers.Redist</Link>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetDotnetProfile)' != 'coreclr' AND '$(MonoPackaging)' != 'true' ">
|
||||
<Reference Include="Microsoft.Build.Framework">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Framework.$(MicrosoftBuildFrameworkPackageVersion)\lib\net46\Microsoft.Build.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.$(MicrosoftBuildPackageVersion)\lib\net46\Microsoft.Build.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Utilities.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Utilities.Core.$(MicrosoftBuildUtilitiesCorePackageVersion)\lib\net46\Microsoft.Build.Utilities.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.$(MicrosoftBuildTasksCorePackageVersion)\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.$(MicrosoftBuildTasksCorePackageVersion)\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\System.IO.Compression.$(SystemIoCompressionPackageVersion)\lib\net46\System.IO.Compression.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetDotnetProfile)' != 'coreclr' AND '$(MonoPackaging)' == 'true' ">
|
||||
<Reference Include="Microsoft.Build.Framework, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.14.3.0\lib\net45\Microsoft.Build.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Utilities.Core, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.14.3.0\lib\net45\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj">
|
||||
<Project>{DED3BBD7-53F4-428A-8C9F-27968E768605}</Project>
|
||||
<Name>FSharp.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
|
||||
</Project>
|
|
@ -1,30 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
|
||||
<ProjectLanguage>FSharp</ProjectLanguage>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFrameworks>net46;netstandard2.0</TargetFrameworks>
|
||||
<AssemblyName>FSharp.Build</AssemblyName>
|
||||
<NoWarn>$(NoWarn);45;55;62;75;1204</NoWarn>
|
||||
<AllowCrossTargeting>true</AllowCrossTargeting>
|
||||
<OtherFlags>$(OtherFlags) --maxerrors:20 --extraoptimizationloops:1</OtherFlags>
|
||||
<UseFSharpProductVersion>true</UseFSharpProductVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.Settings.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyName>FSharp.Build</AssemblyName>
|
||||
<AllowCrossTargeting>true</AllowCrossTargeting>
|
||||
<ProjectGuid>{702A7979-BCF9-4C41-853E-3ADFC9897890}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FilesToLocalize Include="$(OutDir)$(AssemblyName).dll">
|
||||
<TranslationFile>$(FSharpSourcesRoot)\..\loc\lcl\{Lang}\$(AssemblyName).dll.lcl</TranslationFile>
|
||||
<LciCommentFile>$(FSharpSourcesRoot)\..\loc\lci\$(AssemblyName).dll.lci</LciCommentFile>
|
||||
<HasLceComments>false</HasLceComments>
|
||||
<InProject>false</InProject>
|
||||
</FilesToLocalize>
|
||||
<InternalsVisibleTo Include="VisualFSharp.UnitTests" />
|
||||
<EmbeddedText Include="FSBuild.txt" />
|
||||
<Compile Include="..\..\utils\CompilerLocationUtils.fs" />
|
||||
|
@ -42,54 +30,20 @@
|
|||
<None Include="Microsoft.FSharp.Overrides.NetSdk.targets" CopyToOutputDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetDotnetProfile)' != 'coreclr'">
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetDotnetProfile)' != 'coreclr' AND '$(MonoPackaging)' != 'true' ">
|
||||
<Reference Include="Microsoft.Build.Framework">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Framework.$(MicrosoftBuildFrameworkPackageVersion)\lib\net46\Microsoft.Build.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.$(MicrosoftBuildPackageVersion)\lib\net46\Microsoft.Build.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Utilities.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Utilities.Core.$(MicrosoftBuildUtilitiesCorePackageVersion)\lib\net46\Microsoft.Build.Utilities.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.$(MicrosoftBuildTasksCorePackageVersion)\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.$(MicrosoftBuildTasksCorePackageVersion)\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\System.IO.Compression.$(SystemIoCompressionPackageVersion)\lib\net46\System.IO.Compression.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FSharp.Data.TypeProviders">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.VisualFSharp.Type.Providers.Redist.$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)\content\4.3.0.0\FSharp.Data.TypeProviders.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetDotnetProfile)' != 'coreclr' AND '$(MonoPackaging)' == 'true' ">
|
||||
<Reference Include="Microsoft.Build.Framework, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Framework.14.3.0\lib\net45\Microsoft.Build.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.14.3.0\lib\net45\Microsoft.Build.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Utilities.Core, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Utilities.Core.14.3.0\lib\net45\Microsoft.Build.Utilities.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core, Version=$(MonoPackagingMSBuildVersionFull), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.14.3.0\lib\net45\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj">
|
||||
<Project>{DED3BBD7-53F4-428A-8C9F-27968E768605}</Project>
|
||||
<Name>FSharp.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.Core\FSharp.Core.fsproj" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net46'">
|
||||
<PackageReference Include="Microsoft.VisualFSharp.Type.Providers.Redist" Version="$(MicrosoftVisualFSharpTypeProvidersRedistPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildFrameworkPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCorePackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildUtilitiesCorePackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -55,7 +55,7 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and
|
|||
<Tailcalls Condition="'$(Tailcalls)' == '' ">true</Tailcalls>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DOTNET_HOST_PATH)' != ''">
|
||||
<PropertyGroup Condition="'$(DisableAutoSetFscCompilerPath)' != 'true' and '$(DOTNET_HOST_PATH)' != ''">
|
||||
<FscToolPath Condition="'$(FscToolPath)' == ''">$([System.IO.Path]::GetDirectoryName($(DOTNET_HOST_PATH)))</FscToolPath>
|
||||
<FscToolExe Condition="'$(FscToolExe)' == ''">$([System.IO.Path]::GetFileName($(DOTNET_HOST_PATH)))</FscToolExe>
|
||||
<DotnetFscCompilerPath Condition="'$(DotnetFscCompilerPath)' == ''">"$(MSBuildThisFileDirectory)fsc.exe"</DotnetFscCompilerPath>
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"Microsoft.Build": "15.6.85",
|
||||
"Microsoft.Build.Framework": "15.6.85",
|
||||
"Microsoft.Build.Tasks.Core": "15.6.85",
|
||||
"Microsoft.Build.Utilities.Core": "15.6.85",
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.Win32.Registry": {
|
||||
"version": "4.3.0",
|
||||
"exclude": "Compile"
|
||||
},
|
||||
"System.AppContext": "4.3.0",
|
||||
"System.Diagnostics.Tools": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0"
|
||||
},
|
||||
"runtimes": {
|
||||
"win7-x86": { },
|
||||
"win7-x64": { },
|
||||
"osx.10.11-x64": { },
|
||||
"ubuntu.14.04-x64": { }
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.6": {
|
||||
"imports": "portable-net45+win8"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,19 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
|
||||
<ProjectLanguage>FSharp</ProjectLanguage>
|
||||
<UseFSharpProductVersion>true</UseFSharpProductVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.Settings.targets" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{649FA588-F02E-457C-9FCF-87E46407481E}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFrameworks>net46;netstandard1.6</TargetFrameworks>
|
||||
<AssemblyName>FSharp.Compiler.Interactive.Settings</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<NoWarn>$(NoWarn);45;55;62;75;1182;1204</NoWarn>
|
||||
<AllowCrossTargeting>true</AllowCrossTargeting>
|
||||
<OtherFlags>$(OtherFlags) --maxerrors:20 --extraoptimizationloops:1</OtherFlags>
|
||||
<UseFSharpProductVersion>true</UseFSharpProductVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -30,19 +26,12 @@
|
|||
<Compile Include="..\fsiaux.fs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
|
||||
|
||||
<ItemGroup Condition="'$(TargetDotnetProfile)' == 'coreclr'">
|
||||
<None Include="project.json" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetDotnetProfile)' != 'coreclr'">
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj" >
|
||||
<Project>{DED3BBD7-53F4-428A-8C9F-27968E768605}</Project>
|
||||
<Name>FSharp.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\FSharp.Core\FSharp.Core.fsproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Reflection.TypeExtensions" Version="$(SystemReflectionTypeExtensionsPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.6.1",
|
||||
"System.Linq.Expressions": "4.3.0",
|
||||
"System.Reflection.TypeExtensions": "4.3.0",
|
||||
"System.Runtime.Loader": "4.3.0",
|
||||
"System.Threading.Thread": "4.3.0"
|
||||
},
|
||||
"runtimes": {
|
||||
"win7-x86": { },
|
||||
"win7-x64": { },
|
||||
"osx.10.11-x64": { },
|
||||
"ubuntu.14.04-x64": { }
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.6": { }
|
||||
}
|
||||
}
|
|
@ -1,26 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
|
||||
<ProjectLanguage>FSharp</ProjectLanguage>
|
||||
<UseFSharpProductVersion>true</UseFSharpProductVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.Settings.targets" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFrameworks>net46;netstandard1.6</TargetFrameworks>
|
||||
<AssemblyName>FSharp.Compiler.Private</AssemblyName>
|
||||
<DefineConstants>COMPILER;$(DefineConstants)</DefineConstants>
|
||||
<NoWarn>$(NoWarn);62;9</NoWarn>
|
||||
<ProjectGuid>{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}</ProjectGuid>
|
||||
<NoWarn>$(NoWarn);45;55;62;75;1204</NoWarn>
|
||||
<AllowCrossTargeting>true</AllowCrossTargeting>
|
||||
<BaseAddress>0x06800000</BaseAddress>
|
||||
<OtherFlags>$(OtherFlags) /warnon:1182</OtherFlags>
|
||||
<DefineConstants>$(DefineConstants);COMPILER</DefineConstants>
|
||||
<OtherFlags>$(OtherFlags) --warnon:1182 --maxerrors:20 --extraoptimizationloops:1</OtherFlags>
|
||||
<UseFSharpProductVersion>true</UseFSharpProductVersion>
|
||||
<UseAssetTargetFallback>true</UseAssetTargetFallback>
|
||||
</PropertyGroup>
|
||||
<!-- References -->
|
||||
<Import Project="$(FSharpSourcesRoot)\.nuget\NuGet.targets" Condition="Exists('$(FSharpSourcesRoot)\.nuget\NuGet.targets')" />
|
||||
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'net46' AND '$(OS)' == 'Windows_NT'">
|
||||
<!-- portable PDBs can't be properly generated for this assembly -->
|
||||
<DebugType>full</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CopyToBuiltBin" BeforeTargets="BuiltProjectOutputGroup" AfterTargets="CoreCompile">
|
||||
<ItemGroup>
|
||||
<BuiltProjectOutputGroupKeyOutput Include="$(FSharpSourcesRoot)\..\$(Configuration)\net40\bin\Microsoft.Build.Framework.dll" />
|
||||
|
@ -32,9 +30,7 @@
|
|||
<BuiltProjectOutputGroupKeyOutput Include="$(FSharpSourcesRoot)\..\$(Configuration)\net40\bin\System.ValueTuple.dll" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
<Import Project="$(FSharpSourcesRoot)\.nuget\NuGet.targets" Condition="Exists('$(FSharpSourcesRoot)\.nuget\NuGet.targets')" />
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
|
||||
<Import Project="$(FsLexToolPath)\FsLexYacc.targets" />
|
||||
|
||||
<ItemGroup>
|
||||
<InternalsVisibleTo Include="fsc" />
|
||||
<InternalsVisibleTo Include="FSharp.Build" />
|
||||
|
@ -55,6 +51,7 @@
|
|||
<InternalsVisibleTo Include="FSharp.Tests.FSharpSuite" />
|
||||
<InternalsVisibleTo Include="LanguageServiceProfiling" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedText Include="..\FSComp.txt">
|
||||
<Link>FSComp.txt</Link>
|
||||
|
@ -223,7 +220,7 @@
|
|||
<Compile Include="..\..\absil\ilmorph.fs">
|
||||
<Link>AbsIL\ilmorph.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\absil\ilsign.fs" Condition=" '$(TargetDotnetProfile)'=='coreclr'">
|
||||
<Compile Include="..\..\absil\ilsign.fs" Condition="'$(TargetFramework)' == 'netstandard1.6'">
|
||||
<Link>AbsIL\ilsign.fs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\absil\ilsupp.fsi">
|
||||
|
@ -660,49 +657,41 @@
|
|||
<Link>Misc/LegacyHostedCompilerForTesting.fs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageNuspec Include="FSharp.Compiler.Private.netcore.nuspec" Condition="'$(TargetDotnetProfile)' == 'coreclr'" />
|
||||
<ProjectReference Include="$(MSBuildThisFileDirectory)..\FSharp.Core\FSharp.Core.fsproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetDotnetProfile)' == 'coreclr'">
|
||||
<None Include="project.json" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetDotnetProfile)' != 'coreclr'">
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Numerics" />
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net46'">
|
||||
<Reference Include="ISymWrapper, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<Reference Include="System.Reflection.Metadata">
|
||||
<HintPath>..\..\..\packages\System.Reflection.Metadata.$(SystemReflectionMetadataPackageVersion)\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Collections.Immutable">
|
||||
<HintPath>..\..\..\packages\System.Collections.Immutable.$(SystemCollectionsImmutablePackageVersion)\lib\netstandard1.0\System.Collections.Immutable.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ValueTuple">
|
||||
<HintPath>..\..\..\packages\System.ValueTuple.$(SystemValueTuplePackageVersion)\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression">
|
||||
<HintPath>..\..\..\packages\System.IO.Compression.$(SystemIoCompressionPackageVersion)\lib\net46\System.IO.Compression.dll</HintPath>
|
||||
</Reference>
|
||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildPackageVersion)" />
|
||||
<PackageReference Include="System.IO.Compression" Version="$(SystemIoCompressionPackageVersion)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetDotnetProfile)' != 'coreclr' AND '$(MonoPackaging)' != 'true' ">
|
||||
<Reference Include="Microsoft.Build.Framework">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Framework.$(MicrosoftBuildFrameworkPackageVersion)\lib\net46\Microsoft.Build.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.$(MicrosoftBuildPackageVersion)\lib\net46\Microsoft.Build.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Utilities.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Utilities.Core.$(MicrosoftBuildUtilitiesCorePackageVersion)\lib\net46\Microsoft.Build.Utilities.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Build.Tasks.Core">
|
||||
<HintPath>$(FSharpSourcesRoot)\..\packages\Microsoft.Build.Tasks.Core.$(MicrosoftBuildTasksCorePackageVersion)\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
|
||||
</Reference>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.6'">
|
||||
<PackageReference Include="System.Runtime.Loader" Version="$(SystemRuntimeLoaderPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj">
|
||||
<Project>{DED3BBD7-53F4-428A-8C9F-27968E768605}</Project>
|
||||
<Name>FSharp.Core</Name>
|
||||
</ProjectReference>
|
||||
<PackageReference Include="System.Collections.Immutable" Version="$(SystemCollectionsImmutablePackageVersion)" />
|
||||
<PackageReference Include="System.Diagnostics.Process" Version="$(SystemDiagnosticsProcessPackageVersion)" />
|
||||
<PackageReference Include="System.Diagnostics.TraceSource" Version="$(SystemDiagnosticsTraceSourcePackageVersion)" />
|
||||
<PackageReference Include="System.Linq.Expressions" Version="$(SystemLinqExpressionsPackageVersion)" />
|
||||
<PackageReference Include="System.Linq.Queryable" Version="$(SystemLinqExpressionsPackageVersion)" />
|
||||
<PackageReference Include="System.Net.Requests" Version="$(SystemNetRequestsPackageVersion)" />
|
||||
<PackageReference Include="System.Reflection.Emit" Version="$(SystemReflectionEmitPackageVersion)" />
|
||||
<PackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataPackageVersion)" />
|
||||
<PackageReference Include="System.Reflection.TypeExtensions" Version="$(SystemReflectionTypeExtensionsPackageVersion)" />
|
||||
<PackageReference Include="System.Runtime" Version="$(SystemRuntimePackageVersion)" />
|
||||
<PackageReference Include="System.Runtime.InteropServices" Version="$(SystemRuntimeInteropServicesPackageVersion)" />
|
||||
<PackageReference Include="System.Security.Cryptography.Algorithms" Version="$(SystemSecurityCryptographyAlgorithmsPackageVersion)" />
|
||||
<PackageReference Include="System.Threading.Tasks.Parallel" Version="$(SystemThreadingTasksParallelPackageVersion)" />
|
||||
<PackageReference Include="System.Threading.Thread" Version="$(SystemThreadingThreadPackageVersion)" />
|
||||
<PackageReference Include="System.Threading.ThreadPool" Version="$(SystemThreadingThreadPoolPackageVersion)" />
|
||||
<PackageReference Include="System.ValueTuple" Version="$(SystemValueTuplePackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "1.6.1",
|
||||
"System.Collections.Immutable": "1.5.0",
|
||||
"System.Diagnostics.Process": "4.3.0",
|
||||
"System.Diagnostics.TraceSource": "4.3.0",
|
||||
"System.Linq.Expressions": "4.3.0",
|
||||
"System.Linq.Queryable": "4.3.0",
|
||||
"System.Net.Requests": "4.3.0",
|
||||
"System.Reflection.Emit": "4.3.0",
|
||||
"System.Reflection.Metadata": "1.6.0",
|
||||
"System.Reflection.TypeExtensions": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Loader": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Threading.Tasks.Parallel": "4.3.0",
|
||||
"System.Threading.Thread": "4.3.0",
|
||||
"System.Threading.ThreadPool": "4.3.0",
|
||||
"System.ValueTuple": "4.3.0"
|
||||
},
|
||||
"runtimes": {
|
||||
"win7-x86": { },
|
||||
"win7-x64": { },
|
||||
"osx.10.11-x64": { },
|
||||
"ubuntu.14.04-x64": { }
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard1.6": {
|
||||
"imports": "portable-net45+win8"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,42 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
|
||||
<ProjectLanguage>FSharp</ProjectLanguage>
|
||||
<TargetFramework>net46</TargetFramework>
|
||||
<AssemblyName>FSharp.Compiler.Server.Shared</AssemblyName>
|
||||
<UseFSharpProductVersion>true</UseFSharpProductVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.Settings.targets" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{d5870cf0-ed51-4cbc-b3d7-6f56da84ac06}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyName>FSharp.Compiler.Server.Shared</AssemblyName>
|
||||
<TargetFrameworkVersion Condition="'$(TargetDotnetProfile)' != 'coreclr'">v4.6</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<InternalsVisibleTo Include="fsi" />
|
||||
<InternalsVisibleTo Include="fsiAnyCpu" />
|
||||
<InternalsVisibleTo Include="FSharp.VS.FSI" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.fs" />
|
||||
<Compile Include="FSharpInteractiveServer.fs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetDotnetProfile)' == 'coreclr'">
|
||||
<None Include="project.json" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FSharp.Core\FSharp.Core.fsproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetDotnetProfile)' != 'coreclr'">
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="System" />
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Runtime.Remoting" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj">
|
||||
<Project>{DED3BBD7-53F4-428A-8C9F-27968E768605}</Project>
|
||||
<Name>FSharp.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
|
||||
|
||||
</Project>
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче