コード例 #1
0
        public PublishingService(IFilesystemAccessor filesystemAccessor, IPackageServerFactory packageServerFactory, IPublishConfigurationAccessor publishConfigurationAccessor)
        {
            if (filesystemAccessor == null)
            {
                throw new ArgumentNullException("filesystemAccessor");
            }

            if (packageServerFactory == null)
            {
                throw new ArgumentNullException("packageServerFactory");
            }

            if (publishConfigurationAccessor == null)
            {
                throw new ArgumentNullException("publishConfigurationAccessor");
            }

            this.filesystemAccessor = filesystemAccessor;
            this.packageServerFactory = packageServerFactory;
            this.publishConfigurationAccessor = publishConfigurationAccessor;
        }
コード例 #2
0
        public PublishingTargetConfigurationCommand(IUserInterface userInterface, IPublishingTargetConfigurationCommandActionParser publishingTargetConfigurationCommandActionParser, IPublishConfigurationAccessor publishConfigurationAccessor)
        {
            if (userInterface == null)
            {
                throw new ArgumentNullException("userInterface");
            }

            if (publishingTargetConfigurationCommandActionParser == null)
            {
                throw new ArgumentNullException("publishingTargetConfigurationCommandActionParser");
            }

            if (publishConfigurationAccessor == null)
            {
                throw new ArgumentNullException("publishConfigurationAccessor");
            }

            this.userInterface = userInterface;
            this.publishingTargetConfigurationCommandActionParser = publishingTargetConfigurationCommandActionParser;
            this.publishConfigurationAccessor = publishConfigurationAccessor;

            this.Attributes = new CommandAttributes
                {
                    CommandName = CommandName,
                    AlternativeCommandNames = this.AlternativeCommandNames,
                    RequiredArguments = new[] { ArgumentNameAction, ArgumentNamePublishConfigurationName, ArgumentNamePublishLocation, ArgumentNameApiKey },
                    PositionalArguments = new[] { ArgumentNameAction, ArgumentNamePublishConfigurationName, ArgumentNamePublishLocation, ArgumentNameApiKey },
                    Description = Resources.PublishingTargetConfigurationCommand.CommandDescriptionText,
                    Usage =
                        string.Format(
                            "{0} <{1}> <{2}> <{3}>", CommandName, string.Join("|", this.AllowedActions), ArgumentNamePublishConfigurationName, ArgumentNamePublishLocation),
                    Examples =
                        new Dictionary<string, string>
                            {
                                {
                                    string.Format(
                                        "{0} {1} \"{2}\" \"{3}\" \"{4}\"",
                                        CommandName,
                                        PublishingTargetConfigurationCommandAction.Add,
                                        Resources.PublishingTargetConfigurationCommand.SamplePublishingTargetName,
                                        Resources.PublishingTargetConfigurationCommand.SamplePublishingLocation,
                                        Resources.PublishingTargetConfigurationCommand.SampleApiKey),
                                    Resources.PublishingTargetConfigurationCommand.AddCommandExampleDescriptionNamedArguments
                                    },
                                {
                                    string.Format(
                                        "{0} -{1}={2} -{3}=\"{4}\" -{5}=\"{6}\" -{7}=\"{8}\"",
                                        CommandName,
                                        ArgumentNameAction,
                                        PublishingTargetConfigurationCommandAction.Add,
                                        ArgumentNamePublishConfigurationName,
                                        Resources.PublishingTargetConfigurationCommand.SamplePublishingTargetName,
                                        ArgumentNamePublishLocation,
                                        Resources.PublishingTargetConfigurationCommand.SamplePublishingLocation,
                                        ArgumentNameApiKey,
                                        Resources.PublishingTargetConfigurationCommand.SampleApiKey),
                                    Resources.PublishingTargetConfigurationCommand.AddCommandExampleDescriptionNamedArguments
                                    },
                                {
                                    string.Format(
                                        "{0} {1} \"{2}\"",
                                        CommandName,
                                        PublishingTargetConfigurationCommandAction.Delete,
                                        Resources.PublishingTargetConfigurationCommand.SamplePublishingTargetName),
                                    Resources.PublishingTargetConfigurationCommand.DeleteCommandExampleDescriptionPositionalArguments
                                    },
                                {
                                    string.Format("{0} {1}", CommandName, PublishingTargetConfigurationCommandAction.Reset),
                                    Resources.PublishingTargetConfigurationCommand.ResetCommandExampleDescription
                                    },
                                {
                                    string.Format("{0} {1}", CommandName, PublishingTargetConfigurationCommandAction.List),
                                    Resources.PublishingTargetConfigurationCommand.ListCommandExampleDescription
                                    }
                            },
                    ArgumentDescriptions =
                        new Dictionary<string, string>
                            {
                                {
                                    ArgumentNameAction,
                                    string.Format(
                                        Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionPublishingTargetActionTemplate,
                                        string.Join(", ", this.AllowedActions))
                                    },
                                { ArgumentNamePublishConfigurationName, Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionPublishConfigurationName },
                                { ArgumentNamePublishLocation, Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionPublishLocation },
                                { ArgumentNameApiKey, Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionApiKey }
                            }
                };

            this.Arguments = new Dictionary<string, string>();
        }
コード例 #3
0
        public void Setup()
        {
            this.applicationInformation = ApplicationInformationProvider.GetApplicationInformation();
            IEncodingProvider encodingProvider = new DefaultFileEncodingProvider();
            IFilesystemAccessor filesystemAccessor = new PhysicalFilesystemAccessor(encodingProvider);
            IPackageServerFactory packageServerFactory = new PackageServerFactory();
            IPublishConfigurationFactory publishConfigurationFactory = new PublishConfigurationFactory();
            IObjectSerializer<PublishConfiguration[]> publishConfigurationSerializer = new JSONObjectSerializer<PublishConfiguration[]>();
            IFilesystemPersistence<PublishConfiguration[]> publishConfigurationPersistence = new FilesystemPersistence<PublishConfiguration[]>(filesystemAccessor, publishConfigurationSerializer);
            this.publishConfigurationAccessor = new ConfigFilePublishConfigurationAccessor(this.applicationInformation, publishConfigurationFactory, publishConfigurationPersistence);

            this.publishingService = new PublishingService(filesystemAccessor, packageServerFactory, this.publishConfigurationAccessor);

            this.localPublishingFolder = Path.Combine(this.applicationInformation.StartupFolder, "publish-target");
            this.samplePackageFilepath = Path.Combine(this.applicationInformation.StartupFolder, "IntegrationTests", "Publishing", SamplePackageFilename);
        }