Beispiel #1
0
        protected ExecResult External(string Dir, string Option, ArgumentList Args, OptRewrite[] Rewrite)
        {
            int Separator = Option.IndexOf(".exe");

            if (Separator == -1)
            {
                return(new ERError($"Fail to detect .exe"));
            }

            string Exe     = Option.Substring(0, Separator + 4);
            string ExeArgs = Option.Substring(Separator + 5);

            ExternalToolResult Output = ExternalExec.Exec(Exe, ExeArgs, Args, Rewrite);

            if (Output != null)
            {
                if (Output.ExitCode == 0)
                {
                    return(new EROk());
                }
                else
                {
                    return(new ERError(Output.Result));
                }
            }
            else
            {
                return(new ERError($"Fail"));
            }
        }
Beispiel #2
0
 public string Get(ExternalToolResult R)
 {
     try
     {
         return(Check(R));
     }
     catch (Exception E)
     {
         Log.WriteLine(E.Message);
         return(null);
     }
 }
Beispiel #3
0
        protected override string Check(ExternalToolResult R)
        {
            foreach (var L in R.Lines)
            {
                if (L.IndexOf(Mask) >= 0)
                {
                    return(L);
                }
            }

            return(null);
        }
Beispiel #4
0
        private string GetMessage(ExternalToolResult Result, List <XMLResultDetector> Mask)
        {
            var T = Result.Result.Split(new char[] { '\n', '\r' });

            foreach (var M in Mask)
            {
                var R = M.Get(Result);
                if (R != null)
                {
                    return(R);
                }
            }
            return(null);
        }
        private void CheckDiff()
        {
            DiffToolInfo       info   = new DiffToolInfo(this.TargetFile.WorkspaceFolder.Path, this.m_OutputFolder.Path);
            ExternalToolResult result = this.m_DiffTool.Start(info);

            if (result.ResultCode == ExternalToolResultCode.Failed)
            {
                //Failedの場合、詳細を確認
                if (result is DiffToolResult diffResult)
                {
                    //ツールが存在しなかった場合(未指定含む)、標準のFolderCompareWindowを表示
                    if (!diffResult.ExistTool)
                    {
                        this.ShowCompareWindow();
                    }
                }
            }
        }
Beispiel #6
0
        protected override string Check(ExternalToolResult R)
        {
            foreach (var L in R.Lines)
            {
                var match = Regex.Matches(R.Result, Pattern, RegexOptions.IgnoreCase);
                if (match.Count > 0)
                {
                    var Text = "";
                    foreach (Match M in match)
                    {
                        Text += M.Value + "\n";
                    }

                    return(Text);
                }
            }

            return(null);
        }
Beispiel #7
0
 protected virtual string Check(ExternalToolResult R) => null;
Beispiel #8
0
 protected override string Check(ExternalToolResult R)
 {
     return((R.ExitCode != 0) ? R.Result : null);
 }