Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Candidate 16 #1949

Merged
merged 36 commits into from
May 21, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
5d31a31
Update targets to allow deactivation
BlythMeister May 14, 2018
459c40d
Fix version.
matthid May 14, 2018
fc49f1b
Nope it's on nuget.
matthid May 14, 2018
062e030
small fix
matthid May 21, 2018
f221cea
Add tests and fix https://github.com/fsharp/FAKE/issues/1947
matthid May 21, 2018
341301f
Improve error when trying to load full-framework assemblies.
matthid May 21, 2018
56ff779
Use Console.WriteLine which hopefully prevents races in parallel mode.
matthid May 21, 2018
6bf67bb
Merge pull request #1948 from fsharp/fix_1947
matthid May 21, 2018
add741f
rc016
matthid May 21, 2018
26ecd57
Merge branch 'master' of github.com:fsharp/FAKE into release/rc
matthid May 21, 2018
5b96244
add some logic to write relative instead of absolute paths to cache, …
matthid May 21, 2018
997925c
fix compilation
matthid May 21, 2018
9e3f39f
Merge branch 'release/rc' into fix_1924
matthid May 21, 2018
c1c5acf
Run final targets after user cancels with ctrl+c
kblohm May 20, 2018
a861892
try to fix test
matthid May 21, 2018
6aeeed7
.
matthid May 21, 2018
47a00e2
fix
matthid May 21, 2018
6a62f0f
Fix broken link to `Add FAKE Dependencies` section on migration guide
baronfel May 21, 2018
2a9d0fb
Merge pull request #1952 from baronfel/patch-2
matthid May 21, 2018
79fa757
change condition slightly
matthid May 21, 2018
f45a847
Added tests as this was surprisingly tricky to get correct.
matthid May 21, 2018
9c250c9
address warnings that came up during initial build
baronfel May 21, 2018
7b396c9
only print warnings if non-silent
baronfel May 21, 2018
4cf58f6
sort target names
baronfel May 21, 2018
0b4f7a4
Merge pull request #1950 from fsharp/fix_1924
matthid May 21, 2018
0562a93
revert warnings change and add note to Environment about mono semantics
baronfel May 21, 2018
8640251
Merge pull request #1953 from baronfel/list_targets_quitely
matthid May 21, 2018
e3242b1
Use FSharp.Control.Reactive and some Cleanup
kblohm May 21, 2018
4ee2ee3
Merge pull request #1946 from kblohm/handleUserCancel
matthid May 21, 2018
8895052
release notes
matthid May 21, 2018
61a30ab
Merge branch 'release/rc' into patch-3
matthid May 21, 2018
2cfc9e9
Merge pull request #1928 from BlythMeister/patch-3
matthid May 21, 2018
64644dd
revert changes in target file
matthid May 21, 2018
b0bb27f
Add tests and fix them (make sure parallel runner always use latest c…
matthid May 21, 2018
3f7f0da
Merge branch 'release/rc' of github.com:fsharp/FAKE into release/rc
matthid May 21, 2018
87390ac
release notes.
matthid May 21, 2018
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
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