コード例 #1
0
        protected override void Run()
        {
            var organizer         = new SnippetOrganizer(Options, FileAssociations);
            var manifestGenerator = new ManifestGenerator();

            var unpartitioned = organizer.CreateUnpartitionedWorkspace(OrderBy, SortDirection, HideMetaFiles);

            try
            {
                unpartitioned.Publish(Options, Overwrite);
                manifestGenerator.Add(unpartitioned);
            }
            catch (WorkspaceAlreadyExistsException e)
            {
                WriteWarning(e.Message);
            }

            var languagePackages = organizer.CreateWorkspacesByLanguage(OrderBy, SortDirection, HideMetaFiles);

            foreach (var languagePackage in languagePackages)
            {
                try
                {
                    languagePackage.Publish(Options, Overwrite);
                    manifestGenerator.Add(languagePackage);
                }
                catch (WorkspaceAlreadyExistsException e)
                {
                    WriteWarning(e.Message);
                }
            }

            var tagPackages = organizer.CreateWorkspacesByTag(OrderBy, SortDirection, HideMetaFiles);

            foreach (var tagPackage in tagPackages)
            {
                try
                {
                    tagPackage.Publish(Options, Overwrite);
                    manifestGenerator.Add(tagPackage);
                }
                catch (WorkspaceAlreadyExistsException e)
                {
                    WriteWarning(e.Message);
                }
            }

            var manifest = manifestGenerator.ToManifest(OrderBy, SortDirection);

            manifest.Publish(Options.WorkspacePath);

            if (Sync || Options.AutoSync)
            {
                CommitAndPush("New standard workspace");
            }
        }