Beispiel #1
0
        /// <summary>
        /// called by msbuild
        /// </summary>
        public bool Execute()
        {
            try
            {
                DisplayGPLText();

                var build = new Build();
                build.SourcePaths.AddRange(Split(SourcePaths));
                build.AddIgnoreSourcePaths(Split(IgnoreSourcePaths));
                build.PreCompiledDllPaths.AddRange(Split(DllPaths));
                build.SetLanguageType(Language);
                build.Scan();
                if (IsDebugConfiguration(ResolveForConfiguration))
                {
                    build.ResolveForDebugConfiguration();
                }
                else
                {
                    build.ResolveForReleaseConfiguration();
                }

                build.WriteMSBuildFile(Output);

                BuildEngine.LogMessageEvent(new BuildMessageEventArgs(
                                                "Succeded to generate " + Output,
                                                "",
                                                "",
                                                MessageImportance.High));

                if (Logger.ErrorCounter > 0)
                {
                    BuildEngine.LogMessageEvent(new BuildMessageEventArgs(
                                                    Logger.ErrorCounter + " Errors during nConfigure",
                                                    "",
                                                    "",
                                                    MessageImportance.High));
                    return(false);
                }
                return(true);
            }
            catch (Exception e)
            {
                BuildEngine.LogMessageEvent(new BuildMessageEventArgs(
                                                "Exception during nCongfigure" + e.Message,
                                                "",
                                                "",
                                                MessageImportance.High));
                return(false);
            }
        }