├── .gitignore ├── Manager ├── .nuget │ ├── NuGet.Config │ ├── NuGet.exe │ └── NuGet.targets ├── Build │ ├── Build.cmd │ └── Build.proj ├── BuildBinaries │ └── Microsoft.TeamFoundation.Build.Workflow.dll ├── Common │ ├── CodeAnalysis.Dictionary.xml │ ├── CommonAssemblyInfo.cs │ ├── Key.snk │ ├── License.rtf │ └── TFSBuildExtensions.ruleset ├── Settings.StyleCop ├── TFSBuildManager.Application │ ├── App.xaml │ ├── App.xaml.cs │ ├── GlobalSuppressions.cs │ ├── Graphics │ │ ├── AppIcon.ico │ │ ├── ChangeConnection.png │ │ ├── Changeset.png │ │ ├── Failed.jpg │ │ ├── Failed.png │ │ ├── Lock.png │ │ ├── PartiallySucceeded.png │ │ ├── Stopped.png │ │ ├── Succeeded.jpg │ │ ├── TestSuite.png │ │ └── Unlock.png │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── TFSBuildManager.Application.csproj │ ├── TFSBuildManager.Application.csproj.vspscc │ ├── Templates │ │ ├── BuildTemplateContent.docx │ │ └── BuildTemplateCover.docx │ ├── app.config │ └── packages.config ├── TFSBuildManager.Console │ ├── App.config │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── TFSBuildManager.Console.csproj │ └── packages.config ├── TFSBuildManager.Controls │ ├── GlobalSuppressions.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── SortableListView.cs │ ├── TFSBuildManager.Controls.csproj │ ├── TFSBuildManager.Controls.csproj.vspscc │ └── Themes │ │ └── Generic.xaml ├── TFSBuildManager.Package │ ├── AppIcon.ico │ ├── BuildManagerToolWindow.cs │ ├── GlobalSuppressions.cs │ ├── Guids.cs │ ├── License.rtf │ ├── PkgCmdID.cs │ ├── Preview.png │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── vsix-compress.props │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Resources │ │ ├── Images_24bit.bmp │ │ ├── Images_32bit.bmp │ │ └── Package.ico │ ├── TFSBuildManager.Package.cs │ ├── TFSBuildManager.Package.csproj │ ├── TFSBuildManager.Package.csproj.vspscc │ ├── TFSBuildManager.Package.vsct │ ├── VSExtensionContext.Package.cs │ ├── VSPackage.resx │ ├── app.config │ ├── packages.config │ └── source.extension.vsixmanifest ├── TFSBuildManager.UnitTests │ ├── ExportedProcessParameterTransformerTests.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── TFSBuildManager.UnitTests.csproj │ ├── app.config │ └── packages.config ├── TFSBuildManager.Views │ ├── BuildControllerWindow.xaml │ ├── BuildControllerWindow.xaml.cs │ ├── BuildImport.cs │ ├── BuildNotesOptionWnd.xaml │ ├── BuildNotesOptionWnd.xaml.cs │ ├── BuildResourcesGrid.xaml │ ├── BuildResourcesGrid.xaml.cs │ ├── BuildsGrid.xaml │ ├── BuildsGrid.xaml.cs │ ├── Controls │ │ └── HighlightTextBlock.cs │ ├── DeleteOptionsWnd.xaml │ ├── DeleteOptionsWnd.xaml.cs │ ├── DropLocationWindow.xaml │ ├── DropLocationWindow.xaml.cs │ ├── EnumMatchToBooleanConverter.cs │ ├── Extensions.cs │ ├── GlobalSuppressions.cs │ ├── Graphics │ │ ├── AppIcon.ico │ │ ├── BuildNotes.png │ │ ├── Clone.png │ │ ├── Drop.png │ │ ├── Edit.png │ │ ├── Failed.png │ │ ├── InProgress.png │ │ ├── Menu_ChangeTemplate.png │ │ ├── Menu_Clean.png │ │ ├── Menu_Delete.png │ │ ├── Menu_Disable.png │ │ ├── Menu_Enable.png │ │ ├── Menu_Pause.png │ │ ├── NotStarted.png │ │ ├── PartiallySucceeded.ico │ │ ├── PartiallySucceeded.png │ │ ├── Postponed.png │ │ ├── Queued.png │ │ ├── SetDefault.png │ │ ├── Stopped.png │ │ ├── Succeeded.png │ │ ├── buildresources.png │ │ ├── controller.png │ │ ├── dgml.png │ │ ├── export.png │ │ ├── import.png │ │ ├── lock_16.png │ │ ├── refresh.png │ │ └── retention.png │ ├── IMainView.xaml.cs │ ├── ImportBuildDefinitions.xaml │ ├── ImportBuildDefinitions.xaml.cs │ ├── MainView.xaml │ ├── MainView.xaml.cs │ ├── ProcessParameterWindow.xaml │ ├── ProcessParameterWindow.xaml.cs │ ├── ProcessTemplatesGrid.xaml │ ├── ProcessTemplatesGrid.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── RemapWorkspaces.xaml │ ├── RemapWorkspaces.xaml.cs │ ├── RetentionPolicyWnd.xaml │ ├── RetentionPolicyWnd.xaml.cs │ ├── SelectBuildProcessTemplateWnd.xaml │ ├── SelectBuildProcessTemplateWnd.xaml.cs │ ├── SelectBuildQuality.xaml │ ├── SelectBuildQuality.xaml.cs │ ├── SelectTargetBranchWnd.xaml │ ├── SelectTargetBranchWnd.xaml.cs │ ├── SelectTeamProject.xaml │ ├── SelectTeamProject.xaml.cs │ ├── TFSBuildManager.Views.csproj │ ├── TFSBuildManager.Views.csproj.vspscc │ ├── Themes │ │ └── ResourceDictionary.xaml │ ├── TriggerWindow.xaml │ ├── TriggerWindow.xaml.cs │ ├── ViewModels │ │ ├── BuildAgentViewModel.cs │ │ ├── BuildControllerViewModel.cs │ │ ├── BuildDateFilter.cs │ │ ├── BuildDefinitionViewModel.cs │ │ ├── BuildFilterEnum.cs │ │ ├── BuildManagerViewModel.cs │ │ ├── BuildResourceViewModel.cs │ │ ├── BuildTemplateViewModel.cs │ │ ├── BuildViewEnum.cs │ │ ├── BuildViewItem.cs │ │ ├── BuildViewModel.cs │ │ ├── DateFilterCollection.cs │ │ ├── DelegateCommand.cs │ │ ├── RemapWorkspacesViewModel.cs │ │ ├── TargetBranchViewModel.cs │ │ ├── ViewModelBase.cs │ │ └── WorkspaceItemViewModel.cs │ ├── WaitCursor.cs │ ├── app.config │ └── packages.config ├── TFSBuildManager.sln ├── TFSBuildManager.vssscc ├── TfsBuildManager.Explorer │ ├── BuildNavigationLink.cs │ ├── GlobalSuppressions.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── TfsBuildManager.Explorer.csproj │ ├── TfsBuildManager.Explorer.csproj.vspscc │ └── packages.config ├── TfsBuildManager.Repository │ ├── AgentSettingsBuildParameter.cs │ ├── BuildNoteOptions.cs │ ├── BuildResourceFilter.cs │ ├── BuildRetentionPolicy.cs │ ├── DGMLGenerator.cs │ ├── ExportedAgileTestPlatformSpec.cs │ ├── ExportedBuildDefinition.cs │ ├── ExportedIBuildDefinitionSourceProvider.cs │ ├── ExportedIRetentionPolicy.cs │ ├── ExportedISchedule.cs │ ├── ExportedIWorkspaceMapping.cs │ ├── GlobalSuppressions.cs │ ├── ITfsClientRepository.cs │ ├── ITfsContext.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── TfsBuildManager.Repository.csproj │ ├── TfsBuildManager.Repository.csproj.vspscc │ ├── TfsClientRepository.cs │ ├── Transformers │ │ └── ExportedProcessParameterTransformer.cs │ ├── VersionControlTypeEnum.cs │ ├── app.config │ ├── dgml.designer.cs │ ├── dgml.xsd │ └── packages.config ├── TfsBuildManager.WordDocumentGenerator.Client │ ├── BuildNotesDocumentGenerator.cs │ ├── Entities │ │ ├── Build.cs │ │ ├── BuildConfiguration.cs │ │ ├── BuildConfigurationSolution.cs │ │ ├── BuildDetail.cs │ │ ├── Changeset.cs │ │ ├── ChangesetChangeDetail.cs │ │ ├── DocumentDetail.cs │ │ ├── Item.cs │ │ ├── TestResult.cs │ │ ├── TestResultFailedItem.cs │ │ ├── TestResultInconclusiveItem.cs │ │ ├── TestResultPassedItem.cs │ │ └── WorkItem.cs │ ├── GlobalSuppressions.cs │ ├── Graphics │ │ ├── ChangeConnection.png │ │ ├── Changeset.png │ │ ├── Failed.jpg │ │ ├── Lock.png │ │ ├── PartiallySucceeded.png │ │ ├── Stopped.png │ │ ├── Succeeded.jpg │ │ ├── TestSuite.png │ │ └── Unlock.png │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── CodeAnalysis.Dictionary.xml │ │ └── Key.snk │ ├── Templates │ │ ├── BuildTemplateContent.docx │ │ └── BuildTemplateCover.docx │ ├── WordDocumentGenerator.Client.csproj │ ├── WordDocumentGenerator.Client.csproj.vspscc │ └── packages.config ├── TfsBuildManager.WordDocumentGenerator.Library │ ├── ContentControlXmlMetadata.cs │ ├── CustomXmlPartCore.cs │ ├── CustomXmlPartHelper.cs │ ├── DocumentGenerationInfo.cs │ ├── DocumentGenerator.cs │ ├── DocumentMetadata.cs │ ├── NodeType.cs │ ├── OpenXmlElementDataContext.cs │ ├── OpenXmlHelper.cs │ ├── PlaceholderType.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── CodeAnalysis.Dictionary.xml │ │ └── Key.snk │ ├── WordDocumentGenerator.Library.csproj │ ├── WordDocumentGenerator.Library.csproj.vspscc │ └── packages.config └── VSSDK │ └── Microsoft.VsSDK.Build.Tasks.dll └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) 2 | [Bb]in/ 3 | [Oo]bj/ 4 | 5 | # mstest test results 6 | TestResults 7 | 8 | ## Ignore Visual Studio temporary files, build results, and 9 | ## files generated by popular Visual Studio add-ons. 10 | 11 | # User-specific files 12 | *.suo 13 | *.user 14 | *.sln.docstates 15 | 16 | # Build results 17 | [Dd]ebug/ 18 | [Rr]elease/ 19 | x64/ 20 | *_i.c 21 | *_p.c 22 | *.ilk 23 | *.meta 24 | *.obj 25 | *.pch 26 | *.pdb 27 | *.pgc 28 | *.pgd 29 | *.rsp 30 | *.sbr 31 | *.tlb 32 | *.tli 33 | *.tlh 34 | *.tmp 35 | *.log 36 | *.vspscc 37 | *.vssscc 38 | .builds 39 | 40 | # Visual C++ cache files 41 | ipch/ 42 | *.aps 43 | *.ncb 44 | *.opensdf 45 | *.sdf 46 | 47 | # Visual Studio profiler 48 | *.psess 49 | *.vsp 50 | *.vspx 51 | 52 | # Guidance Automation Toolkit 53 | *.gpState 54 | 55 | # ReSharper is a .NET coding add-in 56 | _ReSharper* 57 | .DotSettings 58 | 59 | # NCrunch 60 | *.ncrunch* 61 | .*crunch*.local.xml 62 | 63 | # Installshield output folder 64 | [Ee]xpress 65 | 66 | # DocProject is a documentation generator add-in 67 | DocProject/buildhelp/ 68 | DocProject/Help/*.HxT 69 | DocProject/Help/*.HxC 70 | DocProject/Help/*.hhc 71 | DocProject/Help/*.hhk 72 | DocProject/Help/*.hhp 73 | DocProject/Help/Html2 74 | DocProject/Help/html 75 | 76 | # Click-Once directory 77 | publish 78 | 79 | # Publish Web Output 80 | *.Publish.xml 81 | 82 | # NuGet Packages Directory 83 | packages/ 84 | Nuget.exe 85 | 86 | # References folders 87 | AssemblyReferences/ 88 | ExternalReferences/ 89 | 90 | # Windows Azure Build Output 91 | csx 92 | *.build.csdef 93 | 94 | # Windows Store app package directory 95 | AppPackages/ 96 | 97 | # Others 98 | [Bb]in 99 | [Oo]bj 100 | sql 101 | TestResults 102 | [Tt]est[Rr]esult* 103 | *.Cache 104 | ClientBin 105 | [Ss]tyle[Cc]op.* 106 | ~$* 107 | *.dbmdl 108 | Generated_Code #added for RIA/Silverlight projects 109 | *.ide 110 | # Backup & report files from converting an old project file to a newer 111 | # Visual Studio version. Backup files are not needed, because we have git ;-) 112 | _UpgradeReport_Files/ 113 | Backup*/ 114 | UpgradeLog*.XML 115 | /Manager/BuildBinaries 116 | -------------------------------------------------------------------------------- /Manager/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Manager/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/.nuget/NuGet.exe -------------------------------------------------------------------------------- /Manager/Build/Build.cmd: -------------------------------------------------------------------------------- 1 | msbuild.exe build.proj /t:package 2 | 3 | PAUSE 4 | -------------------------------------------------------------------------------- /Manager/BuildBinaries/Microsoft.TeamFoundation.Build.Workflow.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/BuildBinaries/Microsoft.TeamFoundation.Build.Workflow.dll -------------------------------------------------------------------------------- /Manager/Common/CodeAnalysis.Dictionary.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Changeset 6 | Changesets 7 | Tfs 8 | TFS 9 | 10 | 11 | StyleCop 12 | SourceFiles 13 | 14 | 15 | Stylecop 16 | Sourcefiles 17 | 18 | 21 | 22 | 23 | 24 | AWS 25 | SSH 26 | 27 | 28 | -------------------------------------------------------------------------------- /Manager/Common/CommonAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System.Reflection; 5 | using System.Resources; 6 | using System.Runtime.InteropServices; 7 | 8 | [assembly: AssemblyVersion("2.12.0.23")] 9 | [assembly: AssemblyFileVersion("2.12.0.23")] 10 | [assembly: AssemblyInformationalVersion("2.12.0.23")] 11 | [assembly: AssemblyCompany("Community TFS Build Manager https://github.com/tfsbuildextensions/BuildManager")] 12 | [assembly: AssemblyCopyright("Copyright © Community TFS Build Manager https://github.com/tfsbuildextensions/BuildManager")] 13 | [assembly: AssemblyTrademark("Community TFS Build Manager https://github.com/tfsbuildextensions/BuildManager")] 14 | [assembly: NeutralResourcesLanguage("en-US")] 15 | [assembly: AssemblyCulture("")] 16 | [assembly: AssemblyProduct("Community TFS Build Manager")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Manager/Common/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/Common/Key.snk -------------------------------------------------------------------------------- /Manager/Settings.StyleCop: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | False 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | False 15 | 16 | 17 | 18 | 19 | False 20 | 21 | 22 | 23 | 24 | False 25 | 26 | 27 | 28 | 29 | False 30 | 31 | 32 | 33 | 34 | False 35 | 36 | 37 | 38 | 39 | False 40 | 41 | 42 | 43 | 44 | False 45 | 46 | 47 | 48 | 49 | False 50 | 51 | 52 | 53 | 54 | False 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | False 65 | 66 | 67 | 68 | 69 | False 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | False 80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/App.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Application 5 | { 6 | using System; 7 | using System.Diagnostics; 8 | using System.Windows; 9 | using Microsoft.TeamFoundation.Build.Client; 10 | using Microsoft.TeamFoundation.Client; 11 | using Microsoft.TeamFoundation.Server; 12 | using TfsBuildManager.Repository; 13 | 14 | /// 15 | /// Interaction logic for App 16 | /// 17 | public partial class App 18 | { 19 | private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) 20 | { 21 | // Handling the exception within the UnhandledExcpeiton handler. 22 | MessageBox.Show(e.Exception.ToString(), "Community TFS Build Manager", MessageBoxButton.OK, MessageBoxImage.Error); 23 | e.Handled = true; 24 | } 25 | } 26 | 27 | public class AppTfsContext : ITfsContext 28 | { 29 | private readonly TfsTeamProjectCollection collection; 30 | private readonly ProjectInfo selectedProject; 31 | 32 | public AppTfsContext(TfsTeamProjectCollection collection, ProjectInfo selectedProject) 33 | { 34 | this.collection = collection; 35 | this.selectedProject = selectedProject; 36 | } 37 | 38 | public event EventHandler ProjectChanged = delegate { }; 39 | 40 | public string SelectedProject 41 | { 42 | get { return this.selectedProject.Name; } 43 | } 44 | 45 | public string ActiveConnection 46 | { 47 | get { return this.collection.Uri.ToString(); } 48 | } 49 | 50 | public void ShowBuild(Uri buildUri) 51 | { 52 | var buildUrl = string.Format("{0}?url={1}", buildUri, this.collection.Uri); 53 | Process.Start(buildUrl); 54 | } 55 | 56 | public void EditBuildDefinition(Uri buildDefinition) 57 | { 58 | ShowNotSupportedMessage(); 59 | } 60 | 61 | public void ShowControllerManager() 62 | { 63 | ShowNotSupportedMessage(); 64 | } 65 | 66 | public void RemapWorkspaces(IBuildDefinition buildDefinition) 67 | { 68 | ShowNotSupportedMessage(); 69 | } 70 | 71 | private static void ShowNotSupportedMessage() 72 | { 73 | MessageBox.Show("This feature is not supported when running the stand alone application.", "Visual Studio Extension Required", MessageBoxButton.OK, MessageBoxImage.Information); 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | // 5 | 6 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS")] 7 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/AppIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/AppIcon.ico -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/ChangeConnection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/ChangeConnection.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Changeset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Changeset.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Failed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Failed.jpg -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Failed.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Lock.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/PartiallySucceeded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/PartiallySucceeded.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Stopped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Stopped.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Succeeded.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Succeeded.jpg -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/TestSuite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/TestSuite.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Graphics/Unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Graphics/Unlock.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Application 5 | { 6 | using System; 7 | using System.Linq; 8 | using System.Windows; 9 | using Microsoft.TeamFoundation.Client; 10 | using TfsBuildManager.Repository; 11 | 12 | /// 13 | /// Interaction logic for MainWindow 14 | /// 15 | public partial class MainWindow 16 | { 17 | public MainWindow() 18 | { 19 | this.InitializeComponent(); 20 | } 21 | 22 | private static void DisplayError(Exception ex) 23 | { 24 | MessageBox.Show(ex.ToString(), "Community TFS Build Manager", MessageBoxButton.OK, MessageBoxImage.Error); 25 | } 26 | 27 | private void OnClosed(object sender, EventArgs e) 28 | { 29 | this.Close(); 30 | } 31 | 32 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "Disposable object passed")] 33 | private void OnLoaded(object sender, RoutedEventArgs e) 34 | { 35 | try 36 | { 37 | using (TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, false)) 38 | { 39 | System.Windows.Forms.DialogResult result = tpp.ShowDialog(); 40 | if (result == System.Windows.Forms.DialogResult.OK) 41 | { 42 | var context = new AppTfsContext(tpp.SelectedTeamProjectCollection, tpp.SelectedProjects.First()); 43 | this.MainView.InitializeContext(context); 44 | this.MainView.InitializeRepository(new TfsClientRepository(tpp.SelectedTeamProjectCollection)); 45 | } 46 | } 47 | } 48 | catch (Exception ex) 49 | { 50 | MainWindow.DisplayError(ex); 51 | } 52 | } 53 | 54 | private void OnChangeConnection(object sender, RoutedEventArgs e) 55 | { 56 | this.OnLoaded(sender, e); 57 | this.MainView.Reload(); 58 | } 59 | 60 | private void OnExit(object sender, RoutedEventArgs e) 61 | { 62 | System.Windows.Application.Current.Shutdown(0); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System; 5 | using System.Reflection; 6 | using System.Windows; 7 | 8 | [assembly: AssemblyTitle("TFSBuildManager.Application")] 9 | [assembly: CLSCompliant(true)] 10 | 11 | [assembly: ThemeInfo( 12 | ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located (used if a resource is not found in the page, or application resource dictionaries) 13 | ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located (used if a resource is not found in the page, app, or any theme specific resource dictionaries) 14 | )] -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.32559 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace TfsBuildManager.Application.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TfsBuildManager.Application.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.32559 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace TfsBuildManager.Application.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/TFSBuildManager.Application.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Templates/BuildTemplateContent.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Templates/BuildTemplateContent.docx -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/Templates/BuildTemplateCover.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Application/Templates/BuildTemplateCover.docx -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Application/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Console/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Console/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System.Reflection; 5 | 6 | [assembly: AssemblyTitle("TFSBuildManager.Console")] 7 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Console/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | // 5 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "TFSBuildManager.Controls")] 6 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS", Scope = "namespace", Target = "TFSBuildManager.Controls")] 7 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS")] 8 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "XamlGeneratedNamespace")] 9 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline", Scope = "member", Target = "TFSBuildManager.Controls.SortableListView.#.cctor()")] 10 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline", Scope = "member", Target = "TfsBuildManager.Controls.SortableListView.#.cctor()")] 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System; 5 | using System.Reflection; 6 | using System.Windows; 7 | 8 | [assembly: AssemblyTitle("TFSBuildManager.Controls")] 9 | [assembly: CLSCompliant(true)] 10 | 11 | [assembly: ThemeInfo( 12 | ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located (used if a resource is not found in the page, or application resource dictionaries) 13 | ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located (used if a resource is not found in the page, app, or any theme specific resource dictionaries) 14 | )] -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.32559 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace TfsBuildManager.Controls.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TfsBuildManager.Controls.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.32559 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace TfsBuildManager.Controls.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/TFSBuildManager.Controls.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Controls/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 18 | 19 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/AppIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Package/AppIcon.ico -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | // 5 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1017:MarkAssembliesWithComVisible")] 6 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS", Scope = "type", Target = "TFSBuildManager.TFSBuildManagerPackage")] 7 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS", Scope = "member", Target = "TFSBuildManager.GuidList.#GuidTFSBuildManagerPackagePkgString")] 8 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS", Scope = "member", Target = "TFSBuildManager.GuidList.#GuidTFSBuildManagerPackageCmdSetString")] 9 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS", Scope = "member", Target = "TFSBuildManager.GuidList.#GuidTFSBuildManagerPackageCmdSet")] 10 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "TFS")] 11 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Pkg", Scope = "member", Target = "TFSBuildManager.GuidList.#GuidTFSBuildManagerPackagePkgString")] 12 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Persistance", Scope = "member", Target = "TFSBuildManager.GuidList.#GuidToolWindowPersistanceString")] 13 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1014:MarkAssembliesWithClsCompliant")] 14 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "TFSBuildManager.TFSBuildManagerPackage.#ShowToolWindow(System.Object,System.EventArgs)")] 15 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors", Scope = "member", Target = "TFSBuildManager.BuildManagerToolWindow.#.ctor()")] 16 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Scope = "member", Target = "TFSBuildManager.BuildManagerToolWindow.#ChangeConnection()")] 17 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1300:SpecifyMessageBoxOptions", Scope = "member", Target = "TFSBuildManager.TFSBuildManagerPackage.#ShowErrorMessage(System.Exception)")] 18 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Scope = "member", Target = "TfsBuildManager.BuildManagerToolWindow.#ChangeConnection()")] 19 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors", Scope = "member", Target = "TfsBuildManager.BuildManagerToolWindow.#.ctor()")] 20 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Guids.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager 5 | { 6 | using System; 7 | 8 | public static class GuidList 9 | { 10 | public const string GuidTfsBuildManagerPackageString = "6fadf005-94b3-46d1-b509-fd8ba6d1ec00"; 11 | 12 | public const string GuidTfsBuildManagerPackageCmdSetString = "b3516385-098d-4066-89e5-439bea58700d"; 13 | 14 | public const string GuidToolWindowPersistenceString = "9f6c976b-ea0b-4d40-b942-dd4a2785aa50"; 15 | 16 | public static readonly Guid GuidTfsBuildManagerPackageCmdSet = new Guid(GuidTfsBuildManagerPackageCmdSetString); 17 | } 18 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/PkgCmdID.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager 5 | { 6 | internal static class PkgCmdIDList 7 | { 8 | public const uint CmdidTestCommand = 0x100; 9 | 10 | public const uint CmdidTestTool = 0x101; 11 | } 12 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Package/Preview.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System; 5 | using System.Reflection; 6 | using System.Windows; 7 | 8 | [assembly: AssemblyTitle("TFSBuildManager.Package")] 9 | 10 | [assembly: ThemeInfo( 11 | ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located (used if a resource is not found in the page, or application resource dictionaries) 12 | ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located (used if a resource is not found in the page, app, or any theme specific resource dictionaries) 13 | )] -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Properties/vsix-compress.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 9 | 10 | 11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Resources/Images_24bit.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Package/Resources/Images_24bit.bmp -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Resources/Images_32bit.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Package/Resources/Images_32bit.bmp -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/Resources/Package.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Package/Resources/Package.ico -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/TFSBuildManager.Package.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/TFSBuildManager.Package.vsct: -------------------------------------------------------------------------------- 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 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/VSExtensionContext.Package.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager 5 | { 6 | using System; 7 | using Microsoft.TeamFoundation.Build.Client; 8 | using Microsoft.VisualStudio.TeamFoundation; 9 | using Microsoft.VisualStudio.TeamFoundation.Build; 10 | using TfsBuildManager.Repository; 11 | using TfsBuildManager.Views; 12 | using TfsBuildManager.Views.ViewModels; 13 | 14 | public class VSExtensionContext : ITfsContext 15 | { 16 | private readonly TeamFoundationServerExt ext; 17 | private readonly IVsTeamFoundationBuild buildExt; 18 | private string currentConnectionUri; 19 | 20 | public VSExtensionContext(TeamFoundationServerExt ext, IVsTeamFoundationBuild buildExt) 21 | { 22 | this.ext = ext; 23 | this.buildExt = buildExt; 24 | if (ext != null) 25 | { 26 | this.currentConnectionUri = ext.ActiveProjectContext.DomainUri; 27 | ext.ProjectContextChanged += this.OnSelectedProjectChanged; 28 | } 29 | } 30 | 31 | public event EventHandler ProjectChanged; 32 | 33 | public string SelectedProject 34 | { 35 | get { return this.ext.ActiveProjectContext.ProjectName; } 36 | } 37 | 38 | public string ActiveConnection 39 | { 40 | get { return this.ext.ActiveProjectContext.DomainUri; } 41 | } 42 | 43 | public void OnSelectedProjectChanged(object sender, EventArgs e) 44 | { 45 | if (this.ProjectChanged != null && this.ext.ActiveProjectContext.DomainUri != this.currentConnectionUri) 46 | { 47 | this.currentConnectionUri = this.ext.ActiveProjectContext.DomainUri; 48 | this.ProjectChanged(this, new EventArgs()); 49 | } 50 | } 51 | 52 | public void ShowBuild(Uri buildUri) 53 | { 54 | this.buildExt.DetailsManager.OpenBuild(buildUri); 55 | } 56 | 57 | public void DisabledQueuedDefinition(Uri buildUri) 58 | { 59 | this.buildExt.DetailsManager.OpenBuild(buildUri); 60 | } 61 | 62 | public void PauseQueuedDefinition(Uri buildUri) 63 | { 64 | this.buildExt.DetailsManager.OpenBuild(buildUri); 65 | } 66 | 67 | public void EditBuildDefinition(Uri buildDefinition) 68 | { 69 | this.buildExt.DefinitionManager.OpenDefinition(buildDefinition); 70 | } 71 | 72 | public void ShowControllerManager() 73 | { 74 | this.buildExt.ControllerManager.Show(); 75 | } 76 | 77 | public void RemapWorkspaces(IBuildDefinition buildDefinition) 78 | { 79 | var viewModel = new RemapWorkspacesViewModel(buildDefinition); 80 | var remapWorkSpacesWindow = new RemapWorkspaces(viewModel); 81 | remapWorkSpacesWindow.ShowDialog(); 82 | } 83 | } 84 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Package/source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Community TFS Build Manager VS2013 6 | Community TFS Build Manager VS2013. Sourcecode is available in GitHub - https://github.com/tfsbuildextensions/BuildManager 7 | http://visualstudiogallery.msdn.microsoft.com/73bf2d8e-aec6-406c-8e7f-1c678e46557f 8 | License.rtf 9 | AppIcon.ico 10 | Preview.png 11 | TFS 2013, Build 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.UnitTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System.Reflection; 5 | using System.Runtime.CompilerServices; 6 | using System.Runtime.InteropServices; 7 | 8 | // General Information about an assembly is controlled through the following 9 | // set of attributes. Change these attribute values to modify the information 10 | // associated with an assembly. 11 | [assembly: AssemblyTitle("TFSBuildManager.UnitTests")] 12 | [assembly: AssemblyDescription("")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("")] 15 | [assembly: AssemblyProduct("TFSBuildManager.UnitTests")] 16 | [assembly: AssemblyCopyright("Copyright © 2015")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // Setting ComVisible to false makes the types in this assembly not visible 21 | // to COM components. If you need to access a type in this assembly from 22 | // COM, set the ComVisible attribute to true on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // The following GUID is for the ID of the typelib if this project is exposed to COM 26 | [assembly: Guid("eacc21e1-c416-4ef3-9e00-a486ff4256dd")] 27 | 28 | // Version information for an assembly consists of the following four values: 29 | // 30 | // Major Version 31 | // Minor Version 32 | // Build Number 33 | // Revision 34 | // 35 | // You can specify all the values or you can default the Build and Revision Numbers 36 | // by using the '*' as shown below: 37 | // [assembly: AssemblyVersion("1.0.*")] 38 | [assembly: AssemblyVersion("1.0.0.0")] 39 | [assembly: AssemblyFileVersion("1.0.0.0")] 40 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.UnitTests/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.UnitTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildControllerWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 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 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildControllerWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Windows; 7 | using TfsBuildManager.Views.ViewModels; 8 | 9 | /// 10 | /// Interaction logic for BuildControllerWindow 11 | /// 12 | public partial class BuildControllerWindow 13 | { 14 | private readonly BuildControllerListViewModel model; 15 | 16 | public BuildControllerWindow(BuildControllerListViewModel model) 17 | { 18 | this.model = model; 19 | this.InitializeComponent(); 20 | 21 | this.Grid1.DataContext = this.model; 22 | } 23 | 24 | public BuildControllerViewModel SelectedBuildController { get; set; } 25 | 26 | private void OnOK(object sender, RoutedEventArgs e) 27 | { 28 | if (this.BuildControllerList.SelectedItem != null) 29 | { 30 | this.SelectedBuildController = this.BuildControllerList.SelectedItem as BuildControllerViewModel; 31 | this.DialogResult = true; 32 | this.Close(); 33 | } 34 | } 35 | 36 | private void OnCancel(object sender, RoutedEventArgs e) 37 | { 38 | this.DialogResult = false; 39 | this.Close(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildImport.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | public class BuildImport 7 | { 8 | public string JsonFile { get; set; } 9 | 10 | public string Status { get; set; } 11 | 12 | public string StatusImage { get; set; } 13 | 14 | public string Message { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildNotesOptionWnd.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | Build Configuration Summary 30 | 31 | 32 | Work Items 33 | 34 | 35 | Changesets 36 | 37 | 38 | Test Results 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildNotesOptionWnd.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Collections.Generic; 7 | using System.Windows; 8 | using System.Windows.Controls.Primitives; 9 | using TfsBuildManager.Repository; 10 | 11 | /// 12 | /// Interaction logic for BuildNotesOptionWnd 13 | /// 14 | public partial class BuildNotesOptionWnd 15 | { 16 | public BuildNotesOptionWnd() 17 | { 18 | this.InitializeComponent(); 19 | } 20 | 21 | public IEnumerable Option { get; set; } 22 | 23 | private static void SetOption(ToggleButton cb, ref List currentOption, string option) 24 | { 25 | if (cb.IsChecked.HasValue && cb.IsChecked.Value) 26 | { 27 | currentOption.Add(option); 28 | } 29 | } 30 | 31 | private void OnGenerate(object sender, RoutedEventArgs e) 32 | { 33 | var options = new List(); 34 | SetOption(this.cbWorkItems, ref options, BuildNoteOptions.WorkItemDetails.ToString()); 35 | SetOption(this.cbTestResults, ref options, BuildNoteOptions.TestResults.ToString()); 36 | SetOption(this.cbChangesets, ref options, BuildNoteOptions.ChangesetDetails.ToString()); 37 | SetOption(this.cbBuildConfiguration, ref options, BuildNoteOptions.BuildConfigurationSummary.ToString()); 38 | 39 | this.Option = options; 40 | DialogResult = true; 41 | Close(); 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildResourcesGrid.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | /// 7 | /// Interaction logic for BuildResourcesGrid 8 | /// 9 | public partial class BuildResourcesGrid 10 | { 11 | public BuildResourcesGrid() 12 | { 13 | this.InitializeComponent(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/BuildsGrid.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | /// 7 | /// Interaction logic for BuildsGrid 8 | /// 9 | public partial class BuildsGrid 10 | { 11 | public BuildsGrid() 12 | { 13 | this.InitializeComponent(); 14 | } 15 | 16 | private void OnMouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) 17 | { 18 | var vm = this.DataContext as BuildManagerViewModel; 19 | if (vm.SelectedBuildFilter == BuildFilter.Completed) 20 | { 21 | vm.OnShowDetails(); 22 | } 23 | else if (vm.SelectedBuildFilter == BuildFilter.Queued) 24 | { 25 | vm.OnShowQueuedDetails(); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/DeleteOptionsWnd.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | Details 29 | 30 | Drop 31 | 32 | Test Results 33 | 34 | Label 35 | 36 | Symbols 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/DeleteOptionsWnd.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using Microsoft.TeamFoundation.Build.Client; 9 | 10 | /// 11 | /// Interaction logic for DeleteOptionsWnd 12 | /// 13 | public partial class DeleteOptionsWindow 14 | { 15 | public DeleteOptionsWindow() 16 | { 17 | this.InitializeComponent(); 18 | } 19 | 20 | public DeleteOptions Option { get; private set; } 21 | 22 | private static void SetOption(CheckBox cb, ref DeleteOptions currentOption, DeleteOptions option) 23 | { 24 | if (cb.IsChecked != null && cb.IsChecked.Value) 25 | { 26 | currentOption |= option; 27 | } 28 | } 29 | 30 | private void OnDelete(object sender, RoutedEventArgs e) 31 | { 32 | DeleteOptions options = new DeleteOptions(); 33 | SetOption(this.cbDetails, ref options, DeleteOptions.Details); 34 | SetOption(this.cbDrop, ref options, DeleteOptions.DropLocation); 35 | SetOption(this.cbTestResults, ref options, DeleteOptions.TestResults); 36 | SetOption(this.cbLabel, ref options, DeleteOptions.Label); 37 | SetOption(this.cbSymbols, ref options, DeleteOptions.Symbols); 38 | 39 | this.Option = options; 40 | this.DialogResult = true; 41 | this.Close(); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/DropLocationWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Collections.Generic; 7 | using System.Windows; 8 | using TfsBuildManager.Views.ViewModels; 9 | 10 | /// 11 | /// Interaction logic for DropLocationWindow 12 | /// 13 | public partial class DropLocationWindow 14 | { 15 | private readonly DropLocationViewModel model; 16 | 17 | public DropLocationWindow(DropLocationViewModel model) 18 | { 19 | this.model = model; 20 | this.InitializeComponent(); 21 | this.DataContext = this.model; 22 | } 23 | 24 | private void OnOK(object sender, RoutedEventArgs e) 25 | { 26 | this.DialogResult = true; 27 | this.Close(); 28 | } 29 | 30 | private void OnCancel(object sender, RoutedEventArgs e) 31 | { 32 | this.DialogResult = false; 33 | this.Close(); 34 | } 35 | 36 | private void lstMacros_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) 37 | { 38 | string s = ((KeyValuePair)lstMacros.SelectedItem).Key; 39 | IDataObject old = Clipboard.GetDataObject(); 40 | Clipboard.SetText(s); 41 | txtSetDropLocation.BeginChange(); 42 | txtSetDropLocation.Paste(); 43 | txtSetDropLocation.EndChange(); 44 | if (old != null) 45 | { 46 | Clipboard.SetDataObject(old); 47 | txtSetDropLocation.GetBindingExpression(System.Windows.Controls.TextBox.TextProperty).UpdateSource(); 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Extensions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Collections.ObjectModel; 9 | using System.Linq; 10 | 11 | internal static class Extensions 12 | { 13 | public static void Sort(this ObservableCollection collection) where T : IComparable 14 | { 15 | // Order by and put into a list. 16 | List sorted = collection.OrderBy(x => x).ToList(); 17 | 18 | // Loop the list and exchange items in the collection. 19 | for (int i = sorted.Count() - 1; i >= 0; i--) 20 | { 21 | collection.Insert(0, sorted[i]); 22 | collection.RemoveAt(collection.Count - 1); 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/AppIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/AppIcon.ico -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/BuildNotes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/BuildNotes.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Clone.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Drop.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Edit.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Failed.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/InProgress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/InProgress.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Menu_ChangeTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Menu_ChangeTemplate.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Menu_Clean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Menu_Clean.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Menu_Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Menu_Delete.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Menu_Disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Menu_Disable.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Menu_Enable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Menu_Enable.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Menu_Pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Menu_Pause.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/NotStarted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/NotStarted.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/PartiallySucceeded.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/PartiallySucceeded.ico -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/PartiallySucceeded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/PartiallySucceeded.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Postponed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Postponed.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Queued.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Queued.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/SetDefault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/SetDefault.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Stopped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Stopped.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/Succeeded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/Succeeded.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/buildresources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/buildresources.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/controller.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/dgml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/dgml.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/export.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/import.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/lock_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/lock_16.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/refresh.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/Graphics/retention.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TFSBuildManager.Views/Graphics/retention.png -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/IMainView.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System; 7 | using System.Collections.Generic; 8 | 9 | using TfsBuildManager.Views.ViewModels; 10 | 11 | public interface IMainView 12 | { 13 | IEnumerable SelectedItems { get; } 14 | 15 | IEnumerable SelectedBuilds { get; } 16 | 17 | IEnumerable SelectedActiveBuilds { get; } 18 | 19 | IEnumerable SelectedBuildProcessTemplates { get; } 20 | 21 | IEnumerable SelectedBuildResources { get; } 22 | 23 | string SelectedTeamProject { get; } 24 | 25 | void DisplayError(Exception ex); 26 | } 27 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ImportBuildDefinitions.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/SelectBuildQuality.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Windows; 7 | 8 | using TfsBuildManager.Views.ViewModels; 9 | 10 | /// 11 | /// Interaction logic for SelectTeamProject 12 | /// 13 | public partial class SelectBuildQuality 14 | { 15 | private readonly BuildQualityListViewModel model; 16 | 17 | public SelectBuildQuality(BuildQualityListViewModel model) 18 | { 19 | this.model = model; 20 | this.InitializeComponent(); 21 | 22 | this.Grid1.DataContext = this.model; 23 | } 24 | 25 | public BuildQualityViewModel SelectedBuildQuality { get; set; } 26 | 27 | private void OnOK(object sender, RoutedEventArgs e) 28 | { 29 | this.SetBuildQuality(); 30 | } 31 | 32 | private void SetBuildQuality() 33 | { 34 | if (this.BuildQualityList.SelectedItem != null) 35 | { 36 | this.SelectedBuildQuality = this.BuildQualityList.SelectedItem as BuildQualityViewModel; 37 | this.DialogResult = true; 38 | this.Close(); 39 | } 40 | } 41 | 42 | private void OnCancel(object sender, RoutedEventArgs e) 43 | { 44 | this.DialogResult = false; 45 | this.Close(); 46 | } 47 | 48 | private void OnDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) 49 | { 50 | this.SetBuildQuality(); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/SelectTargetBranchWnd.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/SelectTargetBranchWnd.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Collections.Generic; 7 | using System.Windows; 8 | using TfsBuildManager.Repository; 9 | using TfsBuildManager.Views.ViewModels; 10 | 11 | /// 12 | /// Interaction logic for SelectTargetBranchWnd 13 | /// 14 | public partial class SelectTargetBranchWindow 15 | { 16 | private readonly string teamProject; 17 | private readonly ITfsClientRepository tfs; 18 | private readonly TargetBranchViewModel viewmodel; 19 | 20 | public SelectTargetBranchWindow(string originalName, IEnumerable targets, string teamProject, ITfsClientRepository tfs) 21 | { 22 | this.teamProject = teamProject; 23 | this.tfs = tfs; 24 | this.InitializeComponent(); 25 | 26 | this.viewmodel = new TargetBranchViewModel(originalName, targets); 27 | this.DataContext = this.viewmodel; 28 | } 29 | 30 | public Branch SelectedTargetBranch 31 | { 32 | get 33 | { 34 | return this.viewmodel.SelectedBranch.Branch; 35 | } 36 | } 37 | 38 | public string NewBuildDefinitionName 39 | { 40 | get 41 | { 42 | return this.viewmodel.NewName; 43 | } 44 | } 45 | 46 | private void OnOK(object sender, RoutedEventArgs e) 47 | { 48 | if (this.tfs.GetBuildDefinition(this.teamProject, this.NewBuildDefinitionName) != null) 49 | { 50 | MessageBox.Show(this, "Build definition " + this.NewBuildDefinitionName + " already exists", "Clone to branch", MessageBoxButton.OK, MessageBoxImage.Stop); 51 | return; 52 | } 53 | 54 | this.DialogResult = true; 55 | this.Close(); 56 | } 57 | 58 | private void OnCancel(object sender, RoutedEventArgs e) 59 | { 60 | this.DialogResult = false; 61 | this.Close(); 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/SelectTeamProject.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 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 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/SelectTeamProject.xaml.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Windows; 9 | 10 | using TfsBuildManager.Views.ViewModels; 11 | 12 | /// 13 | /// Interaction logic for SelectTeamProject 14 | /// 15 | public partial class SelectTeamProject 16 | { 17 | private readonly TeamProjectListViewModel model; 18 | 19 | public SelectTeamProject(TeamProjectListViewModel model, string selectedTeamProject) 20 | { 21 | this.model = model; 22 | this.InitializeComponent(); 23 | 24 | this.Grid1.DataContext = this.model; 25 | if (selectedTeamProject != null) 26 | { 27 | var project = model.TeamProjects.FirstOrDefault(tp => tp.Name == selectedTeamProject); 28 | if (project != null) 29 | { 30 | this.BuildControllerList.SelectedValue = project; 31 | } 32 | } 33 | } 34 | 35 | public IEnumerable SelectedTeamProjects { get; set; } 36 | 37 | public bool SetAsDefault { get; set; } 38 | 39 | private void OnOK(object sender, RoutedEventArgs e) 40 | { 41 | if (this.BuildControllerList.SelectedItems != null && this.BuildControllerList.SelectedItems.Count > 0) 42 | { 43 | var selectedProjects = (from object p in this.BuildControllerList.SelectedItems select p as TeamProjectViewModel).ToList(); 44 | this.SelectedTeamProjects = selectedProjects; 45 | this.SetAsDefault = this.cbSetAsDefault.IsChecked.HasValue && this.cbSetAsDefault.IsChecked.Value; 46 | this.DialogResult = true; 47 | this.Close(); 48 | } 49 | } 50 | 51 | private void OnCancel(object sender, RoutedEventArgs e) 52 | { 53 | this.DialogResult = false; 54 | this.Close(); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/TFSBuildManager.Views.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/BuildDateFilter.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | 5 | namespace TfsBuildManager.Views 6 | { 7 | using System; 8 | 9 | public class BuildDateFilter 10 | { 11 | public string Name { get; set; } 12 | 13 | public DateFilter Value { get; set; } 14 | 15 | public DateTime TimeSpan 16 | { 17 | get 18 | { 19 | switch (this.Value) 20 | { 21 | case DateFilter.Today: 22 | return DateTime.Now.Date; 23 | case DateFilter.OneDay: 24 | return DateTime.Now.Date.AddDays(-1).Date; 25 | case DateFilter.TwoDays: 26 | return DateTime.Now.Date.AddDays(-2).Date; 27 | case DateFilter.OneWeek: 28 | return DateTime.Now.Date.AddDays(-7).Date; 29 | case DateFilter.TwoWeeks: 30 | return DateTime.Now.Date.AddDays(-14).Date; 31 | case DateFilter.FourWeeks: 32 | return DateTime.Now.Date.AddDays(-28).Date; 33 | case DateFilter.Anytime: 34 | return DateTime.MinValue; 35 | default: 36 | return DateTime.Now.Date; 37 | } 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/BuildFilterEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | public enum BuildFilter 7 | { 8 | /// 9 | /// None 10 | /// 11 | None = 0, 12 | 13 | /// 14 | /// Latest 15 | /// 16 | Completed = 1, 17 | 18 | /// 19 | /// Queued 20 | /// 21 | Queued = 2 22 | } 23 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/BuildResourceViewModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using TfsBuildManager.Repository; 10 | 11 | public abstract class BuildResourceViewModel : ViewModelBase 12 | { 13 | public string Name { get; set; } 14 | 15 | public int Id { get; set; } 16 | 17 | public string Status { get; set; } 18 | 19 | public bool Enabled { get; set; } 20 | 21 | public string IsReserved { get; set; } 22 | 23 | public DateTime DateCreated { get; set; } 24 | 25 | public DateTime DateUpdated { get; set; } 26 | 27 | public string QueueCount { get; set; } 28 | 29 | public string MaxConcurrentBuilds { get; set; } 30 | 31 | public string CustomAssemblyPath { get; set; } 32 | 33 | public string EnabledText 34 | { 35 | get { return this.Enabled ? "Enabled" : "Disabled"; } 36 | } 37 | 38 | public string StatusMessage { get; set; } 39 | 40 | public IEnumerable Tags { get; set; } 41 | 42 | public string TagsAsList 43 | { 44 | get 45 | { 46 | if (this.Tags != null) 47 | { 48 | string tags = this.Tags.Aggregate(string.Empty, (current, tag) => current + tag + ","); 49 | return tags.TrimEnd(','); 50 | } 51 | 52 | return string.Empty; 53 | } 54 | } 55 | 56 | public string BuildDirectory { get; set; } 57 | 58 | public abstract void OnRemove(ITfsClientRepository repository); 59 | 60 | public abstract void OnEnable(ITfsClientRepository repository); 61 | 62 | public abstract void OnDisable(ITfsClientRepository repository); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/BuildTemplateViewModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views.ViewModels 5 | { 6 | using System.Collections.Generic; 7 | using System.Collections.ObjectModel; 8 | using Microsoft.TeamFoundation.Build.Client; 9 | 10 | public class BuildTemplateListViewModel : ViewModelBase 11 | { 12 | public BuildTemplateListViewModel(IEnumerable templates) 13 | { 14 | this.BuildTemplates = new ObservableCollection(); 15 | foreach (var t in templates) 16 | { 17 | this.BuildTemplates.Add(new BuildTemplateViewModel(t)); 18 | } 19 | } 20 | 21 | public ObservableCollection BuildTemplates { get; private set; } 22 | } 23 | 24 | public class BuildTemplateViewModel : ViewModelBase 25 | { 26 | public BuildTemplateViewModel(IProcessTemplate template) 27 | { 28 | this.ServerPath = template.ServerPath; 29 | this.TeamProject = template.TeamProject; 30 | this.TemplateType = template.TemplateType.ToString(); 31 | } 32 | 33 | public string TemplateType { get; set; } 34 | 35 | public string TeamProject { get; set; } 36 | 37 | public string ServerPath { get; set; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/BuildViewEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | public enum BuildView 7 | { 8 | /// 9 | /// None 10 | /// 11 | None = 0, 12 | 13 | /// 14 | /// BuildDefinitions 15 | /// 16 | BuildDefinitions = 1, 17 | 18 | /// 19 | /// Builds 20 | /// 21 | Builds = 2, 22 | 23 | /// 24 | /// Build Process Template 25 | /// 26 | BuildProcessTemplates = 3, 27 | 28 | /// 29 | /// Build Resources 30 | /// 31 | BuildResources = 4, 32 | } 33 | 34 | public enum DateFilter 35 | { 36 | /// 37 | /// None 38 | /// 39 | Today = 0, 40 | 41 | /// 42 | /// BuildDefinitions 43 | /// 44 | OneDay = 1, 45 | 46 | /// 47 | /// Builds 48 | /// 49 | TwoDays = 2, 50 | 51 | /// 52 | /// Builds 53 | /// 54 | OneWeek = 3, 55 | 56 | /// 57 | /// Builds 58 | /// 59 | TwoWeeks = 4, 60 | 61 | /// 62 | /// Builds 63 | /// 64 | FourWeeks = 5, 65 | 66 | /// 67 | /// Builds 68 | /// 69 | Anytime = 6 70 | } 71 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/BuildViewItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | 5 | namespace TfsBuildManager.Views 6 | { 7 | public class BuildViewItem 8 | { 9 | public string Name { get; set; } 10 | 11 | public BuildView Value { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/DateFilterCollection.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | 5 | namespace TfsBuildManager.Views 6 | { 7 | using System.Collections.ObjectModel; 8 | 9 | public class DateFilterCollection : ObservableCollection 10 | { 11 | public DateFilterCollection() 12 | { 13 | this.Add(new BuildDateFilter { Name = "Today", Value = DateFilter.Today }); 14 | this.Add(new BuildDateFilter { Name = "Last 24 hours", Value = DateFilter.OneDay }); 15 | this.Add(new BuildDateFilter { Name = "Last 48 hours", Value = DateFilter.TwoDays }); 16 | this.Add(new BuildDateFilter { Name = "Last 7 days", Value = DateFilter.OneWeek }); 17 | this.Add(new BuildDateFilter { Name = "Last 14 days", Value = DateFilter.TwoWeeks }); 18 | this.Add(new BuildDateFilter { Name = "Last 28 days", Value = DateFilter.FourWeeks }); 19 | this.Add(new BuildDateFilter { Name = "", Value = DateFilter.Anytime }); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/RemapWorkspacesViewModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | 5 | namespace TfsBuildManager.Views.ViewModels 6 | { 7 | using System; 8 | using System.Collections.ObjectModel; 9 | using System.Linq; 10 | using System.Text.RegularExpressions; 11 | using Microsoft.TeamFoundation.Build.Client; 12 | 13 | public class RemapWorkspacesViewModel : ViewModelBase 14 | { 15 | private ObservableCollection workspaceItems; 16 | 17 | private IBuildDefinition buildDefinition; 18 | 19 | public RemapWorkspacesViewModel(IBuildDefinition buildDefinition) 20 | { 21 | buildDefinition.Refresh(); 22 | this.buildDefinition = buildDefinition; 23 | this.workspaceItems = InitializeWorkSpaceItems(buildDefinition); 24 | } 25 | 26 | public string TextToSearch { get; set; } 27 | 28 | public string ReplacementText { get; set; } 29 | 30 | public ObservableCollection WorkspaceItems 31 | { 32 | get 33 | { 34 | return this.workspaceItems; 35 | } 36 | } 37 | 38 | public void RemapWorkspaces() 39 | { 40 | if (!string.IsNullOrWhiteSpace(this.TextToSearch) && !string.IsNullOrWhiteSpace(this.ReplacementText)) 41 | { 42 | foreach (var workSpaceItem in this.workspaceItems) 43 | { 44 | workSpaceItem.RemappedSourceControlFolder = Regex.Replace(workSpaceItem.SourceControlFolder, Regex.Escape(this.TextToSearch), this.ReplacementText, RegexOptions.IgnoreCase); 45 | } 46 | } 47 | } 48 | 49 | public void Save() 50 | { 51 | foreach (var mapping in this.buildDefinition.Workspace.Mappings) 52 | { 53 | var workspaceItem = this.WorkspaceItems.FirstOrDefault(mp => string.Compare(mp.SourceControlFolder, mapping.ServerItem, StringComparison.OrdinalIgnoreCase) == 0); 54 | mapping.ServerItem = (workspaceItem != null) ? workspaceItem.RemappedSourceControlFolder : mapping.ServerItem; 55 | } 56 | 57 | this.buildDefinition.Save(); 58 | } 59 | 60 | private static ObservableCollection InitializeWorkSpaceItems(IBuildDefinition buildDefinition) 61 | { 62 | var workspaceMappings = new ObservableCollection(); 63 | foreach (var mapping in buildDefinition.Workspace.Mappings) 64 | { 65 | workspaceMappings.Add(new WorkspaceItemViewModel() 66 | { 67 | Status = (mapping.MappingType == WorkspaceMappingType.Map) ? "Active" : "Cloaked", 68 | SourceControlFolder = mapping.ServerItem, 69 | RemappedSourceControlFolder = mapping.ServerItem 70 | }); 71 | } 72 | 73 | return workspaceMappings; 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/TargetBranchViewModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views.ViewModels 5 | { 6 | using System.Collections.Generic; 7 | using System.Collections.ObjectModel; 8 | using System.IO; 9 | using TfsBuildManager.Repository; 10 | 11 | public class TargetBranchViewModel : ViewModelBase 12 | { 13 | private readonly string originalName; 14 | private string newName; 15 | private TargetBranch selectedBranch; 16 | 17 | public TargetBranchViewModel(string originalName, IEnumerable targets) 18 | { 19 | this.originalName = originalName; 20 | this.TargetBranches = new ObservableCollection(); 21 | foreach (var t in targets) 22 | { 23 | this.TargetBranches.Add(new TargetBranch { Branch = t, Path = t.ServerPath }); 24 | } 25 | } 26 | 27 | public ObservableCollection TargetBranches { get; private set; } 28 | 29 | public string NewName 30 | { 31 | get 32 | { 33 | return this.newName; 34 | } 35 | 36 | set 37 | { 38 | this.newName = value; 39 | this.NotifyPropertyChanged("NewName"); 40 | this.NotifyPropertyChanged("IsEnabled"); 41 | } 42 | } 43 | 44 | public TargetBranch SelectedBranch 45 | { 46 | get 47 | { 48 | return this.selectedBranch; 49 | } 50 | 51 | set 52 | { 53 | var old = this.selectedBranch; 54 | this.selectedBranch = value; 55 | this.NewName = this.originalName + "." + Path.GetFileName(value.Path); 56 | this.NotifyPropertyChanged("NewName"); 57 | if (value != old) 58 | { 59 | this.NotifyPropertyChanged("IsEnabled"); 60 | } 61 | } 62 | } 63 | 64 | public bool IsEnabled 65 | { 66 | get 67 | { 68 | return this.SelectedBranch != null && !string.IsNullOrEmpty(this.NewName); 69 | } 70 | } 71 | } 72 | 73 | public class TargetBranch : ViewModelBase 74 | { 75 | public Branch Branch { get; set; } 76 | 77 | public string Path { get; set; } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System.ComponentModel; 7 | 8 | public abstract class ViewModelBase : INotifyPropertyChanged 9 | { 10 | #region Events 11 | 12 | public event PropertyChangedEventHandler PropertyChanged; 13 | 14 | #endregion // Events 15 | 16 | #region Methods 17 | public void NotifyPropertyChanged(string propertyName) 18 | { 19 | PropertyChangedEventHandler handler = this.PropertyChanged; 20 | 21 | if (handler != null) 22 | { 23 | handler(this, new PropertyChangedEventArgs(propertyName)); 24 | } 25 | } 26 | 27 | #endregion // Methods 28 | } 29 | } -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/ViewModels/WorkspaceItemViewModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | 5 | namespace TfsBuildManager.Views.ViewModels 6 | { 7 | public class WorkspaceItemViewModel 8 | { 9 | public string Status { get; set; } 10 | 11 | public string SourceControlFolder { get; set; } 12 | 13 | public string RemappedSourceControlFolder { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/WaitCursor.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Views 5 | { 6 | using System; 7 | using System.Windows.Forms; 8 | 9 | public class WaitCursor : IDisposable 10 | { 11 | public WaitCursor() 12 | { 13 | Cursor.Current = Cursors.WaitCursor; 14 | } 15 | 16 | public void Dispose() 17 | { 18 | this.Dispose(true); 19 | GC.SuppressFinalize(this); 20 | } 21 | 22 | protected virtual void Dispose(bool disposing) 23 | { 24 | if (disposing) 25 | { 26 | Cursor.Current = Cursors.Default; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.Views/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Manager/TFSBuildManager.vssscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Explorer/BuildNavigationLink.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Explorer 5 | { 6 | using System; 7 | using System.Windows.Forms; 8 | using EnvDTE; 9 | using Microsoft.TeamFoundation.Controls; 10 | 11 | [TeamExplorerNavigationLink("{5514499B-D1B9-4194-8D50-999F70DAC731}", TeamExplorerNavigationItemIds.Builds, 0)] 12 | public class BuildNavigationLink : ITeamExplorerNavigationLink 13 | { 14 | public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; 15 | 16 | public bool IsEnabled 17 | { 18 | get { return true; } 19 | } 20 | 21 | public bool IsVisible 22 | { 23 | get { return true; } 24 | } 25 | 26 | public string Text 27 | { 28 | get { return "Community TFS Build Manager"; } 29 | } 30 | 31 | public void Execute() 32 | { 33 | try 34 | { 35 | EnvDTE80.DTE2 dte2 = Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(DTE)) as EnvDTE80.DTE2; 36 | if (dte2 != null) 37 | { 38 | dte2.ExecuteCommand("Tools.CommunityTFSBuildManager"); 39 | } 40 | } 41 | catch (Exception ex) 42 | { 43 | MessageBox.Show(ex.ToString()); 44 | } 45 | } 46 | 47 | public void Invalidate() 48 | { 49 | } 50 | 51 | public void Dispose() 52 | { 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Explorer/GlobalSuppressions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.Explorer/GlobalSuppressions.cs -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Explorer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System.Reflection; 5 | 6 | [assembly: AssemblyTitle("TFSBuildManager.Explorer")] 7 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Explorer/TfsBuildManager.Explorer.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Explorer/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/AgentSettingsBuildParameter.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using System; 7 | using Microsoft.TeamFoundation.Build.Workflow.Activities; 8 | 9 | public class AgentSettingsBuildParameter 10 | { 11 | public TagComparison Comparison { get; set; } 12 | 13 | public TimeSpan MaxWaitTime { get; set; } 14 | 15 | public TimeSpan MaxExecutionTime { get; set; } 16 | 17 | public string Name { get; set; } 18 | 19 | public StringList Tags { get; set; } 20 | 21 | public static implicit operator AgentSettingsBuildParameter(AgentSettings ags) 22 | { 23 | AgentSettingsBuildParameter agentSet = new AgentSettingsBuildParameter(); 24 | agentSet.MaxExecutionTime = ags.MaxExecutionTime; 25 | agentSet.MaxWaitTime = ags.MaxWaitTime; 26 | agentSet.Name = ags.Name; 27 | agentSet.Comparison = ags.TagComparison; 28 | agentSet.Tags = ags.Tags; 29 | return agentSet; 30 | } 31 | 32 | public static implicit operator AgentSettings(AgentSettingsBuildParameter agentSet) 33 | { 34 | return new AgentSettings { MaxExecutionTime = agentSet.MaxExecutionTime, MaxWaitTime = agentSet.MaxWaitTime, Name = agentSet.Name, TagComparison = agentSet.Comparison, Tags = agentSet.Tags }; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/BuildNoteOptions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using System; 7 | 8 | [Flags] 9 | public enum BuildNoteOptions 10 | { 11 | /// 12 | /// WorkItems Details 13 | /// 14 | WorkItemDetails = 1, 15 | 16 | /// 17 | /// TestResults 18 | /// 19 | TestResults = 2, 20 | 21 | /// 22 | /// Changeset Details 23 | /// 24 | ChangesetDetails = 3, 25 | 26 | /// 27 | /// Build Configuration Summary 28 | /// 29 | BuildConfigurationSummary = 4 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/BuildResourceFilter.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | public class BuildResourceFilter 7 | { 8 | public string TeamProject { get; set; } 9 | 10 | public string Controller { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/BuildRetentionPolicy.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using Microsoft.TeamFoundation.Build.Client; 7 | 8 | public class BuildRetentionPolicy 9 | { 10 | public int StoppedKeep; 11 | 12 | public DeleteOptions StoppedDeleteOptions; 13 | 14 | public int FailedKeep; 15 | 16 | public DeleteOptions FailedDeleteOptions; 17 | 18 | public int PartiallySucceededKeep; 19 | 20 | public DeleteOptions PartiallySucceededDeleteOptions; 21 | 22 | public int SucceededKeep; 23 | 24 | public DeleteOptions SucceededDeleteOptions; 25 | } 26 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ExportedAgileTestPlatformSpec.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using Microsoft.TeamFoundation.Build.Workflow.Activities; 7 | 8 | public class ExportedAgileTestPlatformSpec 9 | { 10 | public bool FailBuildOnFailure { get; set; } 11 | 12 | public string RunName { get; set; } 13 | 14 | public string AssemblyFileSpec { get; set; } 15 | 16 | public ExecutionPlatformType ExecutionPlatform { get; set; } 17 | 18 | public string RunSettingsFileName { get; set; } 19 | 20 | public RunSettingsType TypeRunSettings { get; set; } 21 | 22 | public string TestCaseFilter { get; set; } 23 | 24 | public static implicit operator ExportedAgileTestPlatformSpec(AgileTestPlatformSpec agilespec) 25 | { 26 | ExportedAgileTestPlatformSpec expAgileSpec = new ExportedAgileTestPlatformSpec(); 27 | expAgileSpec.AssemblyFileSpec = agilespec.AssemblyFileSpec; 28 | expAgileSpec.ExecutionPlatform = agilespec.ExecutionPlatform; 29 | expAgileSpec.FailBuildOnFailure = agilespec.FailBuildOnFailure; 30 | expAgileSpec.RunName = agilespec.RunName; 31 | expAgileSpec.TestCaseFilter = agilespec.TestCaseFilter; 32 | expAgileSpec.RunSettingsFileName = agilespec.RunSettingsForTestRun.ServerRunSettingsFile; 33 | expAgileSpec.TypeRunSettings = agilespec.RunSettingsForTestRun.TypeRunSettings; 34 | return expAgileSpec; 35 | } 36 | 37 | public static implicit operator AgileTestPlatformSpec(ExportedAgileTestPlatformSpec exportedAgileTestPlatformSpec) 38 | { 39 | AgileTestPlatformSpec agileSpec = new AgileTestPlatformSpec(); 40 | agileSpec.AssemblyFileSpec = exportedAgileTestPlatformSpec.AssemblyFileSpec; 41 | agileSpec.ExecutionPlatform = exportedAgileTestPlatformSpec.ExecutionPlatform; 42 | agileSpec.FailBuildOnFailure = exportedAgileTestPlatformSpec.FailBuildOnFailure; 43 | agileSpec.RunName = exportedAgileTestPlatformSpec.RunName; 44 | agileSpec.TestCaseFilter = exportedAgileTestPlatformSpec.TestCaseFilter; 45 | agileSpec.RunSettingsForTestRun = new RunSettings(); 46 | agileSpec.RunSettingsForTestRun.ServerRunSettingsFile = exportedAgileTestPlatformSpec.RunSettingsFileName; 47 | agileSpec.RunSettingsForTestRun.TypeRunSettings = exportedAgileTestPlatformSpec.TypeRunSettings; 48 | return agileSpec; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ExportedBuildDefinition.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using System.Collections.Generic; 7 | using Microsoft.TeamFoundation.Build.Client; 8 | using Microsoft.TeamFoundation.Build.Common; 9 | using Microsoft.TeamFoundation.Build.Workflow; 10 | using Microsoft.TeamFoundation.Build.Workflow.Activities; 11 | 12 | public class ExportedBuildDefinition 13 | { 14 | public ExportedBuildDefinition() 15 | { 16 | this.BuildReasons = new Dictionary(); 17 | this.IntegerParameters = new Dictionary(); 18 | this.BuildVerbosities = new Dictionary(); 19 | } 20 | 21 | public string Name { get; set; } 22 | 23 | public string Description { get; set; } 24 | 25 | public ContinuousIntegrationType ContinuousIntegrationType { get; set; } 26 | 27 | public string BuildController { get; set; } 28 | 29 | public List AgileTestSpecs { get; set; } 30 | 31 | public StringList ProjectsToBuild { get; set; } 32 | 33 | public PlatformConfigurationList ConfigurationsToBuild { get; set; } 34 | 35 | public DefinitionQueueStatus QueueStatus { get; set; } 36 | 37 | public string ProcessTemplate { get; set; } 38 | 39 | public string DefaultDropLocation { get; set; } 40 | 41 | public AgentSettingsBuildParameter TfvcAgentSettings { get; set; } 42 | 43 | public BuildParameter GitAgentSettings { get; set; } 44 | 45 | public List Schedules { get; set; } 46 | 47 | public int ContinuousIntegrationQuietPeriod { get; set; } 48 | 49 | public List SourceProviders { get; set; } 50 | 51 | public List Mappings { get; set; } 52 | 53 | public Dictionary TestParameters { get; set; } 54 | 55 | public List RetentionPolicyList { get; set; } 56 | 57 | public IDictionary ProcessParameters { get; set; } 58 | 59 | public IDictionary BuildReasons { get; private set; } 60 | 61 | public IDictionary IntegerParameters { get; private set; } 62 | 63 | public IDictionary BuildVerbosities { get; private set; } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ExportedIBuildDefinitionSourceProvider.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using System.Collections.Generic; 7 | using Microsoft.TeamFoundation.Build.Client; 8 | 9 | public class ExportedIBuildDefinitionSourceProvider : IBuildDefinitionSourceProvider 10 | { 11 | public string Name { get; set; } 12 | 13 | public DefinitionTriggerType SupportedTriggerTypes { get; set; } 14 | 15 | public IDictionary Fields { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ExportedIRetentionPolicy.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using Microsoft.TeamFoundation.Build.Client; 7 | 8 | public class ExportedIRetentionPolicy : IRetentionPolicy 9 | { 10 | public IBuildDefinition BuildDefinition { get; set; } 11 | 12 | public BuildReason BuildReason { get; set; } 13 | 14 | public BuildStatus BuildStatus { get; set; } 15 | 16 | public int NumberToKeep { get; set; } 17 | 18 | public DeleteOptions DeleteOptions { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ExportedISchedule.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using System; 7 | using Microsoft.TeamFoundation.Build.Client; 8 | 9 | public class ExportedISchedule : ISchedule 10 | { 11 | public IBuildDefinition BuildDefinition { get; private set; } 12 | 13 | public ScheduleType Type { get; private set; } 14 | 15 | public int StartTime { get; set; } 16 | 17 | public ScheduleDays DaysToBuild { get; set; } 18 | 19 | public TimeZoneInfo TimeZone { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ExportedIWorkspaceMapping.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using Microsoft.TeamFoundation.Build.Client; 7 | 8 | public class ExportedIWorkspaceMapping : IWorkspaceMapping 9 | { 10 | public WorkspaceMappingType MappingType { get; set; } 11 | 12 | public string LocalItem { get; set; } 13 | 14 | public string ServerItem { get; set; } 15 | 16 | public WorkspaceMappingDepth Depth { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/ITfsContext.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository 5 | { 6 | using System; 7 | using Microsoft.TeamFoundation.Build.Client; 8 | 9 | public interface ITfsContext 10 | { 11 | event EventHandler ProjectChanged; 12 | 13 | string SelectedProject { get; } 14 | 15 | string ActiveConnection { get; } 16 | 17 | void ShowBuild(Uri buildUri); 18 | 19 | void EditBuildDefinition(Uri buildDefinition); 20 | 21 | void ShowControllerManager(); 22 | 23 | void RemapWorkspaces(IBuildDefinition buildDefinition); 24 | } 25 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System.Reflection; 5 | 6 | [assembly: AssemblyTitle("TFSBuildManager.Repository")] 7 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/TfsBuildManager.Repository.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/Transformers/ExportedProcessParameterTransformer.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace TfsBuildManager.Repository.Transformers 5 | { 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using Microsoft.TeamFoundation.Build.Common; 10 | using Microsoft.TeamFoundation.Build.Workflow.Activities; 11 | using Newtonsoft.Json; 12 | using Newtonsoft.Json.Linq; 13 | 14 | public static class ExportedProcessParameterTransformer 15 | { 16 | public static TestSpecList ToSpecList(this List agileTestPlatformSpecs) 17 | { 18 | TestSpecList tsl = new TestSpecList(); 19 | tsl.AddRange(agileTestPlatformSpecs.Select(aitem => (TestSpec)aitem)); 20 | return tsl; 21 | } 22 | 23 | public static object ProcessParameterDeserializer(string[] parameterSpec) 24 | { 25 | string paramKey = parameterSpec[0], paramValue = parameterSpec[1]; 26 | switch (paramKey) 27 | { 28 | case "BuildSettings": 29 | var buildSettings = JsonConvert.DeserializeObject(paramValue); 30 | return new BuildSettings 31 | { 32 | ProjectsToBuild = ((JArray)buildSettings.ProjectsToBuild).ToObject(), 33 | PlatformConfigurations = ((JArray)buildSettings.ConfigurationsToBuild).ToObject() 34 | }; 35 | 36 | case "AgentSettings": 37 | var agentSettings = JsonConvert.DeserializeObject(paramValue); 38 | if (agentSettings.TfvcAgentSettings != null) 39 | { 40 | AgentSettingsBuildParameter tfvcAgentSettings = ((JObject)agentSettings.TfvcAgentSettings).ToObject(); 41 | return (AgentSettings)tfvcAgentSettings; 42 | } 43 | 44 | if (agentSettings.GitAgentSettings != null) 45 | { 46 | return ((JObject)agentSettings.GitAgentSettings).ToObject(); 47 | } 48 | 49 | throw new InvalidOperationException(paramKey + " isn't supported for the specified value. Try { \"TfvcAgentSettings\": {your settings} } or { \"GitAgentSettings\": {your settings}"); 50 | 51 | case "TestSpecs": 52 | goto case "AgileTestSpecs"; 53 | case "AgileTestSpecs": 54 | return JsonConvert.DeserializeObject>(paramValue).ToSpecList(); 55 | 56 | default: 57 | return paramValue; 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/VersionControlTypeEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | 5 | namespace TfsBuildManager.Repository 6 | { 7 | public enum VersionControlType 8 | { 9 | /// 10 | /// Team foundation version control 11 | /// 12 | Tfvc = 0, 13 | 14 | /// 15 | /// Git version control 16 | /// 17 | Git = 1 18 | } 19 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.Repository/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/Build.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System; 7 | 8 | public class Build 9 | { 10 | public string BuildNumber { get; set; } 11 | 12 | public string BuildState { get; set; } 13 | 14 | public string BuildReason { get; set; } 15 | 16 | public string BuildQuality { get; set; } 17 | 18 | public string BuildRequestedBy { get; set; } 19 | 20 | public string BuildDefinition { get; set; } 21 | 22 | public string BuildTeamProject { get; set; } 23 | 24 | public string BuildStartTime { get; set; } 25 | 26 | public string BuildEndTime { get; set; } 27 | 28 | public string BuildTotalExecutionTimeInSeconds { get; set; } 29 | 30 | public string BuildController { get; set; } 31 | 32 | public string BuildCompletedNoOfDaysAgo { get; set; } 33 | 34 | public Uri BuildUri { get; set; } 35 | 36 | public string BuildRetainIndefinitely { get; set; } 37 | 38 | public string BuildDropLocation { get; set; } 39 | 40 | public string BuildIsDeleted { get; set; } 41 | 42 | public string BuildSourceGetVersion { get; set; } 43 | 44 | public string BuildShelvesetName { get; set; } 45 | 46 | public string BuildLabelName { get; set; } 47 | 48 | public string BuildLogLocation { get; set; } 49 | 50 | public string BuildLastChangedOn { get; set; } 51 | 52 | public string BuildLastModifiedNoOfDaysAgo { get; set; } 53 | 54 | public string BuildLastChangedBy { get; set; } 55 | 56 | public string BuildTestStatus { get; set; } 57 | } 58 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/BuildConfiguration.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System.Collections.Generic; 7 | 8 | public class BuildConfiguration 9 | { 10 | public string BuildConfigFlavor { get; set; } 11 | 12 | public string BuildConfigPlatform { get; set; } 13 | 14 | public string BuildConfigTotalErrors { get; set; } 15 | 16 | public string BuildConfigTotalWarnings { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/BuildConfigurationSolution.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | public class BuildConfigurationSolution 7 | { 8 | public string BuildRootNodeSolutionServerPath { get; set; } 9 | 10 | public string BuildRootNodeErrorCount { get; set; } 11 | 12 | public string BuildRootNodeWarningCount { get; set; } 13 | 14 | public string BuildRootNodeLogFile { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/BuildDetail.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System.Collections.Generic; 7 | 8 | public class BuildDetail 9 | { 10 | public DocumentDetail DocumentDetail { get; set; } 11 | 12 | public Build Build { get; set; } 13 | 14 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 15 | public IList BuildConfigurations { get; set; } 16 | 17 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 18 | public IList BuildConfigurationSolutions { get; set; } 19 | 20 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 21 | public IList WorkItems { get; set; } 22 | 23 | public string WorkItemIntroduction { get; set; } 24 | 25 | public string ChangesetTotalCount { get; set; } 26 | 27 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 28 | public IList Changesets { get; set; } 29 | 30 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 31 | public IList ChangesetChangeDetails { get; set; } 32 | 33 | public TestResult TestResult { get; set; } 34 | 35 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 36 | public IList TestResultPassedItems { get; set; } 37 | 38 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 39 | public IList TestResultFailedItems { get; set; } 40 | 41 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 42 | public IList TestResultInconclusiveItems { get; set; } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/Changeset.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System; 7 | 8 | public class Changeset 9 | { 10 | public string ChangesetId { get; set; } 11 | 12 | public string ChangesetComment { get; set; } 13 | 14 | public string ChangesetCommittedBy { get; set; } 15 | 16 | public string ChangesetCommittedOn { get; set; } 17 | 18 | public Uri ChangesetUri { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/ChangesetChangeDetail.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System.Collections.Generic; 7 | 8 | public class ChangesetChangeDetail 9 | { 10 | public string ChangesetChangeId { get; set; } 11 | 12 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 13 | public IList ChangesetChangeServerPaths { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/DocumentDetail.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | public class DocumentDetail 7 | { 8 | public string Title { get; set; } 9 | 10 | public string CreatedBy { get; set; } 11 | 12 | public string CreatedOn { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/Item.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System; 7 | 8 | public class Item 9 | { 10 | private Guid id = Guid.Empty; 11 | private string name = string.Empty; 12 | 13 | public Guid Id 14 | { 15 | get 16 | { 17 | return this.id; 18 | } 19 | 20 | set 21 | { 22 | this.id = value; 23 | } 24 | } 25 | 26 | public string Name 27 | { 28 | get 29 | { 30 | return this.name; 31 | } 32 | 33 | set 34 | { 35 | this.name = value; 36 | } 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/TestResult.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | public class TestResult 7 | { 8 | public string TestResultId { get; set; } 9 | 10 | public string TestResultTitle { get; set; } 11 | 12 | public string TestResultStatus { get; set; } 13 | 14 | public string TestResultTotalTest { get; set; } 15 | 16 | public string TestResultTotalTestCompleted { get; set; } 17 | 18 | public string TestResultTotalTestPassed { get; set; } 19 | 20 | public string TestResultTotalTestFailed { get; set; } 21 | 22 | public string TestResultTotalTestPassRate { get; set; } 23 | 24 | public string TestResultTotalTestInconclusive { get; set; } 25 | 26 | public string TestResultIsAutomated { get; set; } 27 | } 28 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/TestResultFailedItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | public class TestResultFailedItem 7 | { 8 | public string TestResultFailedListTitle { get; set; } 9 | 10 | public string TestResultFailedListStatus { get; set; } 11 | 12 | public string TestResultFailedListReason { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/TestResultInconclusiveItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | public class TestResultInconclusiveItem 7 | { 8 | public string TestResultInconclusiveListTitle { get; set; } 9 | 10 | public string TestResultInconclusiveListStatus { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/TestResultPassedItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | public class TestResultPassedItem 7 | { 8 | public string TestResultPassedListTitle { get; set; } 9 | 10 | public string TestResultPassedListStatus { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Entities/WorkItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Client.Entities 5 | { 6 | using System; 7 | 8 | public class WorkItem 9 | { 10 | public string WorkItemId { get; set; } 11 | 12 | public string WorkItemTitle { get; set; } 13 | 14 | public string WorkItemState { get; set; } 15 | 16 | public string WorkItemType { get; set; } 17 | 18 | public string WorkItemAssignedTo { get; set; } 19 | 20 | public Uri WorkItemUri { get; set; } 21 | 22 | public string WorkItemIterationPath { get; set; } 23 | 24 | public string WorkItemAreaPath { get; set; } 25 | } 26 | } -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/GlobalSuppressions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/GlobalSuppressions.cs -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/ChangeConnection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/ChangeConnection.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Changeset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Changeset.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Failed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Failed.jpg -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Lock.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/PartiallySucceeded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/PartiallySucceeded.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Stopped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Stopped.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Succeeded.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Succeeded.jpg -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/TestSuite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/TestSuite.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Graphics/Unlock.png -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System; 5 | using System.Reflection; 6 | using System.Windows; 7 | 8 | [assembly: AssemblyTitle("WordDocumentGenerator.Client")] 9 | [assembly: CLSCompliant(true)] 10 | 11 | [assembly: ThemeInfo( 12 | ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located (used if a resource is not found in the page, or application resource dictionaries) 13 | ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located (used if a resource is not found in the page, app, or any theme specific resource dictionaries) 14 | )] -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Properties/CodeAnalysis.Dictionary.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Changeset 6 | Changesets 7 | Tfs 8 | TFS 9 | 10 | 11 | StyleCop 12 | SourceFiles 13 | 14 | 15 | Stylecop 16 | Sourcefiles 17 | 18 | 21 | 22 | 23 | 24 | AWS 25 | SSH 26 | 27 | 28 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Properties/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Properties/Key.snk -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Templates/BuildTemplateContent.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Templates/BuildTemplateContent.docx -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/Templates/BuildTemplateCover.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Client/Templates/BuildTemplateCover.docx -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/WordDocumentGenerator.Client.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Client/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/ContentControlXmlMetadata.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Library 5 | { 6 | /// 7 | /// This class is used only for generic document generators that generate based on Xml, XPath and data bound content controls(optional) 8 | /// 9 | public class ContentControlXmlMetadata 10 | { 11 | public string PlaceholderName { get; set; } 12 | 13 | public PlaceholderType PlaceholderType { get; set; } 14 | 15 | public string ControlTagXPath { get; set; } 16 | 17 | public string ControlValueXPath { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/DocumentGenerationInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Library 5 | { 6 | using System; 7 | using System.Collections.Generic; 8 | 9 | public class DocumentGenerationInfo 10 | { 11 | /// 12 | /// Namespace Uri for CustomXML part 13 | /// 14 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2211:NonConstantFieldsShouldNotBeVisible", Justification = "Don't have a fix for this just now")] 15 | public static Uri NamespaceUri = new Uri(@"http://schemas.WordDocumentGenerator.com/DocumentGeneration"); 16 | 17 | /// 18 | /// Gets or sets the place holder tag to type collection. 19 | /// 20 | /// 21 | /// The place holder tag to type collection. 22 | /// 23 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "Don't have a fix for this just now")] 24 | public Dictionary PlaceholderTagToTypeCollection { get; set; } 25 | 26 | /// 27 | /// Gets or sets the metadata. 28 | /// 29 | /// 30 | /// The metadata. 31 | /// 32 | public DocumentMetadata Metadata { get; set; } 33 | 34 | /// 35 | /// Gets or sets the template data. 36 | /// 37 | /// 38 | /// The template data. 39 | /// 40 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays", Justification = "Don't have a fix for this just now")] 41 | public byte[] TemplateData { get; set; } 42 | 43 | /// 44 | /// Gets or sets the data context. 45 | /// 46 | /// 47 | /// The data context. 48 | /// 49 | public object DataContext { get; set; } 50 | 51 | /// 52 | /// Gets or sets a value indicating whether this instance is data bound controls. 53 | /// 54 | /// 55 | /// true if this instance is data bound controls; otherwise, false. 56 | /// 57 | public bool IsDataBoundControls { get; set; } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/DocumentMetadata.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Library 5 | { 6 | /// 7 | /// Defines the metadata for a Word document 8 | /// 9 | public class DocumentMetadata 10 | { 11 | #region Members 12 | 13 | /// 14 | /// Gets or sets the type of the document. 15 | /// 16 | /// 17 | /// The type of the document. 18 | /// 19 | public string DocumentType { get; set; } 20 | 21 | /// 22 | /// Gets or sets the document version. 23 | /// 24 | /// 25 | /// The document version. 26 | /// 27 | public string DocumentVersion { get; set; } 28 | 29 | #endregion 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/NodeType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Library 5 | { 6 | /// 7 | /// Defines the type of the Node 8 | /// 9 | public enum NodeType 10 | { 11 | /// 12 | /// None 13 | /// 14 | None = 0, 15 | 16 | /// 17 | /// Attribute 18 | /// 19 | Attribute = 1, 20 | 21 | /// 22 | /// Element 23 | /// 24 | Element = 2 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/OpenXmlElementDataContext.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Library 5 | { 6 | using DocumentFormat.OpenXml; 7 | 8 | /// 9 | /// OpenXml element and data context 10 | /// 11 | public class OpenXmlElementDataContext 12 | { 13 | /// 14 | /// Gets or sets the element. 15 | /// 16 | /// 17 | /// The element. 18 | /// 19 | public OpenXmlElement Element { get; set; } 20 | 21 | /// 22 | /// Gets or sets the data context. 23 | /// 24 | /// 25 | /// The data context. 26 | /// 27 | public object DataContext { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/PlaceholderType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | namespace WordDocumentGenerator.Library 5 | { 6 | /// 7 | /// Defines the type of the PlaceHolder 8 | /// 9 | public enum PlaceholderType 10 | { 11 | /// 12 | /// None 13 | /// 14 | None = 0, 15 | 16 | /// 17 | /// Recursive 18 | /// 19 | Recursive = 1, 20 | 21 | /// 22 | /// NonRecursive 23 | /// 24 | NonRecursive = 2, 25 | 26 | /// 27 | /// Ignore 28 | /// 29 | Ignore = 3, 30 | 31 | /// 32 | /// Container 33 | /// 34 | Container = 4, 35 | 36 | /// 37 | /// Picture Container 38 | /// 39 | PictureContainer = 5 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // (c) https://github.com/tfsbuildextensions/BuildManager. This source is subject to the Microsoft Permissive License. See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. All other rights reserved. 3 | //----------------------------------------------------------------------- 4 | using System; 5 | using System.Reflection; 6 | using System.Windows; 7 | 8 | [assembly: AssemblyTitle("WordDocumentGenerator.Library")] 9 | [assembly: CLSCompliant(true)] 10 | 11 | [assembly: ThemeInfo( 12 | ResourceDictionaryLocation.None, // where theme specific resource dictionaries are located (used if a resource is not found in the page, or application resource dictionaries) 13 | ResourceDictionaryLocation.SourceAssembly // where the generic resource dictionary is located (used if a resource is not found in the page, app, or any theme specific resource dictionaries) 14 | )] -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/Properties/CodeAnalysis.Dictionary.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Changeset 6 | Changesets 7 | Tfs 8 | TFS 9 | 10 | 11 | StyleCop 12 | SourceFiles 13 | 14 | 15 | Stylecop 16 | Sourcefiles 17 | 18 | 21 | 22 | 23 | 24 | AWS 25 | SSH 26 | 27 | 28 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/Properties/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/TfsBuildManager.WordDocumentGenerator.Library/Properties/Key.snk -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/WordDocumentGenerator.Library.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Manager/TfsBuildManager.WordDocumentGenerator.Library/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Manager/VSSDK/Microsoft.VsSDK.Build.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfsbuildextensions/BuildManager/7b858a6c27e4af91dbd3c27b146b7f6e2814f787/Manager/VSSDK/Microsoft.VsSDK.Build.Tasks.dll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build status](https://ci.appveyor.com/api/projects/status/mlofuhxen97ug9o3)](https://ci.appveyor.com/project/tfsbuildextensions/buildmanager) 2 | 3 | 4 | # Community TFS Build Manager 5 | 6 | ## Visual Studio Extensions 7 | VS 2010, 12, 13 and 15 extensions are in the [VS Gallery](https://marketplace.visualstudio.com/search?term=publisher%3A%22Community%20TFS%20Build%20Extensions%22&target=VS&sortBy=Relevance) 8 | 9 | ## Standalone 10 | 2013 executable can be found in [Releases](https://github.com/tfsbuildextensions/BuildManager/releases) 11 | --------------------------------------------------------------------------------