<commit_before>﻿#I @"./bin/tools/FAKE/tools/"
#r @"./bin/tools/FAKE/tools/FakeLib.dll"
#load @"./bin/tools/SourceLink.Fake/tools/SourceLink.fsx"

open Fake
open Fake.Git
open Fake.FSharpFormatting
open Fake.AssemblyInfoFile
open Fake.ReleaseNotesHelper
open System
open System.IO

type System.String with member x.contains (comp:System.StringComparison) str = x.IndexOf(str,comp) >= 0        
let excludePaths (pathsToExclude : string list) (path: string) = pathsToExclude |> List.exists (path.contains StringComparison.OrdinalIgnoreCase)|> not

let buildDir  = @"./bin/Release"
let release = LoadReleaseNotes "RELEASE_NOTES.md"

let projectName = "Cronus"
let projectSummary = "CQRS + EvetStore framework"
let projectDescription = "CQRS + EvetStore framework"
let projectAuthors = ["<NAME>"; "<NAME>";]

let packages = ["Cronus", projectDescription]
let nugetDir = "./bin/nuget"
let nugetDependencies = getDependencies "./src/Elders.Cronus/packages.config"
let nugetDependenciesFlat, _ = nugetDependencies |> List.unzip
let excludeNugetDependencies = excludePaths nugetDependenciesFlat

Target "Clean" (fun _ -> CleanDirs [buildDir])

Target "AssemblyInfo" (fun _ ->
    CreateCSharpAssemblyInfo @"./src/Elders.Cronus/Properties/AssemblyInfo.cs"
           [Attribute.Title "Elders.Cronus"<commit_msg>Hard coded nuget dependencies.<commit_after>﻿#I @"./bin/tools/FAKE/tools/"
#r @"./bin/tools/FAKE/tools/FakeLib.dll"
#load @"./bin/tools/SourceLink.Fake/tools/SourceLink.fsx"

open Fake
open Fake.Git
open Fake.FSharpFormatting
open Fake.AssemblyInfoFile
open Fake.ReleaseNotesHelper
open System
open System.IO
open System.Collections.Generic

type System.String with member x.contains (comp:System.StringComparison) str = x.IndexOf(str,comp) >= 0        
let excludePaths (pathsToExclude : string list) (path: string) = pathsToExclude |> List.exists (path.contains StringComparison.OrdinalIgnoreCase)|> not

let buildDir  = @"./bin/Release"
let release = LoadReleaseNotes "RELEASE_NOTES.md"

let projectName = "Cronus"
let projectSummary = "CQRS + EvetStore framework"
let projectDescription = "CQRS + EvetStore framework"
let projectAuthors = ["<NAME>"; "<NAME>";]

let packages = ["Cronus", projectDescription]
let nugetDir = "./bin/nuget"
let nugetDependencies = ["log4net", "2.0.3"; "Multithreading.Scheduler", "1.0.0"; "protobuf-net", "2.0.0.668"; "Protoreg", "1.0.10";]
let nugetDependenciesFlat, _ = nugetDependencies |> List.unzip
let excludeNugetDependencies = excludePaths nugetDependenciesFlat
Target "Clean" (fun _ -> CleanDirs [buildDir])

Target "AssemblyInfo" (fun _ ->
    CreateCSharpAssemblyInfo @"./src/Elders.Cronus/Properties/AssemblyInfo.cs"
           [Attribute.Title "Elders.Cronus"
{'fraction_non_alphanumeric': 0.1307237813884786, 'fraction_numerical': 0.007016248153618907, 'mean_word_length': 5.227586206896552, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4751954', 'n_tokens_mistral': 923, 'n_tokens_neox': 883, 'n_words': 202}