Skip to content

Instantly share code, notes, and snippets.

@ctaggart
Last active January 1, 2016 21:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ctaggart/8203569 to your computer and use it in GitHub Desktop.
Save ctaggart/8203569 to your computer and use it in GitHub Desktop.
#r "packages\FAKE.2.4.3.0\Tools\FakeLib.dll"
#load "packages\SourceLink.Tfs.0.3.0-a1312312344\Assemblies.fsx"
open System
open Fake
open SourceLink
Target "BuildNumber" (fun _ ->
if hasBuildParam "tfsBuild" then
use tb = new TfsBuild(getBuildParam "tfsUri", getBuildParam "tfsUser", getBuildParam "tfsAgent", getBuildParam "tfsBuild")
tb.Build.BuildNumber <- sprintf "SoCool %s" (DateTime.UtcNow.ToString "yyMMddHHmm")
tb.Build.Save()
)
Target "Build" (fun _ ->
!! "PrintActivity.sln"
|> MSBuildRelease "" "Rebuild"
|> ignore
)
"BuildNumber"
==> "Build"
RunTargetOrDefault "Build"
#load "packages\SourceLink.Tfs.0.3.0-a1312312344\Assemblies.fsx"
open System
open SourceLink
let tp = new TfsProject(Uri "https://ctaggart.visualstudio.com/DefaultCollection/Test")
// get all build definitions
tp.GetBuildDefinitions()
|> Array.sortWith (fun a b -> String.cmpi a.Name b.Name )
|> Seq.iter (fun bd -> printfn "%-5s %-50s %s" bd.Id bd.Name bd.Workspace.SourceDir.Value)
// get all build definitions with SourceDir set
tp.GetBuildDefinitions()
|> Array.filter (fun bd -> bd.Workspace.SourceDir.IsSome)
|> Array.sortWith (fun a b -> String.cmpi a.Name b.Name )
|> Seq.iter (fun bd -> printfn "%-5s %-50s %s" bd.Id bd.Name bd.Workspace.SourceDir.Value)
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FAKE" version="2.4.3.0" />
<package id="SourceLink" version="0.3.0-a1312312344" />
<package id="SourceLink.Tfs" version="0.3.0-a1312312344" />
</packages>
<Activity
xmlns:sourcelink="clr-namespace:SourceLink.Activities;assembly=SourceLink.Tfs"
xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow"
xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow"
xmlns:mtbac="clr-namespace:Microsoft.TeamFoundation.Build.Activities.Core;assembly=Microsoft.TeamFoundation.Build.Activities"
xmlns:mtbag="clr-namespace:Microsoft.TeamFoundation.Build.Activities.Git;assembly=Microsoft.TeamFoundation.Build.Activities"
x:Class="TfsBuild.Process">
<Sequence mtbwt:BuildTrackingParticipant.Importance="Low">
<mtbwa:AgentScope mtbwt:BuildTrackingParticipant.Importance="Low">
<mtbac:InitializeEnvironment mtbwt:BuildTrackingParticipant.Importance="Low" />
<mtbag:GitPull DisplayName="Git Pull" />
<sourcelink:Process DisplayName="NuGet Restore" FileName="C:\Program Files\Microsoft Team Foundation Server 12.0\Tools\NuGet.exe" Arguments="Restore" WorkingDirectory="C:\a\src" />
<sourcelink:Fake WorkingDirectory="C:\a\src" />
</mtbwa:AgentScope>
</Sequence>
</Activity>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment