[tarantino] r152 committed - Broke up deployer into separate projects...

0 views
Skip to first unread message

codesite...@google.com

unread,
Dec 29, 2009, 3:10:32 PM12/29/09
to tarantino...@googlegroups.com
Revision: 152
Author: kwhurwitz
Date: Tue Dec 29 12:09:43 2009
Log: Broke up deployer into separate projects...
http://code.google.com/p/tarantino/source/detail?r=152

Added:
/trunk/src/Tarantino.Deployer.Core
/trunk/src/Tarantino.Deployer.Core/DeployerCoreDependencyRegistrar.cs
/trunk/src/Tarantino.Deployer.Core/DeployerCoreDependencyRegistry.cs
/trunk/src/Tarantino.Deployer.Core/Model
/trunk/src/Tarantino.Deployer.Core/Model/Deployment.cs
/trunk/src/Tarantino.Deployer.Core/Model/DeploymentOutput.cs
/trunk/src/Tarantino.Deployer.Core/Model/DeploymentResult.cs
/trunk/src/Tarantino.Deployer.Core/Properties
/trunk/src/Tarantino.Deployer.Core/Properties/AssemblyInfo.cs
/trunk/src/Tarantino.Deployer.Core/Services
/trunk/src/Tarantino.Deployer.Core/Services/Configuration

/trunk/src/Tarantino.Deployer.Core/Services/Configuration/IApplicationRepository.cs
/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl

/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/Application.cs

/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/ApplicationRepository.cs

/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/DeployerSettingsConfigurationHandler.cs

/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/Environment.cs
/trunk/src/Tarantino.Deployer.Core/Services/IDeploymentFactory.cs
/trunk/src/Tarantino.Deployer.Core/Services/IDeploymentRecorder.cs
/trunk/src/Tarantino.Deployer.Core/Services/IDeploymentRepository.cs
/trunk/src/Tarantino.Deployer.Core/Services/IDeploymentResultCalculator.cs
/trunk/src/Tarantino.Deployer.Core/Services/IRevisionCertifier.cs
/trunk/src/Tarantino.Deployer.Core/Services/IRevisionNumberParser.cs
/trunk/src/Tarantino.Deployer.Core/Services/Impl
/trunk/src/Tarantino.Deployer.Core/Services/Impl/DeploymentFactory.cs
/trunk/src/Tarantino.Deployer.Core/Services/Impl/DeploymentRecorder.cs

/trunk/src/Tarantino.Deployer.Core/Services/Impl/DeploymentResultCalculator.cs
/trunk/src/Tarantino.Deployer.Core/Services/Impl/RevisionCertifier.cs
/trunk/src/Tarantino.Deployer.Core/Services/Impl/RevisionNumberParser.cs
/trunk/src/Tarantino.Deployer.Core/Services/UI
/trunk/src/Tarantino.Deployer.Core/Services/UI/IDeploymentRowFactory.cs

/trunk/src/Tarantino.Deployer.Core/Services/UI/IDeploymentSelectionValidator.cs
/trunk/src/Tarantino.Deployer.Core/Services/UI/ILabelTextGenerator.cs
/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl
/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl/DeploymentRowFactory.cs

/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl/DeploymentSelectionValidator.cs
/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl/LabelTextGenerator.cs
/trunk/src/Tarantino.Deployer.Core/Tarantino.Deployer.Core.csproj
/trunk/src/Tarantino.Deployer.Infrastructure
/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess
/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Mappings

/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Mappings/Deployment.hbm.xml

/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Mappings/DeploymentOutput.hbm.xml
/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Repositories

/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Repositories/DeploymentRepository.cs

/trunk/src/Tarantino.Deployer.Infrastructure/DeployerInfrastructureDependencyRegistrar.cs

/trunk/src/Tarantino.Deployer.Infrastructure/DeployerInfrastructureDependencyRegistry.cs
/trunk/src/Tarantino.Deployer.Infrastructure/Properties
/trunk/src/Tarantino.Deployer.Infrastructure/Properties/AssemblyInfo.cs

/trunk/src/Tarantino.Deployer.Infrastructure/Tarantino.Deployer.Infrastructure.csproj
/trunk/src/Tarantino.Deployer.IntegrationTests
/trunk/src/Tarantino.Deployer.IntegrationTests/App.config
/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure
/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure/DataAccess

/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure/DataAccess/DeployerDatabaseTester.cs

/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure/DataAccess/Mappings

/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure/DataAccess/Mappings/DeploymentMappingsTester.cs

/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure/DataAccess/Repositories

/trunk/src/Tarantino.Deployer.IntegrationTests/Infrastructure/DataAccess/Repositories/DeploymentRepositoryTester.cs
/trunk/src/Tarantino.Deployer.IntegrationTests/Properties
/trunk/src/Tarantino.Deployer.IntegrationTests/Properties/AssemblyInfo.cs

/trunk/src/Tarantino.Deployer.IntegrationTests/Tarantino.Deployer.IntegrationTests.csproj
/trunk/src/Tarantino.Deployer.IntegrationTests/deployer.hibernate.cfg.xml
/trunk/src/Tarantino.Deployer.UnitTests
/trunk/src/Tarantino.Deployer.UnitTests/Core
/trunk/src/Tarantino.Deployer.UnitTests/Core/Model
/trunk/src/Tarantino.Deployer.UnitTests/Core/Services
/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/Configuration

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/Configuration/ApplicationRepositoryTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/Configuration/ApplicationTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/DeploymentFactoryTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/DeploymentRecorderTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/DeploymentResultCalculatorTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/RevisionCertifierTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/RevisionNumberParserTester.cs
/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/UI

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/UI/DeploymentRowFactoryTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/UI/DeploymentSelectionValidatorTester.cs

/trunk/src/Tarantino.Deployer.UnitTests/Core/Services/UI/LabelTextGeneratorTester.cs
/trunk/src/Tarantino.Deployer.UnitTests/Infrastructure
/trunk/src/Tarantino.Deployer.UnitTests/Infrastructure/DataAccess

/trunk/src/Tarantino.Deployer.UnitTests/Infrastructure/DataAccess/Repositories

/trunk/src/Tarantino.Deployer.UnitTests/Infrastructure/DataAccess/Repositories/DeploymentRepositoryTester.cs
/trunk/src/Tarantino.Deployer.UnitTests/Properties
/trunk/src/Tarantino.Deployer.UnitTests/Properties/AssemblyInfo.cs
/trunk/src/Tarantino.Deployer.UnitTests/Tarantino.Deployer.UnitTests.csproj
Deleted:

/trunk/src/Tarantino.Infrastructure/Deployer/DataAccess/Mappings/Deployment.hbm.xml

/trunk/src/Tarantino.Infrastructure/Deployer/DataAccess/Mappings/DeploymentOutput.hbm.xml

/trunk/src/Tarantino.Infrastructure/Deployer/DataAccess/Repositories/DeploymentRepository.cs

/trunk/src/Tarantino.IntegrationTests/Core/Deployer/Services/Configuration/ApplicationRepositoryTester.cs
/trunk/src/Tarantino.IntegrationTests/deployer.hibernate.cfg.xml
Modified:
/trunk/default.build
/trunk/src/Tarantino.Core/Tarantino.Core.csproj
/trunk/src/Tarantino.Deployer/App.config
/trunk/src/Tarantino.Deployer/DeployPackage.cs
/trunk/src/Tarantino.Deployer/Tarantino.Deployer.csproj
/trunk/src/Tarantino.Deployer.Console/Program.cs
/trunk/src/Tarantino.Deployer.Console/Tarantino.Deployer.Console.csproj
/trunk/src/Tarantino.Infrastructure/Tarantino.Infrastructure.csproj
/trunk/src/Tarantino.IntegrationTests/App.config

/trunk/src/Tarantino.IntegrationTests/Infrastructure/WebManagement/DataAccess/Mappings/ApplicationInstanceMappingsTester.cs

/trunk/src/Tarantino.IntegrationTests/Infrastructure/WebManagement/DataAccess/Repositories/ApplicationInstanceRepositoryTester.cs

/trunk/src/Tarantino.IntegrationTests/Infrastructure/WebManagement/DataAccess/WebManagementDatabaseTester.cs

/trunk/src/Tarantino.IntegrationTests/Infrastructure/WebManagement/Services/Views/ResourceTester.cs
/trunk/src/Tarantino.IntegrationTests/Tarantino.IntegrationTests.csproj
/trunk/src/Tarantino.UnitTests/Tarantino.UnitTests.csproj
/trunk/src/Tarantino.sln

=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/DeployerCoreDependencyRegistrar.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,16 @@
+using StructureMap;
+
+namespace Tarantino.Deployer.Core
+{
+ public class DeployerCoreDependencyRegistrar
+ {
+ public static void Register()
+ {
+ ObjectFactory.Initialize(x => x.Scan(s =>
+ {
+ s.TheCallingAssembly();
+ s.LookForRegistries();
+ }));
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/DeployerCoreDependencyRegistry.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,17 @@
+using StructureMap.Configuration.DSL;
+
+namespace Tarantino.Deployer.Core
+{
+ public class DeployerCoreDependencyRegistry : Registry
+ {
+ protected override void configure()
+ {
+ Scan(x =>
+ {
+ x.TheCallingAssembly();
+ x.LookForRegistries();
+ x.WithDefaultConventions();
+ });
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Model/Deployment.cs Tue Dec 29
12:09:43 2009
@@ -0,0 +1,35 @@
+using System;
+using Tarantino.Core.Commons.Model;
+
+namespace Tarantino.Deployer.Core.Model
+{
+ public class Deployment : PersistentObject
+ {
+ public const string APPLICATION = "Application";
+ public const string ENVIRONMENT = "Environment";
+ public const string DEPLOYED_ON = "DeployedOn";
+ public const string CERTIFIED_ON = "CertifiedOn";
+ public const string RESULT = "Result";
+
+ public virtual string Application { get; set; }
+ public virtual string Environment { get; set; }
+ public virtual int Revision { get; set; }
+ public virtual DateTime DeployedOn { get; set; }
+ public virtual DateTime? CertifiedOn { get; set; }
+ public virtual string DeployedBy { get; set; }
+ public virtual string CertifiedBy { get; set; }
+ public virtual DeploymentOutput Output { get; set; }
+ public virtual DeploymentResult Result { get; set; }
+
+ public override string ToString()
+ {
+ return Revision.ToString();
+ }
+
+ public virtual void SetOutput(DeploymentOutput output)
+ {
+ Output = output;
+ output.Deployment = this;
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Model/DeploymentOutput.cs Tue Dec 29
12:09:43 2009
@@ -0,0 +1,10 @@
+using Tarantino.Core.Commons.Model;
+
+namespace Tarantino.Deployer.Core.Model
+{
+ public class DeploymentOutput : PersistentObject
+ {
+ public virtual string Output { get; set; }
+ public virtual Deployment Deployment { get; set; }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Model/DeploymentResult.cs Tue Dec 29
12:09:43 2009
@@ -0,0 +1,18 @@
+using Tarantino.Core.Commons.Model.Enumerations;
+
+namespace Tarantino.Deployer.Core.Model
+{
+ public class DeploymentResult : Enumeration
+ {
+ public static readonly DeploymentResult Success = new
DeploymentResult(1, "Success");
+ public static readonly DeploymentResult Failure = new
DeploymentResult(2, "Failure");
+
+ public DeploymentResult()
+ {
+ }
+
+ public DeploymentResult(int value, string displayName) : base(value,
displayName)
+ {
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Properties/AssemblyInfo.cs Tue Dec
29 12:09:43 2009
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the
following
+// set of attributes. Change these attribute values to modify the
information
+// associated with an assembly.
+[assembly: AssemblyTitle("Tarantino.Deployer.Core")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Tarantino.Deployer.Core")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is
exposed to COM
+[assembly: Guid("9c5e80c7-0360-45db-add0-da0f0e04fd94")]
+
+// Version information for an assembly consists of the following four
values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and
Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Configuration/IApplicationRepository.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,13 @@
+using Tarantino.Core.Commons.Services.Configuration.Impl;
+using Tarantino.Deployer.Core.Services.Configuration.Impl;
+
+
+namespace Tarantino.Deployer.Core.Services.Configuration
+{
+
+ public interface IApplicationRepository
+ {
+ ElementCollection<Application> GetAll();
+ Application GetByName(string applicationName);
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/Application.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,56 @@
+using System.Configuration;
+using Tarantino.Core.Commons.Services.Configuration.Impl;
+
+namespace Tarantino.Deployer.Core.Services.Configuration.Impl
+{
+ public sealed class Application : NamedElement
+ {
+ [ConfigurationProperty("Url", IsRequired = true)]
+ public string Url
+ {
+ get { return (string)this["Url"]; }
+ }
+
+ [ConfigurationProperty("ZipFile", IsRequired = true)]
+ public string ZipFile
+ {
+ get { return (string)this["ZipFile"]; }
+ }
+
+ [ConfigurationProperty("Username", IsRequired = false)]
+ public string Username
+ {
+ get { return (string)this["Username"]; }
+ }
+
+ [ConfigurationProperty("Password", IsRequired = false)]
+ public string Password
+ {
+ get { return (string)this["Password"]; }
+ }
+
+ [ConfigurationProperty("Environments", IsDefaultCollection = false)]
+ public ElementCollection<Environment> Environments
+ {
+ get { return (ElementCollection<Environment>)base["Environments"]; }
+ }
+
+ public override string GetElementName()
+ {
+ return "Application";
+ }
+
+ public Environment GetEnvironmentByName(string environmentName)
+ {
+ foreach (Environment environment in Environments)
+ {
+ if (environment.Name == environmentName)
+ {
+ return environment;
+ }
+ }
+
+ return null;
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/ApplicationRepository.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,37 @@
+using Tarantino.Core.Commons.Services.Configuration;
+using Tarantino.Core.Commons.Services.Configuration.Impl;
+
+namespace Tarantino.Deployer.Core.Services.Configuration.Impl
+{
+ public class ApplicationRepository : IApplicationRepository
+ {
+ private readonly IApplicationConfiguration _configuration;
+
+ public ApplicationRepository(IApplicationConfiguration configuration)
+ {
+ _configuration = configuration;
+ }
+
+ public ElementCollection<Application> GetAll()
+ {
+ object sectionObject = _configuration.GetSection("DeployerSettings");
+
+ var handler = (DeployerSettingsConfigurationHandler) sectionObject;
+
+ return handler.Applications;
+ }
+
+ public Application GetByName(string applicationName)
+ {
+ foreach (Application application in GetAll())
+ {
+ if (application.Name == applicationName)
+ {
+ return application;
+ }
+ }
+
+ return null;
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/DeployerSettingsConfigurationHandler.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,14 @@
+using System.Configuration;
+using Tarantino.Core.Commons.Services.Configuration.Impl;
+
+namespace Tarantino.Deployer.Core.Services.Configuration.Impl
+{
+ public class DeployerSettingsConfigurationHandler : ConfigurationSection
+ {
+ [ConfigurationProperty("Applications", IsDefaultCollection = true)]
+ public ElementCollection<Application> Applications
+ {
+ get { return (ElementCollection<Application>)base["Applications"]; }
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Configuration/Impl/Environment.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,20 @@
+using System.Configuration;
+using Tarantino.Core.Commons.Services.Configuration.Impl;
+
+namespace Tarantino.Deployer.Core.Services.Configuration.Impl
+{
+ public sealed class Environment : NamedElement
+ {
+ [ConfigurationProperty("Predecessor", IsRequired = false)]
+ public string Predecessor
+ {
+ get { return (string) this["Predecessor"]; }
+ set { this["Predecessor"] = value; }
+ }
+
+ public override string GetElementName()
+ {
+ return "Environment";
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/IDeploymentFactory.cs Tue
Dec 29 12:09:43 2009
@@ -0,0 +1,10 @@
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services
+{
+
+ public interface IDeploymentFactory
+ {
+ Deployment CreateDeployment(string application, string environment,
string deployedBy, string output);
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/IDeploymentRecorder.cs Tue
Dec 29 12:09:43 2009
@@ -0,0 +1,7 @@
+namespace Tarantino.Deployer.Core.Services
+{
+ public interface IDeploymentRecorder
+ {
+ int RecordDeployment(string application, string environment, string
output);
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/IDeploymentRepository.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,14 @@
+using System.Collections.Generic;
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services
+{
+
+ public interface IDeploymentRepository
+ {
+ IEnumerable<Deployment> Find(string application, string environment);
+ IEnumerable<Deployment> FindSuccessfulUncertified(string application,
string environment);
+ IEnumerable<Deployment> FindCertified(string application, string
environment);
+ void Save(Deployment deployment);
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/IDeploymentResultCalculator.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,10 @@
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services
+{
+
+ public interface IDeploymentResultCalculator
+ {
+ DeploymentResult GetResult(string output);
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/IRevisionCertifier.cs Tue
Dec 29 12:09:43 2009
@@ -0,0 +1,11 @@
+using Tarantino.Deployer.Core.Model;
+
+
+namespace Tarantino.Deployer.Core.Services
+{
+
+ public interface IRevisionCertifier
+ {
+ void Certify(Deployment deployment);
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/IRevisionNumberParser.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,10 @@
+
+
+namespace Tarantino.Deployer.Core.Services
+{
+
+ public interface IRevisionNumberParser
+ {
+ int Parse(string output);
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/Impl/DeploymentFactory.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,38 @@
+using Tarantino.Core.Commons.Services.Environment;
+using Tarantino.Deployer.Core.Model;
+
+
+namespace Tarantino.Deployer.Core.Services.Impl
+{
+
+ public class DeploymentFactory : IDeploymentFactory
+ {
+ private readonly ISystemClock _clock;
+ private readonly IRevisionNumberParser _revisionNumberParser;
+ private readonly IDeploymentResultCalculator _resultCalculator;
+
+ public DeploymentFactory(ISystemClock clock, IRevisionNumberParser
revisionNumberParser, IDeploymentResultCalculator resultCalculator)
+ {
+ _clock = clock;
+ _revisionNumberParser = revisionNumberParser;
+ _resultCalculator = resultCalculator;
+ }
+
+ public Deployment CreateDeployment(string application, string
environment, string deployedBy, string output)
+ {
+ var deployment = new Deployment
+ {
+ Application = application,
+ Environment = environment,
+ Revision = _revisionNumberParser.Parse(output),
+ DeployedBy = deployedBy,
+ DeployedOn = _clock.GetCurrentDateTime(),
+ Result = _resultCalculator.GetResult(output)
+ };
+
+ deployment.SetOutput(new DeploymentOutput {Output = output});
+
+ return deployment;
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/Impl/DeploymentRecorder.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,30 @@
+using Tarantino.Core.Commons.Services.Security;
+using Tarantino.Deployer.Core.Model;
+
+
+namespace Tarantino.Deployer.Core.Services.Impl
+{
+
+ public class DeploymentRecorder : IDeploymentRecorder
+ {
+ private readonly ISecurityContext _securityContext;
+ private readonly IDeploymentFactory _factory;
+ private readonly IDeploymentRepository _repository;
+
+ public DeploymentRecorder(ISecurityContext securityContext,
IDeploymentFactory factory, IDeploymentRepository repository)
+ {
+ _securityContext = securityContext;
+ _factory = factory;
+ _repository = repository;
+ }
+
+ public int RecordDeployment(string application, string environment,
string output)
+ {
+ string deployedBy = _securityContext.GetCurrentUsername();
+ Deployment deployment = _factory.CreateDeployment(application,
environment, deployedBy, output);
+ _repository.Save(deployment);
+
+ return deployment.Revision;
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Impl/DeploymentResultCalculator.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,15 @@
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services.Impl
+{
+
+ public class DeploymentResultCalculator : IDeploymentResultCalculator
+ {
+ public DeploymentResult GetResult(string output)
+ {
+ bool buildFailed = output.Contains("BUILD FAILED");
+ DeploymentResult result = buildFailed ? DeploymentResult.Failure :
DeploymentResult.Success;
+ return result;
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/Impl/RevisionCertifier.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,31 @@
+using Tarantino.Core.Commons.Services.Environment;
+using Tarantino.Core.Commons.Services.Security;
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services.Impl
+{
+ public class RevisionCertifier : IRevisionCertifier
+ {
+ private readonly ISystemClock _clock;
+ private readonly ISecurityContext _securityContext;
+ private readonly IDeploymentRepository _repository;
+
+ public RevisionCertifier(ISystemClock clock, ISecurityContext
securityContext, IDeploymentRepository repository)
+ {
+ _clock = clock;
+ _securityContext = securityContext;
+ _repository = repository;
+ }
+
+ public void Certify(Deployment deployment)
+ {
+ if (deployment != null)
+ {
+ deployment.CertifiedBy = _securityContext.GetCurrentUsername();
+ deployment.CertifiedOn = _clock.GetCurrentDateTime();
+
+ _repository.Save(deployment);
+ }
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/Impl/RevisionNumberParser.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,37 @@
+using System;
+
+
+namespace Tarantino.Deployer.Core.Services.Impl
+{
+
+ public class RevisionNumberParser : IRevisionNumberParser
+ {
+ private const string _searchString = "Working Revision Number: ";
+
+ public int Parse(string output)
+ {
+ int position = output.IndexOf(_searchString) + _searchString.Length;
+
+ if (position < _searchString.Length)
+ {
+ throw new ApplicationException("The term 'Working Revision Number:'
was not found in the build output. Could not determine the revision number
or record deployment occurence!");
+ }
+
+ string revisionNumberString = string.Empty;
+ while (getChar(output, position) != " " && getChar(output,
position) != "\n")
+ {
+ revisionNumberString += output.Substring(position, 1);
+ position++;
+ }
+
+ int revisionNumber = int.Parse(revisionNumberString);
+
+ return revisionNumber;
+ }
+
+ private string getChar(string output, int position)
+ {
+ return output.Substring(position, 1);
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/UI/IDeploymentRowFactory.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,9 @@
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services.UI
+{
+ public interface IDeploymentRowFactory
+ {
+ string[] ConstructRow(Deployment deployment);
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/UI/IDeploymentSelectionValidator.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,10 @@
+using Tarantino.Deployer.Core.Model;
+
+
+namespace Tarantino.Deployer.Core.Services.UI
+{
+ public interface IDeploymentSelectionValidator
+ {
+ bool IsValid(string revisionNumberText, Deployment selectedDeployment);
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Services/UI/ILabelTextGenerator.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,12 @@
+using Tarantino.Deployer.Core.Model;
+using Tarantino.Deployer.Core.Services.Configuration.Impl;
+
+
+namespace Tarantino.Deployer.Core.Services.UI
+{
+ public interface ILabelTextGenerator
+ {
+ string GetDeploymentText(Environment environment, string
revisionNumberText, Deployment deployment);
+ string GetCertificationText(string revisionNumberText, Deployment
deployment);
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl/DeploymentRowFactory.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,24 @@
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services.UI.Impl
+{
+ public class DeploymentRowFactory : IDeploymentRowFactory
+ {
+ #region IDeploymentRowFactory Members
+
+ public string[] ConstructRow(Deployment deployment)
+ {
+ string revision = deployment.Revision.ToString();
+ string deployedOn = deployment.DeployedOn.ToString("g");
+ string deployedBy = deployment.DeployedBy;
+ string result = deployment.Result.DisplayName;
+ string certifiedOn = deployment.CertifiedOn != null ?
deployment.CertifiedOn.Value.ToString("g") : string.Empty;
+ string certifiedBy = deployment.CertifiedBy;
+ string deploymentId = deployment.Id.ToString();
+
+ return new[] {revision, deployedOn, deployedBy, result, certifiedOn,
certifiedBy, deploymentId};
+ }
+
+ #endregion
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl/DeploymentSelectionValidator.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,14 @@
+using Tarantino.Deployer.Core.Services.UI;
+using Tarantino.Deployer.Core.Model;
+
+namespace Tarantino.Deployer.Core.Services.UI.Impl
+{
+ public class DeploymentSelectionValidator : IDeploymentSelectionValidator
+ {
+ public bool IsValid(string revisionNumberText, Deployment
selectedDeployment)
+ {
+ bool isValidDeployment = (revisionNumberText != string.Empty) &&
(selectedDeployment != null);
+ return isValidDeployment;
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Core/Services/UI/Impl/LabelTextGenerator.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,55 @@
+using System;
+using System.Text;
+using Tarantino.Deployer.Core.Services.UI;
+using Tarantino.Deployer.Core.Model;
+using
Environment=Tarantino.Deployer.Core.Services.Configuration.Impl.Environment;
+
+namespace Tarantino.Deployer.Core.Services.UI.Impl
+{
+ public class LabelTextGenerator : ILabelTextGenerator
+ {
+ private readonly IDeploymentSelectionValidator _validator;
+
+ public LabelTextGenerator(IDeploymentSelectionValidator validator)
+ {
+ _validator = validator;
+ }
+
+ public string GetDeploymentText(Configuration.Impl.Environment
environment, string revisionNumberText, Deployment deployment)
+ {
+ return getText(environment, revisionNumberText, deployment,
Action.Deploy);
+ }
+
+ public string GetCertificationText(string revisionNumberText, Deployment
deployment)
+ {
+ return getText(null, revisionNumberText, deployment, Action.Certify);
+ }
+
+ private string getText(Configuration.Impl.Environment environment,
string revisionNumberText, Deployment deployment, Action action)
+ {
+ StringBuilder text = new StringBuilder();
+
+ if (_validator.IsValid(revisionNumberText, deployment))
+ {
+ bool isDeployment = action == Action.Deploy;
+ string username = isDeployment ? deployment.DeployedBy :
deployment.CertifiedBy;
+ DateTime date = isDeployment ? deployment.DeployedOn :
deployment.CertifiedOn.Value;
+
+ if (environment != null)
+ {
+ text.AppendFormat("{0} on ", environment.Predecessor);
+ }
+
+ text.AppendFormat("{0} by {1}", date.ToString("g"), username);
+ }
+
+ return text.ToString();
+ }
+
+ enum Action
+ {
+ Deploy,
+ Certify
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Core/Tarantino.Deployer.Core.csproj Tue
Dec 29 12:09:43 2009
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)'
== '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{B8A3C121-563B-4DBE-AB99-8B18CEFFE611}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Tarantino.Deployer.Core</RootNamespace>
+ <AssemblyName>Tarantino.Deployer.Core</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|
AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|
AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="StructureMap, Version=2.5.2.0, Culture=neutral,
PublicKeyToken=e60ad81abae3c223, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\lib\StructureMap\2.5\StructureMap.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.configuration" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="DeployerCoreDependencyRegistrar.cs" />
+ <Compile Include="DeployerCoreDependencyRegistry.cs" />
+ <Compile Include="Model\Deployment.cs" />
+ <Compile Include="Model\DeploymentOutput.cs" />
+ <Compile Include="Model\DeploymentResult.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Services\Configuration\IApplicationRepository.cs" />
+ <Compile Include="Services\Configuration\Impl\Application.cs" />
+ <Compile
Include="Services\Configuration\Impl\ApplicationRepository.cs" />
+ <Compile
Include="Services\Configuration\Impl\DeployerSettingsConfigurationHandler.cs"
/>
+ <Compile Include="Services\Configuration\Impl\Environment.cs" />
+ <Compile Include="Services\IDeploymentFactory.cs" />
+ <Compile Include="Services\IDeploymentRecorder.cs" />
+ <Compile Include="Services\IDeploymentRepository.cs" />
+ <Compile Include="Services\IDeploymentResultCalculator.cs" />
+ <Compile Include="Services\Impl\DeploymentFactory.cs" />
+ <Compile Include="Services\Impl\DeploymentRecorder.cs" />
+ <Compile Include="Services\Impl\DeploymentResultCalculator.cs" />
+ <Compile Include="Services\Impl\RevisionCertifier.cs" />
+ <Compile Include="Services\Impl\RevisionNumberParser.cs" />
+ <Compile Include="Services\IRevisionCertifier.cs" />
+ <Compile Include="Services\IRevisionNumberParser.cs" />
+ <Compile Include="Services\UI\IDeploymentRowFactory.cs" />
+ <Compile Include="Services\UI\IDeploymentSelectionValidator.cs" />
+ <Compile Include="Services\UI\ILabelTextGenerator.cs" />
+ <Compile Include="Services\UI\Impl\DeploymentRowFactory.cs" />
+ <Compile Include="Services\UI\Impl\DeploymentSelectionValidator.cs" />
+ <Compile Include="Services\UI\Impl\LabelTextGenerator.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Tarantino.Core\Tarantino.Core.csproj">
+ <Project>{3F02EEBD-5B3B-4C5F-B2E7-4F5DFF6B3F03}</Project>
+ <Name>Tarantino.Core</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the
targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Mappings/Deployment.hbm.xml
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping
+ xmlns="urn:nhibernate-mapping-2.2"
+ auto-import="true"
+ namespace="Tarantino.Deployer.Core.Model"
+ assembly="Tarantino.Deployer.Core"
+ default-lazy="true">
+
+ <class name="Deployment" dynamic-update="true">
+ <id name="Id" column="DeploymentId" type="Guid" access="property">
+ <generator class="guid.comb" />
+ </id>
+
+ <property name="Application" />
+ <property name="Environment" />
+ <property name="DeployedOn" type="DateTime" />
+ <property name="DeployedBy" />
+ <property name="CertifiedOn" type="DateTime" />
+ <property name="CertifiedBy" />
+ <property name="Revision" type="int" />
+ <many-to-one name="Output" class="DeploymentOutput" unique="true"
column="DeploymentOutputId" cascade="all-delete-orphan"/>
+
+ <property name="Result"
type="Tarantino.Infrastructure.Commons.DataAccess.ORMapper.EnumerationType`1[[Tarantino.Deployer.Core.Model.DeploymentResult,
Tarantino.Deployer.Core]], Tarantino.Infrastructure" />
+ </class>
+</hibernate-mapping>
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Mappings/DeploymentOutput.hbm.xml
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping
+ xmlns="urn:nhibernate-mapping-2.2"
+ auto-import="true"
+ namespace="Tarantino.Deployer.Core.Model"
+ assembly="Tarantino.Deployer.Core"
+ default-lazy="true">
+
+ <class name="DeploymentOutput" dynamic-update="true">
+ <id name="Id" column="DeploymentOutputId" type="Guid" access="property">
+ <generator class="guid"/>
+ </id>
+
+ <property name="Output" />
+
+ <one-to-one name="Deployment" property-ref="Output" constrained="true"/>
+ </class>
+</hibernate-mapping>
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Infrastructure/DataAccess/Repositories/DeploymentRepository.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,63 @@
+using System.Collections.Generic;
+using Tarantino.Core.Commons.Model.Enumerations;
+using Tarantino.Core.Commons.Services.Repositories;
+using Tarantino.Deployer.Core.Model;
+using Tarantino.Deployer.Core.Services;
+
+namespace Tarantino.Deployer.Infrastructure.DataAccess.Repositories
+{
+ public class DeploymentRepository : IDeploymentRepository
+ {
+ private readonly IPersistentObjectRepository _repository;
+
+ public DeploymentRepository(IPersistentObjectRepository repository)
+ {
+ _repository = repository;
+ _repository.ConfigurationFile = "deployer.hibernate.cfg.xml";
+ }
+
+ public IEnumerable<Deployment> Find(string application, string
environment)
+ {
+ var criteria = getCriteria(application, environment);
+ var deployments = _repository.FindAll<Deployment>(criteria);
+
+ return deployments;
+ }
+
+ public void Save(Deployment deployment)
+ {
+ _repository.Save(deployment);
+ }
+
+ public IEnumerable<Deployment> FindSuccessfulUncertified(string
application, string environment)
+ {
+ var criteria = getCriteria(application, environment);
+ criteria.AddCriterion(new Criterion(Deployment.CERTIFIED_ON, null));
+ criteria.AddCriterion(new Criterion(Deployment.RESULT,
DeploymentResult.Success));
+ var deployments = _repository.FindAll<Deployment>(criteria);
+
+ return deployments;
+ }
+
+ public IEnumerable<Deployment> FindCertified(string application, string
environment)
+ {
+ var criteria = getCriteria(application, environment);
+ criteria.AddCriterion(new Criterion(Deployment.CERTIFIED_ON, null,
ComparisonOperator.NotEqual));
+ criteria.AddCriterion(new Criterion(Deployment.RESULT,
DeploymentResult.Success));
+ var deployments = _repository.FindAll<Deployment>(criteria);
+
+ return deployments;
+ }
+
+ private CriterionSet getCriteria(string application, string environment)
+ {
+ var criteria = new CriterionSet();
+ criteria.AddCriterion(new Criterion(Deployment.APPLICATION,
application));
+ criteria.AddCriterion(new Criterion(Deployment.ENVIRONMENT,
environment));
+ criteria.OrderBy = Deployment.DEPLOYED_ON;
+ criteria.SortOrder = SortOrder.Descending;
+
+ return criteria;
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Infrastructure/DeployerInfrastructureDependencyRegistrar.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,23 @@
+using StructureMap;
+using Tarantino.Core;
+using Tarantino.Deployer.Core;
+using Tarantino.Infrastructure;
+
+namespace Tarantino.Deployer.Infrastructure
+{
+ public class DeployerInfrastructureDependencyRegistrar
+ {
+ public static void RegisterInfrastructure()
+ {
+ ObjectFactory.Initialize(x => x.Scan(s =>
+ {
+
s.AssemblyContainingType<InfrastructureDependencyRegistry>();
+
s.AssemblyContainingType<CoreDependencyRegistry>();
+
s.AssemblyContainingType<DeployerInfrastructureDependencyRegistry>();
+
s.AssemblyContainingType<DeployerCoreDependencyRegistry>();
+ s.LookForRegistries();
+ s.WithDefaultConventions();
+ }));
+ }
+ }
+}
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Infrastructure/DeployerInfrastructureDependencyRegistry.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,16 @@
+using StructureMap.Configuration.DSL;
+
+namespace Tarantino.Deployer.Infrastructure
+{
+ public class DeployerInfrastructureDependencyRegistry : Registry
+ {
+ protected override void configure()
+ {
+ Scan(y =>
+ {
+ y.TheCallingAssembly();
+ y.WithDefaultConventions();
+ });
+ }
+ }
+}
=======================================
--- /dev/null
+++ /trunk/src/Tarantino.Deployer.Infrastructure/Properties/AssemblyInfo.cs
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the
following
+// set of attributes. Change these attribute values to modify the
information
+// associated with an assembly.
+[assembly: AssemblyTitle("Tarantino.Deployer.Infrastructure")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Tarantino.Deployer.Infrastructure")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is
exposed to COM
+[assembly: Guid("2ee7bdbd-f927-4f65-8056-2186d81f083f")]
+
+// Version information for an assembly consists of the following four
values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and
Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
=======================================
--- /dev/null
+++
/trunk/src/Tarantino.Deployer.Infrastructure/Tarantino.Deployer.Infrastructure.csproj
Tue Dec 29 12:09:43 2009
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)'
== '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{8D37B5F4-AC69-4A31-9A94-1B45E9D516E9}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Tarantino.Deployer.Infrastructure</RootNamespace>
+ <AssemblyName>Tarantino.Deployer.Infrastructure</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|
AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|
AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="StructureMap, Version=2.5.2.0, Culture=neutral,
PublicKeyToken=e60ad81abae3c223, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\lib\StructureMap\2.5\StructureMap.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Configuration" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web.Extensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="DataAccess\Repositories\DeploymentRepository.cs" />
+ <Compile Include="DeployerInfrastructureDependencyRegistrar.cs" />
+ <Compile Include="DeployerInfrastructureDependencyRegistry.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="DataAccess\Mappings\Deployment.hbm.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource
Include="DataAccess\Mappings\DeploymentOutput.hbm.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Tarantino.Core\Tarantino.Core.csproj">
+ <Project>{3F02EEBD-5B3B-4C5F-B2E7-4F5DFF6B3F03}</Project>
+ <Name>Tarantino.Core</Name>
+ </ProjectReference>
+ <ProjectReference
Include="..\Tarantino.Deployer.Core\Tarantino.Deployer.Core.csproj">
+ <Project>{B8A3C121-563B-4DBE-AB99-8B18CEFFE611}</Project>
+ <Name>Tarantino.Deployer.Core</Name>
+ </ProjectReference>
+ <ProjectReference
Include="..\Tarantino.Infrastructure\Tarantino.Infrastructure.csproj">
+ <Project>{09CFC9B9-3915-4BB7-B5EB-E85D474D84A9}</Project>
+ <Name>Tarantino.Infrastructure</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the
targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
=======================================
***Additional files exist in this changeset.***
Reply all
Reply to author
Forward
0 new messages