Skip to content

Commit

Permalink
Add dotenv
Browse files Browse the repository at this point in the history
  • Loading branch information
TheAngryByrd committed Mar 4, 2024
1 parent 5e58fa0 commit 0eb7659
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 16 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -271,3 +271,6 @@ coverage.*.xml
.ionide

docs/coverage

# Environment file
.env
21 changes: 21 additions & 0 deletions build/DotEnv.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
namespace BuildHelper

module DotEnv =
open Fake.Core
open System
open System.IO

let private parseLine (line: string) =
match line.Split('=', StringSplitOptions.RemoveEmptyEntries) with
| args when args.Length = 2 -> Environment.SetEnvironmentVariable(args.[0], args.[1])
| _ -> ()

let load (rootDir) =
let filePath = Path.Combine(rootDir, ".env")

if File.Exists filePath then
filePath
|> File.ReadAllLines
|> Seq.iter parseLine
else
Trace.traceImportantfn "No .env file found. %s" rootDir
40 changes: 24 additions & 16 deletions build/build.fs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ open Fake.Core.TargetOperators
open Fake.Api
open Fake.BuildServer
open Argu
open BuildHelper

let environVarAsBoolOrDefault varName defaultValue =
let truthyConsts = [
Expand All @@ -30,36 +31,42 @@ let environVarAsBoolOrDefault varName defaultValue =
//-----------------------------------------------------------------------------

let productName = "FSharp.Control.WebSockets"
let sln = __SOURCE_DIRECTORY__ </> ".." </> "FSharp.Control.Websockets.sln"

let rootDir =
__SOURCE_DIRECTORY__
</> ".."


let sln = rootDir </> "FSharp.Control.Websockets.sln"


let srcCodeGlob =
!! (__SOURCE_DIRECTORY__ </> ".." </> "src/**/*.fs")
++ (__SOURCE_DIRECTORY__ </> ".." </> "src/**/*.fsx")
-- (__SOURCE_DIRECTORY__ </> ".." </> "src/**/obj/**/*.fs")
!! (rootDir </> "src/**/*.fs")
++ (rootDir </> "src/**/*.fsx")
-- (rootDir </> "src/**/obj/**/*.fs")

let testsCodeGlob =
!! (__SOURCE_DIRECTORY__ </> ".." </> "tests/**/*.fs")
++ (__SOURCE_DIRECTORY__ </> ".." </> "tests/**/*.fsx")
-- (__SOURCE_DIRECTORY__ </> ".." </> "tests/**/obj/**/*.fs")
!! (rootDir </> "tests/**/*.fs")
++ (rootDir </> "tests/**/*.fsx")
-- (rootDir </> "tests/**/obj/**/*.fs")

let srcGlob =__SOURCE_DIRECTORY__ </> ".." </> "src/**/*.??proj"
let testsGlob = __SOURCE_DIRECTORY__ </> ".." </> "tests/**/*.??proj"
let srcGlob =rootDir </> "src/**/*.??proj"
let testsGlob = rootDir </> "tests/**/*.??proj"

let srcAndTest =
!! srcGlob
++ testsGlob

let distDir = __SOURCE_DIRECTORY__ </> ".." </> "dist"
let distDir = rootDir </> "dist"
let distGlob = distDir </> "*.nupkg"

let coverageThresholdPercent = 60
let coverageReportDir = __SOURCE_DIRECTORY__ </> ".." </> "docs" </> "coverage"
let coverageReportDir = rootDir </> "docs" </> "coverage"


let docsDir = __SOURCE_DIRECTORY__ </> ".." </> "docs"
let docsSrcDir = __SOURCE_DIRECTORY__ </> ".." </> "docsSrc"
let docsToolDir = __SOURCE_DIRECTORY__ </> ".." </> "docsTool"
let docsDir = rootDir </> "docs"
let docsSrcDir = rootDir </> "docsSrc"
let docsToolDir = rootDir </> "docsTool"

let gitOwner = "TheAngryByrd"
let gitRepoName = "FSharp.Control.WebSockets"
Expand All @@ -70,7 +77,7 @@ let releaseBranch = "master"

let tagFromVersionNumber versionNumber = sprintf "v%s" versionNumber

let changelogFilename = __SOURCE_DIRECTORY__ </> ".." </> "CHANGELOG.md"
let changelogFilename = rootDir </> "CHANGELOG.md"
let changelog = Fake.Core.Changelog.load changelogFilename
let mutable latestEntry =
if Seq.isEmpty changelog.Entries
Expand Down Expand Up @@ -404,7 +411,7 @@ let fsharpAnalyzers _ =
|> Seq.iter(fun proj ->
let args =
[
FSharpAnalyzers.Analyzers_Path (__SOURCE_DIRECTORY__ </> ".." </> "packages/analyzers")
FSharpAnalyzers.Analyzers_Path (rootDir </> "packages/analyzers")
FSharpAnalyzers.Arguments.Project proj
FSharpAnalyzers.Arguments.Fail_On_Warnings [
"BDH0002"
Expand Down Expand Up @@ -647,6 +654,7 @@ let releaseDocs ctx =


let initTargets () =
DotEnv.load rootDir
BuildServer.install [
GitHubActions.Installer
]
Expand Down
1 change: 1 addition & 0 deletions build/build.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<ItemGroup>

<Compile Include="../docsTool/CLI.fs" Link="CLI.fs" />
<Compile Include="DotEnv.fs" />
<Compile Include="build.fs" />
</ItemGroup>
<Import Project="..\.paket\Paket.Restore.targets" />
Expand Down

0 comments on commit 0eb7659

Please sign in to comment.