Skip to content

Commit

Permalink
Merge pull request #1949 from fsharp/release/rc
Browse files Browse the repository at this point in the history
Release Candidate 16
  • Loading branch information
matthid authored May 21, 2018
2 parents 1d606de + 87390ac commit 896e227
Show file tree
Hide file tree
Showing 26 changed files with 942 additions and 318 deletions.
15 changes: 12 additions & 3 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Release Notes

## 5.0.0-rc016 - 2018-05-21

* ENHANCEMENT: Make caches more portable - https://github.com/fsharp/FAKE/issues/1924
* ENHANCEMENT: Handle Ctrl+C to properly shutdown (for example run final targets) - https://github.com/fsharp/FAKE/pull/1946
* ENHANCEMENT: Add `Target.deactivateBuildFailure` and `Target.deactivateFinal` - https://github.com/fsharp/FAKE/pull/1949
* BUGFIX: Fake had problems with `#load` directives in some scenarios - https://github.com/fsharp/FAKE/issues/1947
* BUGFIX: Parallel Builds on Team-Foundation would sometimes fail because of racy output of `#vso[]` commands - https://github.com/fsharp/FAKE/pull/1949
* BUGFIX: Parallel runner would run more targets than needed in error case - https://github.com/fsharp/FAKE/pull/1949

## 5.0.0-rc015 - 2018-05-21

* FAKE5: Global dotnet cli-tool `fake-cli` - https://github.com/fsharp/FAKE/pull/1932
Expand All @@ -22,9 +31,9 @@

* ENHANCEMENT: Add partial restore (to improve the speed when using in a release-pipeline) - https://github.com/fsharp/FAKE/issues/1926
* FAKE5: Xake now supports FAKE 5 and is advertised as module - https://github.com/xakebuild/Xake
- ENHANCEMENT: Parallelize targets even more - https://github.com/fsharp/FAKE/pull/1934
- COSMETICS: Targets are always shown as "failed" - https://github.com/fsharp/FAKE/issues/1929
- COSMETICS: Target description was printed twice - https://github.com/fsharp/FAKE/issues/1931
* ENHANCEMENT: Parallelize targets even more - https://github.com/fsharp/FAKE/pull/1934
* COSMETICS: Targets are always shown as "failed" - https://github.com/fsharp/FAKE/issues/1929
* COSMETICS: Target description was printed twice - https://github.com/fsharp/FAKE/issues/1931

## 5.0.0-rc012 - 2018-05-12

Expand Down
4 changes: 1 addition & 3 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -1481,7 +1481,6 @@ Target.create "Release_GenerateDocs" (fun _ ->

Target.Description "Full Build & Test and publish results as artifacts."
Target.create "Release_BuildAndTest" ignore

open Fake.Core.TargetOperators

"CheckReleaseSecrets"
Expand Down Expand Up @@ -1683,6 +1682,5 @@ let prevDocs =
// A 'Release' includes a 'CheckReleaseSecrets'
"CheckReleaseSecrets"
==> "Release"

// start build
//start build
Target.runOrDefault "Default"
2 changes: 1 addition & 1 deletion help/markdown/fake-migrate-to-fake-5.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Upgrading to FAKE 5 is a multi step process and has various manual steps in betw
* This is for example done by installing FAKE as dependency on your build infrastructure.
There are a variety of [installing options](fake-gettingstarted.html#Install-FAKE) available.
* Tell FAKE which [modules](fake-fake5-modules.html) you need.
See the [Adding FAKE dependencies](#Adding-FAKE-dependencies) section below.
See the [Add FAKE dependencies](#Add-FAKE-dependencies) section below.
* Run the build with the new version of FAKE :). You might want to read the [CLI migration](#CLI-Migration) section

If things break in the last step please let us know as well.
Expand Down
3 changes: 2 additions & 1 deletion paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ nuget FSharp.Compiler.Service content: none
nuget Octokit
nuget System.Net.Http
nuget Microsoft.DotNet.PlatformAbstractions
nuget FSharp.Control.Reactive
// From FSharp.Compiler.Service, but manually managed because of rename
nuget System.ValueTuple copy_local: true, redirects:force

Expand Down Expand Up @@ -151,7 +152,7 @@ group netcore
nuget Newtonsoft.Json
nuget Paket.Core prerelease
nuget Mono.Cecil prerelease

nuget FSharp.Control.Reactive
// Testing
nuget Expecto >= 5.0

Expand Down
331 changes: 187 additions & 144 deletions paket.lock

Large diffs are not rendered by default.

18 changes: 12 additions & 6 deletions src/app/Fake.BuildServer.TeamCity/TeamCityInternal.fs
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,20 @@ module internal TeamCityWriter =
let scrub = String.removeLineBreaks >> encapsulateSpecialChars

/// Send message to TeamCity
let sendToTeamCity (format:PrintfFormat<string -> unit, _, _, unit>) message =
printf format (scrub message)
let sendToTeamCity (format:Printf.StringFormat<string -> string>) message =
sprintf format (scrub message)
// printf is racing with others in parallel mode
|> fun s -> System.Console.WriteLine("\n{0}", s)

let sendToTeamCity2 (format:PrintfFormat<string -> string -> unit, _, _, unit>) param1 param2 =
printf format (scrub param1) (scrub param2)
let sendToTeamCity2 (format:Printf.StringFormat<string -> string -> string>) param1 param2 =
sprintf format (scrub param1) (scrub param2)
// printf is racing with others in parallel mode
|> fun s -> System.Console.WriteLine("\n{0}", s)

let sendStrToTeamCity str =
printf "%s" str
sprintf "%s" str
// printf is racing with others in parallel mode
|> fun s -> System.Console.WriteLine("\n{0}", s)

/// Open Named Block
let sendOpenBlock name description = sendToTeamCity2 "##teamcity[blockOpened name='%s' description='%s']" name description
Expand Down Expand Up @@ -498,4 +504,4 @@ module internal TeamCityRest =
getFirstNode serverURL username password "/httpAuth/app/rest/projects"
|> Xml.parse "projects" Xml.getChilds
|> Seq.map (Xml.getAttribute "id")


4 changes: 3 additions & 1 deletion src/app/Fake.BuildServer.TeamFoundation/TeamFoundation.fs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ module TeamFoundation =
|> Seq.map (fun (prop, value) -> sprintf "%s=%s;" (ensureProp prop) (ensureProp value))
|> String.separated ""
if String.isNullOrWhiteSpace temp then "" else " " + temp
printfn "##vso[%s%s]%s" action formattedProperties message
sprintf "##vso[%s%s]%s" action formattedProperties message
// printf is racing with others in parallel mode
|> fun s -> System.Console.WriteLine("\n{0}", s)

let private toType t o =
o |> Option.map (fun value -> t, value)
Expand Down
4 changes: 3 additions & 1 deletion src/app/Fake.BuildServer.Travis/Travis.fs
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,11 @@ module Travis =
write false color true (sprintf "Build Number: %s" number)
| TraceData.TestStatus (test, status) ->
write false color true (sprintf "Test '%s' status: %A" test status)
| TraceData.BuildState state ->
write false color true (sprintf "Build State: %A" state)

let defaultTraceListener =
TravisTraceListener() :> ITraceListener
TravisTraceListener() :> ITraceListener
let detect () =
BuildServer.buildServer = BuildServer.Travis
let install(force:bool) =
Expand Down
4 changes: 2 additions & 2 deletions src/app/Fake.Core.Environment/Environment.fs
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ module Environment =
| _ -> false
#endif

/// Determines if the current system is a mono system
/// Determines if the current FAKE runner is being run via mono. With the FAKE 5 runner, this will always be false
/// Todo: Detect mono on windows
let isMono =
#if NETSTANDARD1_6
Expand Down Expand Up @@ -360,4 +360,4 @@ module Environment =
AgentVersion =
sprintf "%A" ((System.Reflection.Assembly.GetAssembly(typedefof<MachineDetails>)).GetName().Version)
DriveInfo = getDrivesInfo() }
#endif
#endif
4 changes: 2 additions & 2 deletions src/app/Fake.Core.SemVer/SemVer.fs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ type PreRelease =
| _::AlphaNumeric(a)::_ -> a // fallback to 2nd
| _ -> ""

let parse segment =
let parse (segment: string) =
match bigint.TryParse segment with
| true, number when number >= 0I -> Numeric number
| _ -> AlphaNumeric segment
Expand Down Expand Up @@ -245,7 +245,7 @@ module SemVer =
| _ -> None

/// Matches if str is convertible to big int and not less than zero, and returns the bigint value.
let inline private (|Big|_|) str =
let inline private (|Big|_|) (str: string) =
match BigInteger.TryParse (str, NumberStyles.Integer, null) with
| true, big when big > -1I -> Some big
| _ -> None
Expand Down
50 changes: 26 additions & 24 deletions src/app/Fake.Core.Target/Fake.Core.Target.fsproj
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetFrameworks>net46;netstandard1.6;netstandard2.0</TargetFrameworks>
<AssemblyName>Fake.Core.Target</AssemblyName>
<OutputType>Library</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.fs" />
<Compile Include="ThisAssemblyInfo.fs" />
<Compile Include="Target.fs" />
<Compile Include="TargetOperators.fs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Fake.Core.CommandLineParsing\Fake.Core.CommandLineParsing.fsproj" />
<ProjectReference Include="..\Fake.Core.Context\Fake.Core.Context.fsproj" />
<ProjectReference Include="..\Fake.Core.Environment\Fake.Core.Environment.fsproj" />
<ProjectReference Include="..\Fake.Core.String\Fake.Core.String.fsproj" />
<ProjectReference Include="..\Fake.Core.Trace\Fake.Core.Trace.fsproj" />
</ItemGroup>
<Import Project="..\..\..\.paket\Paket.Restore.targets" />
</Project>
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetFrameworks>net46;netstandard2.0</TargetFrameworks>
<AssemblyName>Fake.Core.Target</AssemblyName>
<OutputType>Library</OutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.fs" />
<Compile Include="ThisAssemblyInfo.fs" />
<Compile Include="Target.fs" />
<Compile Include="TargetOperators.fs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Fake.Core.CommandLineParsing\Fake.Core.CommandLineParsing.fsproj" />
<ProjectReference Include="..\Fake.Core.Context\Fake.Core.Context.fsproj" />
<ProjectReference Include="..\Fake.Core.Environment\Fake.Core.Environment.fsproj" />
<ProjectReference Include="..\Fake.Core.String\Fake.Core.String.fsproj" />
<ProjectReference Include="..\Fake.Core.Trace\Fake.Core.Trace.fsproj" />
<ProjectReference Include="..\Fake.Core.Process\Fake.Core.Process.fsproj" />
</ItemGroup>
<Import Project="..\..\..\.paket\Paket.Restore.targets" />
</Project>
Loading

0 comments on commit 896e227

Please sign in to comment.