From 7d81b531be1e08fdde1278bef4003a4e5b35595e Mon Sep 17 00:00:00 2001 From: sima-zhu Date: Thu, 16 Dec 2021 09:29:31 -0800 Subject: [PATCH 1/5] Exclude packages with implemetation in namespace --- src/java2yaml/Constants/Constants.cs | 1 + src/java2yaml/Program.cs | 5 ----- src/java2yaml/Steps/RunJavadoc.cs | 25 +++++++++++++++++++------ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/java2yaml/Constants/Constants.cs b/src/java2yaml/Constants/Constants.cs index e590a41..8df96fe 100644 --- a/src/java2yaml/Constants/Constants.cs +++ b/src/java2yaml/Constants/Constants.cs @@ -17,6 +17,7 @@ public static class Constants public const string InputPaths = "inputPaths"; public const string ExcludePaths = "excludePaths"; public const string ExcludePackages = "excludePackages"; + public const string ExcludePackagesPath = "Configs/excludeConfigs.txt"; public const string DocletPath = "docletPath"; public const string Src = @"src\"; diff --git a/src/java2yaml/Program.cs b/src/java2yaml/Program.cs index 78db45d..3142c1e 100644 --- a/src/java2yaml/Program.cs +++ b/src/java2yaml/Program.cs @@ -1,10 +1,5 @@ namespace Microsoft.Content.Build.Java2Yaml { - using System; - using System.Collections.Generic; - using System.Diagnostics; - using System.IO; - using System.Threading.Tasks; class Program { diff --git a/src/java2yaml/Steps/RunJavadoc.cs b/src/java2yaml/Steps/RunJavadoc.cs index 34fcba6..38348d8 100644 --- a/src/java2yaml/Steps/RunJavadoc.cs +++ b/src/java2yaml/Steps/RunJavadoc.cs @@ -1,10 +1,5 @@ namespace Microsoft.Content.Build.Java2Yaml { - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Text; - using System.Threading.Tasks; public class RunJavadoc : IStep { @@ -12,15 +7,21 @@ public RunJavadoc(string path, Package package) { RepositoryPath = path; ExcludePackages = package.ExcludePackages; + if (_excludeConfigs != null) + { + _excludeConfigs = loadExcludeRegexes(ExcludePackages); + } } public string StepName => "RunJavadoc"; public string RepositoryPath { get; } public string ExcludePackages { get; } + private static string _excludeConfigs { get; } private static ConfigModel _config; + public Task RunAsync(ConfigModel config) { return Task.Run(() => @@ -94,7 +95,7 @@ private string GenerateOptions(string repositoryPath, string excludePackages) options += " -excludePackages " + excludePackages; } - return options; + return options; } private string GetDependencies(string repositoryPath) @@ -150,5 +151,17 @@ private bool InExcludePaths(string dir) { return _config.ExcludePaths.Any(p => dir.StartsWith(p)); } + + private string loadExcludeRegexes(string excludePackages) + { + StringBuilder excludeStringBuilder = new StringBuilder(); + string[] lines = System.IO.File.ReadAllLines(Constants.ExcludePackagesPath); + foreach (string line in lines) + { + excludeStringBuilder.Append(line + ":"); + } + + return excludePackages + ":" + excludeStringBuilder.ToString().TrimEnd(':'); + } } } From 07e16da1907e49ca18c88f5b898ac1b7aee5921e Mon Sep 17 00:00:00 2001 From: sima-zhu Date: Thu, 16 Dec 2021 09:31:56 -0800 Subject: [PATCH 2/5] add file config --- src/java2yaml/Configs/excludeConfigs.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/java2yaml/Configs/excludeConfigs.txt diff --git a/src/java2yaml/Configs/excludeConfigs.txt b/src/java2yaml/Configs/excludeConfigs.txt new file mode 100644 index 0000000..f4b1ab8 --- /dev/null +++ b/src/java2yaml/Configs/excludeConfigs.txt @@ -0,0 +1 @@ +.*implementation.* \ No newline at end of file From b2f4794e8030f74ae5cd368e0500389386588f2c Mon Sep 17 00:00:00 2001 From: sima-zhu Date: Thu, 16 Dec 2021 13:57:44 -0800 Subject: [PATCH 3/5] Make the build run --- src/java2yaml/Constants/Constants.cs | 2 +- src/java2yaml/Program.cs | 5 +++++ src/java2yaml/Steps/RunJavadoc.cs | 14 ++++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/java2yaml/Constants/Constants.cs b/src/java2yaml/Constants/Constants.cs index 8df96fe..4bb31f1 100644 --- a/src/java2yaml/Constants/Constants.cs +++ b/src/java2yaml/Constants/Constants.cs @@ -17,7 +17,7 @@ public static class Constants public const string InputPaths = "inputPaths"; public const string ExcludePaths = "excludePaths"; public const string ExcludePackages = "excludePackages"; - public const string ExcludePackagesPath = "Configs/excludeConfigs.txt"; + public const string ExcludePackagesPath = "src/java2yaml/Configs/excludeConfigs.txt"; public const string DocletPath = "docletPath"; public const string Src = @"src\"; diff --git a/src/java2yaml/Program.cs b/src/java2yaml/Program.cs index 3142c1e..78db45d 100644 --- a/src/java2yaml/Program.cs +++ b/src/java2yaml/Program.cs @@ -1,5 +1,10 @@ namespace Microsoft.Content.Build.Java2Yaml { + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.IO; + using System.Threading.Tasks; class Program { diff --git a/src/java2yaml/Steps/RunJavadoc.cs b/src/java2yaml/Steps/RunJavadoc.cs index 38348d8..30149c2 100644 --- a/src/java2yaml/Steps/RunJavadoc.cs +++ b/src/java2yaml/Steps/RunJavadoc.cs @@ -1,23 +1,25 @@ namespace Microsoft.Content.Build.Java2Yaml { + using System.Collections.Generic; + using System.IO; + using System.Linq; + using System.Text; + using System.Threading.Tasks; public class RunJavadoc : IStep { + public RunJavadoc(string path, Package package) { RepositoryPath = path; ExcludePackages = package.ExcludePackages; - if (_excludeConfigs != null) - { - _excludeConfigs = loadExcludeRegexes(ExcludePackages); - } + loadExcludeRegexes(ExcludePackages); } public string StepName => "RunJavadoc"; public string RepositoryPath { get; } public string ExcludePackages { get; } - private static string _excludeConfigs { get; } private static ConfigModel _config; @@ -155,7 +157,7 @@ private bool InExcludePaths(string dir) private string loadExcludeRegexes(string excludePackages) { StringBuilder excludeStringBuilder = new StringBuilder(); - string[] lines = System.IO.File.ReadAllLines(Constants.ExcludePackagesPath); + string[] lines = File.ReadAllLines(Constants.ExcludePackagesPath); foreach (string line in lines) { excludeStringBuilder.Append(line + ":"); From f6f6c483c1eb53f374e2184d1133300d8fe895e6 Mon Sep 17 00:00:00 2001 From: sima-zhu Date: Thu, 16 Dec 2021 15:37:47 -0800 Subject: [PATCH 4/5] Add more checking --- src/java2yaml/Steps/RunJavadoc.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/java2yaml/Steps/RunJavadoc.cs b/src/java2yaml/Steps/RunJavadoc.cs index 30149c2..a5a2e2f 100644 --- a/src/java2yaml/Steps/RunJavadoc.cs +++ b/src/java2yaml/Steps/RunJavadoc.cs @@ -12,8 +12,7 @@ public class RunJavadoc : IStep public RunJavadoc(string path, Package package) { RepositoryPath = path; - ExcludePackages = package.ExcludePackages; - loadExcludeRegexes(ExcludePackages); + ExcludePackages = loadExcludeRegexes(package.ExcludePackages); } public string StepName => "RunJavadoc"; @@ -157,13 +156,18 @@ private bool InExcludePaths(string dir) private string loadExcludeRegexes(string excludePackages) { StringBuilder excludeStringBuilder = new StringBuilder(); + // Throw file exception if IO call failed. string[] lines = File.ReadAllLines(Constants.ExcludePackagesPath); + foreach (string line in lines) { excludeStringBuilder.Append(line + ":"); } - - return excludePackages + ":" + excludeStringBuilder.ToString().TrimEnd(':'); + if (excludeStringBuilder.Length > 0) + { + excludePackages += ":" + excludeStringBuilder.ToString(); + } + return excludePackages; } } } From 531fb646d4d99d4b9cb13cb9148fd3307adf6f39 Mon Sep 17 00:00:00 2001 From: sima-zhu Date: Thu, 16 Dec 2021 15:42:49 -0800 Subject: [PATCH 5/5] Silent IO exception --- src/java2yaml/Steps/RunJavadoc.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/java2yaml/Steps/RunJavadoc.cs b/src/java2yaml/Steps/RunJavadoc.cs index a5a2e2f..999db3b 100644 --- a/src/java2yaml/Steps/RunJavadoc.cs +++ b/src/java2yaml/Steps/RunJavadoc.cs @@ -1,5 +1,6 @@ namespace Microsoft.Content.Build.Java2Yaml { + using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -155,14 +156,22 @@ private bool InExcludePaths(string dir) private string loadExcludeRegexes(string excludePackages) { - StringBuilder excludeStringBuilder = new StringBuilder(); - // Throw file exception if IO call failed. - string[] lines = File.ReadAllLines(Constants.ExcludePackagesPath); - - foreach (string line in lines) + StringBuilder excludeStringBuilder = new(); + + // Silent on any exception thrown by IO. + try { - excludeStringBuilder.Append(line + ":"); + string[] lines = File.ReadAllLines(Constants.ExcludePackagesPath); + foreach (string line in lines) + { + excludeStringBuilder.Append(line + ":"); + } } + catch + { + return excludePackages; + } + if (excludeStringBuilder.Length > 0) { excludePackages += ":" + excludeStringBuilder.ToString();