Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Tuesday, 22. April 2014


FAKE 2.14.0 released – OpenCover edition

Filed under: Diverses — Steffen Forkmann at 9:43 Uhr

Today I released FAKE 2.14 with some smaller bug fixes and improvements. The biggest feature is that we now have support for OpenCover and ReportGenerator. A big thanks to all of the 65 contributors.

What’s new?

Getting started

If you new to FAKE you should read the getting started guide or clone the F# ProjectScaffold.

Go and grab the bits

Feel free to contact me if you need help for the upgrade.

Monday, 31. March 2014


FAKE 2.12.0 released – NancyFx edition

Filed under: F#,FAKE - F# Make — Steffen Forkmann at 13:16 Uhr

FAKE logo

Today I released FAKE 2.12 with a lot of small bug fixes and improvements. The biggest feature is that we now use NancyFx for FAKE.Deploy. A big thanks to all of the 60 contributors.

What’s new?

  • Add getDependencies to NugetHelper #373
  • Add more F# friendly functions for IO.Path #374
  • SourceLink support #345
  • NancyFx instead of ASP.NET MVC for FAKE.Deploy #376 ‚Äď big thanks to @MorganPersson
  • Allows to execute processes as unit tests #379
  • Allow to run MsTest test in isolation #367
  • Fixed Nuget.packSymbols #366
  • Fixed bug in SemVer parser #364
  • New title property in Nuspec parameters #359
  • Added option to disabled FAKE’s automatic process killing #357
  • Better AppyVeyor integration #353, #345
  • Added ability to define custom MSBuild loggers #352
  • Fix for getting the branch name with Git >= 1.9 #351
  • Added functions to write and delete from registry #350
  • NUnit NoThread, Domain and StopOnError parameters #349
  • Add support for VS2013 MSTest #346
  • Lots of small fixes

Getting started

If you new to FAKE you should read the getting started guide or clone the F# ProjectScaffold.

Go and grab the bits

Feel free to contact me if you need help for the upgrade.

Tags: ,

Sunday, 23. February 2014


FAKE 2.10 released – more stuff for Dynamics NAV, Windows Azure, FTP, Nuget

Filed under: Diverses — Steffen Forkmann at 15:41 Uhr

FAKE logoToday I released FAKE 2.10 with a lot of small bug fixes and improvements. A big thanks to all of the 55 contributors.

What’s new?

  • Support for Nuget Install
  • AzureHelper allows to control local Azure Emulator
  • Several fixes in FAKE.Deploy (#333)
  • Split Dynamics NAV object files (#335)
  • Support for Dynamics NAV test results (#336)
  • Export objects support for Dynamics NAV (#332)
  • Include/exclude traits support for xUnit (#329)
  • ISSExpress helper allows to host websites in IIS Express¬†(#323)
  • FTP Helpers allow file upload (#322)
  • Breaking Change: OctoHelper contains Packages parameter instead of “PackageVersionOverride” (#320)

Getting started

If you new to FAKE you should read the getting started guide or clone the F# ProjectScaffold.

Go and grab the bits

Feel free to contact me if you need help for the upgrade.

Sunday, 2. February 2014


FAKE 2.8 released – DotCover and TestFlight support

Filed under: Diverses — Steffen Forkmann at 15:53 Uhr

FAKE logoToday I released FAKE 2.8 with support for JetBrains DotCover and TestFlight.

It’s really awesome to see that this project is getting used more and more. We now have 51 contributors including people from GitHub and Xamarin. A big thanks to all of you.

What’s new?

  • DotCover support #318¬†(docs)
  • TestFlight support¬†#304¬†(docs)
  • FAKE got a logo #308
  • Explicit references in NuGet params #295
  • Using F# 3.1.1 -> removed the F# compiler bundle from the repository
  • Removed dependency to Newtonsoft.JSON from FakeLib.dll
  • Ability to pass in F# Interactive Options, namely -d:MONO #302
  • “Goto github sources” is working from the docs #309
  • FSharp.Formatting task¬†used here
  • Fix: ILMergeHelper uses correct TargetKind #312
  • Fix: Path resolution issue in MSBuildHelper #315
  • Fix: Better logging for git and mspec tasks
  • Fix: Make SQL Server Helper compatible with .NET 4.0 #243
  • Improvements in the docs

Getting started

If you new to FAKE you should read the getting started guide or clone the F# ProjectScaffold.

Go and grab the bits

Feel free to contact me if you need help for the upgrade.

Monday, 20. January 2014


FAKE 2.6 released – support for TravisCI

Filed under: Diverses — Steffen Forkmann at 13:24 Uhr

TravisCI support in FAKEToday I released FAKE 2.6 with support for TravisCI and much better mono support.

What’s new?

  • Fix: FileIncludes use stable order #270¬†
  • Fix: ReleaseNotes parsing was improved #275
  • Feature: Some new git helpers
  • Using latest SharpZipLib
  • Fix: Fixed all unit tests on mono
  • Feature: runWithRetry helper #289
  • Fix: FAKE is more careful when it tries to kill processes #291
  • FAKE has TravisCI build¬†where it builds itself

Getting started

If you new to FAKE you should read the getting started guide or clone the F# ProjectScaffold.

Go and grab the bits

Feel free to contact me if you need help for the upgrade.

Wednesday, 15. January 2014


FSharp.Configuration 0.1 released

Filed under: C#,F#,Informatik — Steffen Forkmann at 13:40 Uhr

As part of a longer process of making FSharpx better maintainable I created a new project called FSharp.Configuration. It contains type providers for the configuration of .NET projects:

Yaml type provider

Additonal information:

Please tell me what you think.

Tuesday, 14. January 2014


FSharpx.Collections 1.9 released

Filed under: .NET,C#,F#,FAKE - F# Make,Informatik — Steffen Forkmann at 11:29 Uhr

I’m happy to annouce the new release of the¬†FSharpx.Collections package on nuget.

Most important changes:

Please tell me if it works for you.

Sunday, 22. December 2013


FAKE 2.4 released

Filed under: Diverses — Steffen Forkmann at 10:16 Uhr

I’m happy to annouce the FAKE 2.4 release with F# 3.1 support.

What’s new?

Getting started

If you new to FAKE you should read the getting started guide or clone the new F# ProjectScaffold.

Go and grab the bits

Thanks to the 6 new ccontributors in the last months we are now 45! That’s so awesome.

Feel free to contact me if you need help for the upgrade.

Wednesday, 18. December 2013


Microsoft Dynamics NAV type provider

Filed under: Dynamics NAV 2009,Dynamics NAV 2013,F#,Navision — Steffen Forkmann at 14:34 Uhr

In earlier posts I showed how we can use F# type providers to access Dynamics NAV 2009 via Web Services and Dynamics NAV 2013 via OData. This time I want to point to a new type provider which allows Dynamics NAV data access directly via the SQL Server. The new type provider aims to be a replacement for C/Front.NET and gives a much nicer API.

alt text

It‚Äôs already available on nuget and has documentation with a “getting started guide”.

Tags: , ,

Friday, 22. November 2013


FAKE 2.2 released

Filed under: Diverses — Steffen Forkmann at 17:06 Uhr

It’s a long time since the last major FAKE release and the community has contributed a lot of really cool features. This is so awesome and I want to thank all the contributors. You rock.

Today, I’m happy to annouce the FAKE 2.2 release. This release is really a very big change, so if you are still on FAKE 1.x there might be some problems for the upgrade. Feel free to contact me if you need help.

What’s new?

There is really a lot happening in this release so I want to talk about some of the improvements. Let’s start with the change of the project stucture. We separated the projects into different nuget packages in order to deploy a much smaller FAKE.Core package. These are the packages we have on nuget.

  • Fake.Deploy – allows to use FAKE scripts in deployment.
  • Fake.Experimental – exciting new stuff we want to try out and might want to remove again.
  • Fake.Gallio – contains the Gallio runner support.
  • Fake.SQL – Contains tasks for SQL Server.
  • Fake.Core – All the basic build features and FAKE.exe.¬†If you only want the basic functionality then you would probably want to use this.
  • FAKE – Contains all the stuff above. We keep this package for compatibility.
FAKE.Deploy

As you can see the FAKE.Deploy package is now finally released. A big thanks to Colin Bull and all the others that are working in this area. See this tutorial for more information.

FAKE.Boot

Another interesting sub project is FAKE.Boot by Anton Tayanovskyy. It’s also released today. Read more about it in Anton’s blog.

New tasks

Of course we have plenty new tasks:

New globbing system

We (which means Colin :-) ) changed the implementation of the file scanning in FAKE. The original implementation was way to complicated and had tons of bugs in it. The new version is really elegant¬†and only a fraction of the original code size. If you are interested in Functional programming check this out. It’s an interesting problem.

You will notice that a lot of the original file pattern functions are marked as obsolete. The file patterns implement IEnumerable, so you don’t need to use the “Scan” function any more.

What’s next?

I have some ideas how to reorganize the project and how to make it easier to debug build scripts. There are also ideas floating around how we can change the way FAKE bundles the FSI and but this still needs some time.

In the meantime we try to improve the existing tasks and continue to improve the documentation.

Up for grabs

The FAKE project joined the Up For Grabs project and I started to add tasks which are meant for new contributors to join the project. So if you want to get involved in FAKE then these might be interesting for you.

SemVer

I want to start using SemVer but I still have to figure out all the details of the new version number strategy. If someone has ideas about this then please let me know.

Monitoring external projects

Most of the tasks in FAKE are calling external tools. It’s very hard to test this properly so one approach is that FAKE is dogfooding the latest FAKE version to build itself. This ensures that most issues are catched very early. But of course FAKE’s own build script doesn’t use all the supported tasks.

In order to make FAKE more stable I want to monitor more external projects. So if you have an OSS project with a public CI build which is using FAKE then please let me know. I will try to maintain a list of these projects and will start to monitor if a new FAKE version would break these projects.

Go and grab the bits

Thanks again to all the 39 contributors – I thinks that’s an awesome number for an OSS ¬†project that’s written in F#.