/
build-web-bundles.fsx
51 lines (41 loc) · 1.45 KB
/
build-web-bundles.fsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#I @"tools/FAKE/tools/"
#r @"FakeLib.dll"
open System
open Fake
let buildDir = "./build-bundles"
let targetDir = "./src/deploy.web/Fake.Deploy.Web/Bundles"
let bundleProjects = !! @"src\deploy.web\Fake.Deploy.Web.DataProviders\**\*.*sproj"
Target "Clean" (fun _ ->
CleanDirs [buildDir; targetDir]
)
Target "SetAssemblyInfo" (fun _ ->
AssemblyInfo
(fun p ->
{p with
CodeLanguage = FSharp;
AssemblyVersion = buildVersion;
AssemblyTitle = "FAKE - F# Deploy Web RavenDB Provider";
Guid = "A96DF3AB-BF56-4252-9C5F-9F2F6DAD5E8B";
OutputFileName = @".\src\deploy.web\Fake.Deploy.Web.DataProviders\Fake.Deploy.Web.RavenDb\AssemblyInfo.fs"})
)
Target "BuildBundles" (fun _ ->
for bundle in bundleProjects do
let bundleBuild = buildDir @@ IO.Path.GetFileNameWithoutExtension(bundle)
MSBuildRelease bundleBuild "Build" [bundle] |> ignore
)
Target "ZipBundles" (fun _ ->
for dir in IO.Directory.EnumerateDirectories(buildDir) do
let dir = IO.DirectoryInfo(dir)
let name = targetDir @@ dir.Name + ".zip"
let files = !! dir.FullName
Zip dir.FullName name files
)
Target "Default" DoNothing
// Dependencies
"Clean"
==> "BuildBundles" <=> "ZipBundles"
==> "Default"
if not isLocalBuild then
"Clean" ==> "SetAssemblyInfo" ==> "BuildBundles" |> ignore
// start build
RunParameterTargetOrDefault "target" "Default"