Xamarin.Forms-Samples/Calculator/build.fsx

90 строки
2.6 KiB
Plaintext

// include Fake lib
#r @"packages/FAKE.3.5.4/tools/FakeLib.dll"
#load "build-helpers.fsx"
#load "hockey-app-helpers.fsx"
open Fake
open System
open System.IO
open System.Linq
open BuildHelpers
open Fake.XamarinHelper
open HockeyAppHelper
// *** Define Targets ***
Target "common-build" (fun () ->
RestorePackages "Calculator.sln"
MSBuild "src/Calculator/bin/Debug" "Build" [ ("Configuration", "Debug"); ("Platform", "Any CPU") ] [ "Calculator.sln" ] |> ignore
)
Target "core-build" (fun () ->
RestorePackages "Calculator.Core.sln"
MSBuild "src/Calculator/bin/Debug" "Build" [ ("Configuration", "Debug"); ("Platform", "Any CPU") ] [ "Calculator.Core.sln" ] |> ignore
)
Target "core-tests" (fun () ->
RunNUnitTests "src/Calculator/bin/Debug/Calculator.Tests.dll" "src/Calculator/bin/Debug/testresults.xml" |> ignore
)
Target "windows-phone-build" (fun () ->
RestorePackages "Calculator.WindowsPhone.sln"
MSBuild "src/Calculator.WindowsPhone/Calculator.WindowsPhone/bin/Debug" "Build" [ ("Configuration", "Debug") ] [ "Calculator.WindowsPhone.sln" ] |> ignore
)
Target "android-build" (fun () ->
RestorePackages "Calculator.Android.sln"
MSBuild "src/Calculator.Android/bin/Debug" "Build" [ ("Configuration", "Debug") ] [ "Calculator.Android.sln" ] |> ignore
)
Target "android-package" (fun () ->
AndroidPackage (fun defaults ->
{defaults with
ProjectPath = "src/Calculator.Android/Calculator.Android.csproj"
Configuration = "Debug"
OutputPath = "src/Calculator.Android/bin/Debug"
})
|> fun file -> TeamCityHelper.PublishArtifact file.FullName
)
Target "android-uitests" (fun () ->
AndroidPackage (fun defaults ->
{defaults with
ProjectPath = "src/Calculator.Android/Calculator.Android.csproj"
Configuration = "Debug"
OutputPath = "Calculator.Android/bin/Debug"
}) |> ignore
let appPath = Directory.EnumerateFiles(Path.Combine("src/Calculator.Android", "bin", "Debug"), "*.apk", SearchOption.AllDirectories).First()
RunUITests appPath
)
Target "android-deploy" (fun () ->
let buildCounter = BuildHelpers.GetBuildCounter TeamCityHelper.TeamCityBuildNumber
let hockeyAppApiToken = ""
let appPath = Directory.EnumerateFiles(Path.Combine( "Calculator.Android", "bin", "Release"), "*.apk", SearchOption.AllDirectories).First()
HockeyAppHelper.Upload hockeyAppApiToken appPath buildCounter
)
// *** Define Dependencies ***
"core-build"
==> "core-tests"
"android-build"
==> "android-package"
==> "android-uitests"
==> "android-deploy"
// *** Start Build ***
RunTarget()