Skip to content

Commit 91b61bd

Browse files
committed
Bug Fixes when using Recurse functionality. Fix to Binplace cmdlet help file
1 parent 48e2535 commit 91b61bd

File tree

4 files changed

+25
-11
lines changed

4 files changed

+25
-11
lines changed

Engine/Commands/InvokeScriptAnalyzerCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ private void ProcessPathOrScriptDefinition(string pathOrScriptDefinition)
220220

221221
if (String.Equals(this.ParameterSetName, "File", StringComparison.OrdinalIgnoreCase))
222222
{
223-
diagnosticsList = ScriptAnalyzer.Instance.AnalyzePath(pathOrScriptDefinition);
223+
diagnosticsList = ScriptAnalyzer.Instance.AnalyzePath(pathOrScriptDefinition, this.recurse);
224224
}
225225
else if (String.Equals(this.ParameterSetName, "ScriptDefinition", StringComparison.OrdinalIgnoreCase))
226226
{

Engine/Helper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1010,7 +1010,7 @@ public static string[] ProcessCustomRulePaths(string rulePath, SessionState sess
10101010
}
10111011
return outPaths.ToArray();
10121012
}
1013-
catch (Exception ex)
1013+
catch
10141014
{
10151015
// need to do this as the path validation takes place later in the hierarchy.
10161016
outPaths.Add(rulePath);

Engine/ScriptAnalyzer.cs

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -466,15 +466,16 @@ private void LoadRules(Dictionary<string, List<string>> result, CommandInvocatio
466466
{
467467
container.ComposeParts(this);
468468
}
469-
catch (CompositionException compositionException)
470-
{
471-
this.outputWriter.WriteWarning(compositionException.ToString());
469+
catch
470+
{
472471
}
473472
}
474473

475474
// Gets external rules.
476475
if (result.ContainsKey("ValidModPaths") && result["ValidModPaths"].Count > 0)
476+
{
477477
ExternalRules = GetExternalRule(result["ValidModPaths"].ToArray());
478+
}
478479
}
479480

480481
internal string[] GetValidModulePaths()
@@ -495,8 +496,12 @@ public IEnumerable<IRule> GetRule(string[] moduleNames, string[] ruleNames)
495496
IEnumerable<IExternalRule> externalRules = null;
496497

497498
// Combines C# rules.
498-
IEnumerable<IRule> rules = ScriptRules.Union<IRule>(TokenRules)
499-
.Union<IRule>(DSCResourceRules);
499+
IEnumerable<IRule> rules = Enumerable.Empty<IRule>();
500+
501+
if (null != ScriptRules)
502+
{
503+
rules = ScriptRules.Union<IRule>(TokenRules).Union<IRule>(DSCResourceRules);
504+
}
500505

501506
// Gets PowerShell Rules.
502507
if (moduleNames != null)
@@ -565,9 +570,17 @@ private List<ExternalRule> GetExternalRule(string[] moduleNames)
565570
posh.Commands.Clear();
566571

567572
FunctionInfo funcInfo = (FunctionInfo)psobject.ImmediateBaseObject;
568-
ParameterMetadata param = funcInfo.Parameters.Values
569-
.First<ParameterMetadata>(item => item.Name.EndsWith("ast", StringComparison.OrdinalIgnoreCase) ||
570-
item.Name.EndsWith("token", StringComparison.OrdinalIgnoreCase));
573+
ParameterMetadata param = null;
574+
575+
// Ignore any exceptions associated with finding functions that are ScriptAnalyzer rules
576+
try
577+
{
578+
param = funcInfo.Parameters.Values.First<ParameterMetadata>(item => item.Name.EndsWith("ast", StringComparison.OrdinalIgnoreCase) ||
579+
item.Name.EndsWith("token", StringComparison.OrdinalIgnoreCase));
580+
}
581+
catch
582+
{
583+
}
571584

572585
//Only add functions that are defined as rules.
573586
if (param != null)

Engine/ScriptAnalyzerEngine.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ copy /y "$(ProjectDir)\*.ps1xml" "$(SolutionDir)$(SolutionName)"
106106
copy /y "$(ProjectDir)\*.psd1" "$(SolutionDir)$(SolutionName)"
107107
copy /y "$(TargetPath)" "$(SolutionDir)$(SolutionName)"
108108
mkdir "$(SolutionDir)$(SolutionName)\en-US"
109-
copy /y "$(ProjectDir)\about_*.help.txt" "$(SolutionDir)$(SolutionName)\en-US"</PostBuildEvent>
109+
copy /y "$(ProjectDir)\about_*.help.txt" "$(SolutionDir)$(SolutionName)\en-US"
110+
copy /y "$(ProjectDir)\*Help.xml" "$(SolutionDir)$(SolutionName)\en-US"</PostBuildEvent>
110111
</PropertyGroup>
111112
</Project>

0 commit comments

Comments
 (0)