Exemplo n.º 1
0
        private readonly ITeamCityClient _teamCityClient; // TODO IMM HI: abstract away?

        #endregion Fields

        #region Constructors

        public AgentService(
            IDeploymentPipeline deploymentPipeline,
            IProjectInfoRepository projectInfoRepository,
            IEnvironmentInfoRepository environmentInfoRepository,
            ITeamCityClient teamCityClient,
            IDeploymentRequestRepository deploymentRequestRepository,
            IDiagnosticMessagesLogger diagnosticMessagesLogger,
            IProjectMetadataExplorer projectMetadataExplorer,
            IDirPathParamsResolver dirPathParamsResolver)
        {
            Guard.NotNull(deploymentPipeline, "deploymentPipeline");
              Guard.NotNull(projectInfoRepository, "projectInfoRepository");
              Guard.NotNull(environmentInfoRepository, "environmentInfoRepository");
              Guard.NotNull(teamCityClient, "teamCityClient");
              Guard.NotNull(deploymentRequestRepository, "deploymentRequestRepository");
              Guard.NotNull(diagnosticMessagesLogger, "diagnosticMessagesLogger");
              Guard.NotNull(dirPathParamsResolver, "dirPathParamsResolver");

              _projectInfoRepository = projectInfoRepository;
              _environmentInfoRepository = environmentInfoRepository;
              _teamCityClient = teamCityClient;
              _deploymentPipeline = deploymentPipeline;
              _deploymentRequestRepository = deploymentRequestRepository;
              _diagnosticMessagesLogger = diagnosticMessagesLogger;
              _projectMetadataExplorer = projectMetadataExplorer;
              _dirPathParamsResolver = dirPathParamsResolver;
        }
Exemplo n.º 2
0
        public AgentService(
            IDeploymentPipeline deploymentPipeline,
            IProjectInfoRepository projectInfoRepository,
            IEnvironmentInfoRepository environmentInfoRepository,
            ITeamCityRestClient teamCityClient,
            IDeploymentRequestRepository deploymentRequestRepository,
            IDiagnosticMessagesLogger diagnosticMessagesLogger,
            IProjectMetadataExplorer projectMetadataExplorer,
            IDirPathParamsResolver dirPathParamsResolver,
            IApplicationConfiguration applicationConfiguration,
            IEnvironmentDeployInfoRepository environmentDeployInfoRepository,
            IEnvDeploymentPipeline envDeploymentPipeline)
        {
            Guard.NotNull(deploymentPipeline, "deploymentPipeline");
            Guard.NotNull(projectInfoRepository, "projectInfoRepository");
            Guard.NotNull(environmentInfoRepository, "environmentInfoRepository");
            Guard.NotNull(teamCityClient, "teamCityClient");
            Guard.NotNull(deploymentRequestRepository, "deploymentRequestRepository");
            Guard.NotNull(diagnosticMessagesLogger, "diagnosticMessagesLogger");
            Guard.NotNull(dirPathParamsResolver, "dirPathParamsResolver");
            Guard.NotNull(applicationConfiguration, "applicationConfiguration");
            Guard.NotNull(environmentDeployInfoRepository, "environmentDeployInfoRepository");
            Guard.NotNull(envDeploymentPipeline, "envDeploymentPipeline");

            _projectInfoRepository           = projectInfoRepository;
            _environmentInfoRepository       = environmentInfoRepository;
            _teamCityClient                  = teamCityClient;
            _deploymentPipeline              = deploymentPipeline;
            _deploymentRequestRepository     = deploymentRequestRepository;
            _diagnosticMessagesLogger        = diagnosticMessagesLogger;
            _projectMetadataExplorer         = projectMetadataExplorer;
            _dirPathParamsResolver           = dirPathParamsResolver;
            _applicationConfiguration        = applicationConfiguration;
            _environmentDeployInfoRepository = environmentDeployInfoRepository;
            _envDeploymentPipeline           = envDeploymentPipeline;
        }
        public override int Run(string[] args)
        {
            if (args.Length != 2)
            {
                DisplayCommandUsage();
                return(1);
            }

            string projectName           = args[0];
            string targetEnvironmentName = args[1];

            IProjectMetadataExplorer projectMetadataExplorer =
                ObjectFactory.Instance.CreateProjectMetadataExplorer();

            ProjectMetadata projectMetadata =
                projectMetadataExplorer.GetProjectMetadata(
                    projectName,
                    targetEnvironmentName);

            List <MachineSpecificProjectVersion> projectVersions =
                projectMetadata.ProjectVersions.ToList();

            if (projectVersions.Count == 0)
            {
                OutputWriter.WriteLine("No version info for project \"{0}\" on environment \"{1}\".", projectMetadata.ProjectName, projectMetadata.EnvironmentName);
            }
            else
            {
                foreach (MachineSpecificProjectVersion projectVersion in projectVersions)
                {
                    OutputWriter.WriteLine("Version of project \"{0}\" on environment \"{1}\" on machine \"{2}\" is: \"{3}\".", projectMetadata.ProjectName, projectMetadata.EnvironmentName, projectVersion.MachineName, projectVersion.ProjectVersion);
                }
            }

            return(0);
        }