Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,9 @@ $RECYCLE.BIN/
# Exclude F# project specific directories and files
# ===================================================

.idea/
.vs/

# NuGet Packages Directory
packages/

Expand All @@ -179,3 +182,6 @@ paket-files
build_PRIVATE.cmd
.fake/build.fsx_*
docs/tools/.fake/generate.fsx_*
/.idea
/.paket/paket.exe
/.paket/Paket.Restore.targets
Binary file added .paket/paket.bootstrapper.exe
Binary file not shown.
Binary file modified .paket/paket.exe
100644 → 100755
Binary file not shown.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
language: csharp
dist: trusty
sudo: true

sudo: false # use the new container-based Travis infrastructure
dotnet: 2.1.101

script:
- ./build.sh
36 changes: 28 additions & 8 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ let tags = "appsettings, YAML, F#, ResX, Ini, config"
let solutionFile = "FSharp.Configuration"

// Pattern specifying assemblies to be tested using NUnit
let testAssemblies = "tests/**/bin/Release/*Tests*.exe"
let testAssemblies = "tests/**/bin/Release/net461/*Tests*.exe"

// Git configuration (used for publishing documentation in gh-pages branch)
// The profile where the project is posted
Expand Down Expand Up @@ -108,14 +108,32 @@ Target "CleanDocs" (fun _ ->
// --------------------------------------------------------------------------------------
// Build library & test project

let mutable dotnetExePath = "dotnet"
let dotnetcliVersion = "2.1.101"

Target "InstallDotNetCore" (fun _ ->
dotnetExePath <- DotNetCli.InstallDotNetSDK dotnetcliVersion
Environment.SetEnvironmentVariable("DOTNET_EXE_PATH", dotnetExePath)
)

Target "Build" (fun _ ->
!! (solutionFile + ".sln")
|> MSBuildRelease "" "Rebuild"
|> ignore
DotNetCli.Build (fun c ->
{ c with
Project = "FSharp.Configuration.sln"
Configuration = "Release"
ToolPath = dotnetExePath })

CopyDir "bin/lib/net45"
"src/FSharp.Configuration/bin/Release/net45/"
(fun _ -> true)
)

!! (solutionFile + ".Tests.sln")
|> MSBuildRelease "" "Rebuild"
|> ignore
Target "BuildTests" (fun _ ->
DotNetCli.Build (fun c ->
{ c with
Project = "FSharp.Configuration.Tests.sln"
Configuration = "Release"
ToolPath = dotnetExePath })
)

// --------------------------------------------------------------------------------------
Expand All @@ -139,7 +157,7 @@ Target "NuGet" (fun _ ->
CleanDir nugetDocsDir
CleanDir nugetlibDir

CopyDir nugetlibDir "bin" (fun file -> file.Contains "FSharp.Core." |> not)
CopyDir nugetlibDir "bin/lib/net45" (fun file -> file.Contains "FSharp.Core." |> not)
CopyDir nugetDocsDir "./docs/output" allFiles

NuGet (fun p ->
Expand Down Expand Up @@ -263,7 +281,9 @@ Target "All" DoNothing

"Clean"
==> "AssemblyInfo"
==> "InstallDotNetCore"
==> "Build"
==> "BuildTests"
==> "RunTests"
=?> ("GenerateReferenceDocs",isLocalBuild && not isMono)
=?> ("GenerateDocs",isLocalBuild && not isMono)
Expand Down
21 changes: 21 additions & 0 deletions fsc.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!-- Type providers currently can't run inside the .NET Core 2.0 hosted compiler, see https://github.com/Microsoft/visualfsharp/pull/3658#issuecomment-334773415 -->
<PropertyGroup>
<IsWindows Condition="'$(OS)' == 'Windows_NT'">true</IsWindows>
<IsOSX Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsOSX>
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
</PropertyGroup>
<PropertyGroup Condition="'$(IsWindows)' == 'true' AND Exists('C:\Program Files (x86)\Microsoft SDKs\F#\10.1\Framework\v4.0\fsc.exe')">
<FscToolPath>C:\Program Files (x86)\Microsoft SDKs\F#\10.1\Framework\v4.0</FscToolPath>
<FscToolExe>fsc.exe</FscToolExe>
</PropertyGroup>
<PropertyGroup Condition="'$(IsOSX)' == 'true' AND Exists('/Library/Frameworks/Mono.framework/Versions/Current/Commands/fsharpc')">
<FscToolPath>/Library/Frameworks/Mono.framework/Versions/Current/Commands</FscToolPath>
<FscToolExe>fsharpc</FscToolExe>
</PropertyGroup>
<PropertyGroup Condition="'$(IsLinux)' == 'true' AND Exists('/usr/bin/fsharpc')">
<FscToolPath>/usr/bin</FscToolPath>
<FscToolExe>fsharpc</FscToolExe>
</PropertyGroup>
</Project>
34 changes: 34 additions & 0 deletions netfx.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?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>
<!-- When compiling .NET SDK 2.0 projects targeting .NET 4.x on Mono using 'dotnet build' you -->
<!-- have to teach MSBuild where the Mono copy of the reference asssemblies is -->
<TargetIsMono Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">true</TargetIsMono>

<!-- Look in the standard install locations -->
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono')">/Library/Frameworks/Mono.framework/Versions/Current/lib/mono</BaseFrameworkPathOverrideForMono>
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/usr/lib/mono')">/usr/lib/mono</BaseFrameworkPathOverrideForMono>
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/usr/local/lib/mono')">/usr/local/lib/mono</BaseFrameworkPathOverrideForMono>

<!-- If we found Mono reference assemblies, then use them -->
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net45'">$(BaseFrameworkPathOverrideForMono)/4.5-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net451'">$(BaseFrameworkPathOverrideForMono)/4.5.1-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net452'">$(BaseFrameworkPathOverrideForMono)/4.5.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net46'">$(BaseFrameworkPathOverrideForMono)/4.6-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net461'">$(BaseFrameworkPathOverrideForMono)/4.6.1-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'">$(BaseFrameworkPathOverrideForMono)/4.6.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'">$(BaseFrameworkPathOverrideForMono)/4.7-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'">$(BaseFrameworkPathOverrideForMono)/4.7.1-api</FrameworkPathOverride>
<EnableFrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">true</EnableFrameworkPathOverride>

<!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 -->
<AssemblySearchPaths Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">$(FrameworkPathOverride)/Facades;$(AssemblySearchPaths)</AssemblySearchPaths>

</PropertyGroup>
<ItemGroup>
<!-- When using 'dotnet build' to compile against Mono reference assemblies it seems necessary to add some explicit references to some facade DLLs -->
<Reference Include="System.Runtime" Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND $(TargetFramework.StartsWith('net4'))" />
<Reference Include="System.IO" Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND $(TargetFramework.StartsWith('net4'))" />
</ItemGroup>
</Project>
27 changes: 14 additions & 13 deletions paket.dependencies
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
source http://nuget.org/api/v2
framework: >= net45

nuget SharpYaml
nuget FSharp.Core ~> 4.0.0

github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypes.fs
github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypes.fsi
github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypesTesting.fs

group Build
framework: net45
frameworks: netstandard2.0
source https://nuget.org/api/v2

nuget FAKE
nuget FAKE ~> 4
nuget FSharp.Formatting
nuget Octokit
nuget NuGet.CommandLine
nuget SourceLink.Fake
nuget FSharp.Core
nuget SharpYaml
nuget NetStandard.Library.NetFramework
nuget System.Runtime.Caching

github fsharp/FAKE modules/Octokit/Octokit.fsx
github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypes.fsi
github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypes.fs
github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypesTesting.fs

group Test
framework: net461
frameworks: net461
source https://nuget.org/api/v2

nuget FSharp.Core redirects: force
nuget Expecto
nuget Expecto
nuget SharpYaml

github fsprojects/FSharp.TypeProviders.SDK fsc.props
53 changes: 40 additions & 13 deletions paket.lock
Original file line number Diff line number Diff line change
@@ -1,31 +1,38 @@
RESTRICTION: >= net45
NUGET
remote: http://www.nuget.org/api/v2
FSharp.Core (4.0.0.1)
SharpYaml (1.6.2)
GITHUB
remote: fsprojects/FSharp.TypeProviders.SDK
src/ProvidedTypes.fs (f0c4a6300db313eb2616c4f792cd6ae68c255e56)
src/ProvidedTypes.fsi (f0c4a6300db313eb2616c4f792cd6ae68c255e56)
src/ProvidedTypesTesting.fs (f0c4a6300db313eb2616c4f792cd6ae68c255e56)


GROUP Build
RESTRICTION: == net45
RESTRICTION: == netstandard2.0
NUGET
remote: https://www.nuget.org/api/v2
FAKE (4.64.12)
FSharp.Compiler.Service (2.0.0.6)
FSharp.Core (4.3.4)
FSharp.Formatting (2.14.4)
FSharp.Compiler.Service (2.0.0.6)
FSharpVSPowerTools.Core (>= 2.3 < 2.4)
FSharpVSPowerTools.Core (2.3)
FSharp.Compiler.Service (>= 2.0.0.3)
Microsoft.NETCore.Platforms (2.0.2)
NETStandard.Library (2.0.2)
Microsoft.NETCore.Platforms (>= 1.1)
NETStandard.Library.NETFramework (2.0.0-preview2-25405-01)
NuGet.CommandLine (4.6.2)
Octokit (0.29)
NETStandard.Library (>= 1.6)
SharpYaml (1.6.3)
NETStandard.Library (>= 1.6.1)
System.Reflection.TypeExtensions (>= 4.3)
SourceLink.Fake (1.1)
System.Reflection.TypeExtensions (4.4)
System.Runtime.Caching (4.5.0-preview2-26406-04)
GITHUB
remote: fsharp/FAKE
modules/Octokit/Octokit.fsx (800579e69ce35b77345ee21923ddf117168067cd)
modules/Octokit/Octokit.fsx (b3961e973484a8dc61ee94af13fc6898d0bee705)
Octokit (>= 0.20)
remote: fsprojects/FSharp.TypeProviders.SDK
src/ProvidedTypes.fs (f0c4a6300db313eb2616c4f792cd6ae68c255e56)
src/ProvidedTypes.fsi (f0c4a6300db313eb2616c4f792cd6ae68c255e56)
src/ProvidedTypesTesting.fs (f0c4a6300db313eb2616c4f792cd6ae68c255e56)
GROUP Test
RESTRICTION: == net461
NUGET
Expand All @@ -35,5 +42,25 @@ NUGET
Expecto (7.0.1)
Argu (>= 5.1)
Mono.Cecil (>= 0.10)
FSharp.Core (4.3.4) - redirects: force
FAKE (4.64.12)
FSharp.Core (4.2.3)
Microsoft.NETCore.App (2.0.7)
Microsoft.NETCore.Platforms (2.0.2)
Mono.Cecil (0.10)
NETStandard.Library (2.0.2)
Microsoft.NETCore.Platforms (>= 1.1)
NETStandard.Library.NETFramework (2.0.0-preview2-25405-01)
Microsoft.NETCore.Platforms (>= 2.0.0-preview2-25405-01)
NETStandard.Library (>= 2.0.0-preview2-25401-01)
NuGet.CommandLine (4.6.2)
SharpYaml (1.6.3)
xunit.runner.console (2.3.1)
GITHUB
remote: fsprojects/FSharp.TypeProviders.SDK
fsc.props (f0c4a6300db313eb2616c4f792cd6ae68c255e56)
FAKE
FSharp.Core (>= 4.2.3 < 4.3)
Microsoft.NETCore.App
NetStandard.Library.NetFramework
Nuget.CommandLine
xunit.runner.console
Loading