Skip to content

Use short F# scripts to define .NET projects and solutions!

License

Notifications You must be signed in to change notification settings

KirillAldashkin/KiDev.Baikal

Repository files navigation

Nuget

KiDev.Baikal

Use short F# scripts to define .NET projects and solutions!

This is just a nicer alternative to .*proj and .sln files. If you need a fully-featured build system, consider using Fake or Nuke.

How to use

  1. Create and open a F# script file and import this library:
#r "nuget: KiDev.Baikal"
  1. Write definition of your solution:
// __SOURCE_DIRECTORY__ - F# literal, path to directory that contains this script
Solution(__SOURCE_DIRECTORY__)
    |> AddProject(FS()
        |> TargetFramework "net6.0"
        |> OutputType Exe
        |> Compile [ Include "Program.fs" ])
    |> run
  1. Run dotnet fsi your_script.fsx. This will generate .*proj (and optionally, .sln) files based on your script.

Example

Script file for this project. Also look to Examples\ folder.

Status

Currently this is a prototype.

Things to do before releasing 1.0.0:

  1. Tasks dependency/error handling
  2. Bunch of helper functions to write tasks
  3. Solution script and generated files timestamping
  4. Support more features of .**proj files
  5. Maybe, .NET tool or even a VS extension?

About

Use short F# scripts to define .NET projects and solutions!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages