diff --git a/.gitignore b/.gitignore index 133aa1231be..1a7e530e494 100644 --- a/.gitignore +++ b/.gitignore @@ -118,3 +118,6 @@ source_link.json /VSRelease/net40/bin System.ValueTuple.dll tests/fsharpqa/testenv/bin/System.ValueTuple.dll +*/.fake +/fcs/packages/ +*/paket-files/ diff --git a/fcs/.paket/Paket.Restore.targets b/fcs/.paket/Paket.Restore.targets new file mode 100644 index 00000000000..67f745a3671 --- /dev/null +++ b/fcs/.paket/Paket.Restore.targets @@ -0,0 +1,225 @@ + + + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + true + $(MSBuildThisFileDirectory) + $(MSBuildThisFileDirectory)..\ + $(PaketRootPath)paket-files\paket.restore.cached + $(PaketRootPath)paket.lock + /Library/Frameworks/Mono.framework/Commands/mono + mono + + $(PaketRootPath)paket.exe + $(PaketToolsPath)paket.exe + "$(PaketExePath)" + $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" + $(PaketRootPath)paket.bootstrapper.exe + $(PaketToolsPath)paket.bootstrapper.exe + "$(PaketBootStrapperExePath)" + $(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)" + + + + + true + true + + + + + + + true + $(NoWarn);NU1603 + + + + $([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)')) + $([System.IO.File]::ReadAllText('$(PaketLockFilePath)')) + true + false + true + + + + + + + + + $(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).paket.references.cached + + $(MSBuildProjectFullPath).paket.references + + $(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references + + $(MSBuildProjectDirectory)\paket.references + $(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).$(TargetFramework).paket.resolved + true + references-file-or-cache-not-found + + + + + $([System.IO.File]::ReadAllText('$(PaketReferencesCachedFilePath)')) + $([System.IO.File]::ReadAllText('$(PaketOriginalReferencesFilePath)')) + references-file + false + + + + + false + + + + + true + target-framework '$(TargetFramework)' + + + + + + + + + + + + + + + + + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0]) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1]) + + + %(PaketReferencesFileLinesInfo.PackageVersion) + + + + + $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).NuGet.Config + + + + + + + false + + + + + + $(MSBuildProjectDirectory)/$(MSBuildProjectFile) + true + false + true + + + + <_NuspecFiles Include="$(BaseIntermediateOutputPath)*.nuspec"/> + + + + + + + + + + + + + + + diff --git a/fcs/.paket/paket.bootstrapper.exe b/fcs/.paket/paket.bootstrapper.exe deleted file mode 100644 index 64fdf248bfc..00000000000 Binary files a/fcs/.paket/paket.bootstrapper.exe and /dev/null differ diff --git a/fcs/.paket/paket.exe b/fcs/.paket/paket.exe new file mode 100644 index 00000000000..ef3ea32af2a Binary files /dev/null and b/fcs/.paket/paket.exe differ diff --git a/fcs/build.cmd b/fcs/build.cmd index 312c7ed7382..163dd456347 100644 --- a/fcs/build.cmd +++ b/fcs/build.cmd @@ -2,7 +2,7 @@ .nuget\NuGet.exe restore -PackagesDirectory packages setlocal cd fcs -.paket\paket.bootstrapper.exe + dotnet restore tools.fsproj if errorlevel 1 ( endlocal diff --git a/fcs/build.sh b/fcs/build.sh index 3e7e80e7d88..f0107dfdafe 100644 --- a/fcs/build.sh +++ b/fcs/build.sh @@ -15,12 +15,6 @@ else dotnet restore tools.fsproj - mono .paket/paket.bootstrapper.exe - exit_code=$? - if [ $exit_code -ne 0 ]; then - exit $exit_code - fi - mono .paket/paket.exe restore exit_code=$? if [ $exit_code -ne 0 ]; then diff --git a/netci.groovy b/netci.groovy index ba971aaf9c4..653514e3c0c 100644 --- a/netci.groovy +++ b/netci.groovy @@ -12,7 +12,7 @@ def static getBuildJobName(def configuration, def os) { [true, false].each { isPullRequest -> osList.each { os -> - def configurations = ['Debug', 'Release_ci_part1', 'Release_ci_part2', 'Release_ci_part3', 'Release_net40_no_vs' ]; + def configurations = ['Debug', 'Release_ci_part1', 'Release_ci_part2', 'Release_ci_part3', 'Release_net40_no_vs', 'Release_fcs' ]; if (os != 'Windows_NT') { // Only build one configuration on Linux/... so far configurations = ['Release']; @@ -24,10 +24,27 @@ def static getBuildJobName(def configuration, def os) { // Calculate job name def jobName = getBuildJobName(configuration, os) + def buildPath = ''; + if (os == 'Windows_NT') { + buildPath = ".\\" + } + else { + buildPath = "./" + } def buildCommand = ''; - def buildFlavor= ''; - if (configuration == "Debug") { + + if (configuration == "Release_fcs") { + if (os == 'Windows_NT') { + buildPath = ".\\fcs\\" + } + else { + buildPath = "./fcs/" + } + buildFlavor = "" + build_args = "TestAndNuget" + } + else if (configuration == "Debug") { buildFlavor = "debug" build_args = "" } @@ -51,10 +68,10 @@ def static getBuildJobName(def configuration, def os) { } if (os == 'Windows_NT') { - buildCommand = ".\\build.cmd ${buildFlavor} ${build_args}" + buildCommand = "${buildPath}build.cmd ${buildFlavor} ${build_args}" } else { - buildCommand = "./build.sh ${buildFlavor} ${build_args}" + buildCommand = "${buildPath}build.sh ${buildFlavor} ${build_args}" } def newJobName = Utilities.getFullJobName(project, jobName, isPullRequest) @@ -64,7 +81,7 @@ def static getBuildJobName(def configuration, def os) { batchFile(""" echo *** Build Visual F# Tools *** -.\\build.cmd ${buildFlavor} ${build_args}""") +${buildPath}build.cmd ${buildFlavor} ${build_args}""") } else { // Shell