Exemplo n.º 1
0
        //=====================================================================

        /// <summary>
        /// This builds the topics based on the configuration and manifest
        /// </summary>
        /// <returns>True on success, false on failure</returns>
        private bool BuildTopics()
        {
            // Create a build assembler instance to do the work.  Messages are logged to the task log.
            this.BuildAssemblerInstance = new BuildAssemblerCore((lvl, msg) => this.WriteMessage(lvl, msg));

            try
            {
                // Execute it using the given configuration and manifest
                this.BuildAssemblerInstance.Execute(this.ConfigurationFile, this.ManifestFile);
            }
            catch (Exception ex)
            {
                // Ignore aggregate exceptions where the inner exception is OperationCanceledException.
                // These are the result of logging an error message.
                if (!(ex is AggregateException) || !(ex.InnerException is OperationCanceledException))
                {
                    System.Diagnostics.Debug.WriteLine(ex);
                    this.WriteMessage(LogLevel.Error, ex.GetExceptionMessage());
                }

                return(false);
            }
            finally
            {
                this.BuildAssemblerInstance.Dispose();
            }

            return(true);
        }
        public XsdResolveLinksComponent(BuildAssemblerCore assembler)
            : base(assembler)
        {
            var versionInfo = GetVersionInfo();
            var message     = string.Format(CultureInfo.CurrentCulture, Resources.ComponentLogoFormatted, versionInfo.ProductName, versionInfo.ProductVersion, versionInfo.LegalCopyright);

            WriteMessage(MessageLevel.Info, message);
        }
Exemplo n.º 3
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        /// <param name="generatorFactories">The list of available syntax generator factory components</param>
        protected SyntaxComponent(BuildAssemblerCore buildAssembler,
                                  List <Lazy <ISyntaxGeneratorFactory, ISyntaxGeneratorMetadata> > generatorFactories) : base(buildAssembler)
        {
            this.generatorFactories = generatorFactories;

            generatorLanguages = new HashSet <string>(StringComparer.OrdinalIgnoreCase);
            languageSet        = new List <ISyntaxGeneratorMetadata>();
            languageOrder      = new Dictionary <string, int>();

            // Generate a list of all possible language IDs for code snippets from the available generators
            codeSnippetLanguages = new Dictionary <string, ISyntaxGeneratorMetadata>(StringComparer.OrdinalIgnoreCase);

            foreach (var factory in generatorFactories)
            {
                codeSnippetLanguages[factory.Metadata.Id] = factory.Metadata;

                foreach (string alternateId in (factory.Metadata.AlternateIds ?? String.Empty).Split(
                             new[] { ',', ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    codeSnippetLanguages[alternateId] = factory.Metadata;
                }
            }
        }
Exemplo n.º 4
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected $safeprojectname$Component(BuildAssemblerCore buildAssembler) : base(buildAssembler)
Exemplo n.º 5
0
        /// <summary>
        /// Main program entry point (MSBuild task)
        /// </summary>
        /// <param name="args">The command line arguments</param>
        /// <returns>Zero on success or one on failure</returns>
        public static int MainEntryPoint(string[] args)
        {
            int exitCode = 0;

            ConsoleApplication.WriteBanner();

            #region Read command line arguments, and setup config

            // Specify options
            OptionCollection options = new OptionCollection
            {
                new SwitchOption("?", "Show this help page."),
                new StringOption("config", "Specify a configuration file.", "configFilePath")
            };

            // Process options
            ParseArgumentsResult results = options.ParseArguments(args);

            // Process help option
            if (results.Options["?"].IsPresent)
            {
                Console.WriteLine("BuildAssembler [options] manifestFilename");
                options.WriteOptionSummary(Console.Out);
                return(1);
            }

            // check for invalid options
            if (!results.Success)
            {
                results.WriteParseErrors(Console.Out);
                return(1);
            }

            // Check for manifest
            if (results.UnusedArguments.Count != 1)
            {
                Console.WriteLine("You must supply exactly one manifest file.");
                return(1);
            }

            string manifest = results.UnusedArguments[0];

            // Load the configuration file
            XPathDocument configuration;

            try
            {
                if (results.Options["config"].IsPresent)
                {
                    configuration = ConsoleApplication.GetConfigurationFile((string)results.Options["config"].Value);
                }
                else
                {
                    configuration = ConsoleApplication.GetConfigurationFile();
                }
            }
            catch (IOException e)
            {
                ConsoleApplication.WriteMessage(LogLevel.Error, "The specified configuration file could not " +
                                                "be loaded. The error message is: {0}", e.Message);
                return(1);
            }
            catch (XmlException e)
            {
                ConsoleApplication.WriteMessage(LogLevel.Error, "The specified configuration file is not " +
                                                "well-formed. The error message is: {0}", e.Message);
                return(1);
            }
            #endregion

            // Create a build assembler instance to do the work.  Messages are logged to the console logger.
            BuildAssembler = new BuildAssemblerCore((lvl, msg) => ConsoleApplication.WriteMessage(lvl, msg));

            try
            {
                // Execute it using the given configuration and manifest
                BuildAssembler.Execute(configuration, manifest);
            }
            catch (Exception ex)
            {
                // Ignore aggregate exceptions where the inner exception is OperationCanceledException.
                // These are the result of logging an error message.
                if (!(ex is AggregateException) || !(ex.InnerException is OperationCanceledException))
                {
                    System.Diagnostics.Debug.WriteLine(ex);
                    ConsoleApplication.WriteMessage(LogLevel.Error, ex.GetExceptionMessage());
                }

                exitCode = 1;
            }
            finally
            {
                BuildAssembler.Dispose();
            }

            return(exitCode);
        }
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ExampleComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 7
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        /// <param name="copyComponentFactories">The list of available copy component factory components</param>
        protected CopyFromIndexComponent(BuildAssemblerCore buildAssembler,
                                         List <Lazy <ICopyComponentFactory, ICopyComponentMetadata> > copyComponentFactories) : base(buildAssembler)
        {
            this.copyComponentFactories = copyComponentFactories;
        }
Exemplo n.º 8
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="buildAssembler">A reference to the build assembler</param>
 protected PlatformsComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
 {
 }
Exemplo n.º 9
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected MSHCComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 10
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ShfbLatexComponent(BuildAssemblerCore buildAssembler)
            : base(buildAssembler)
        {
        }
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ResolveConceptualLinksComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ValidateComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 13
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected MultiFormatOutputComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 14
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected BrandingComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 15
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected BuildComponentCore(BuildAssemblerCore buildAssembler)
        {
            this.BuildAssembler = buildAssembler;
        }
Exemplo n.º 16
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected LanguageSpecificTextComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected AdditionalHeaderResourcesComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 18
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ShowMissingComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 19
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected CopyFromFileComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 20
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected SqlCopyFromIndexComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler, null)
        {
        }
Exemplo n.º 21
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ResolveReferenceLinksComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 22
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="buildAssembler">A reference to the build assembler</param>
 protected TaskGrabberComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
 {
 }
Exemplo n.º 23
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected BuildComponentCore(BuildAssemblerCore buildAssembler)
        {
            this.BuildAssembler = buildAssembler;
        }
Exemplo n.º 24
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected SaveComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 25
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected IfThenComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 26
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected IntelliSenseComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
            // No bounded capacity by default
            commentsList = new BlockingCollection <CommentsInfo>();
        }
Exemplo n.º 27
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected SharedContentComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 28
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected ResolveArtLinksComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 29
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected DisplayComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
Exemplo n.º 30
0
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected TransformComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }
        //=====================================================================

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="buildAssembler">A reference to the build assembler</param>
        protected PreTransformDocumentDumpComponent(BuildAssemblerCore buildAssembler) : base(buildAssembler)
        {
        }