in src/CTA.Rules.Update/CodeReplacer.cs [147:201]
protected virtual List<GenericActionExecution> ApplyProjectActions(ProjectActions projectActions, ProjectType projectType)
{
var projectRunActions = new List<GenericActionExecution>();
//Project Level Actions
foreach (var projectLevelAction in projectActions.ProjectLevelActions)
{
var projectActionExecution = new GenericActionExecution(projectLevelAction, _projectConfiguration.ProjectPath)
{
TimesRun = 1
};
var runResult = string.Empty;
if (!_projectConfiguration.IsMockRun)
{
if (projectLevelAction.ProjectLevelActionFunc != null)
{
try
{
runResult = projectLevelAction.ProjectLevelActionFunc(_projectConfiguration.ProjectPath, projectType);
}
catch (Exception ex)
{
var actionExecutionException = new ActionExecutionException(projectLevelAction.Name, projectLevelAction.Key, ex);
projectActionExecution.InvalidExecutions = 1;
LogHelper.LogError(actionExecutionException);
}
}
else if (projectLevelAction.ProjectFileActionFunc != null)
{
try
{
runResult = projectLevelAction.ProjectFileActionFunc(_projectConfiguration.ProjectPath,
projectType,
_projectConfiguration.TargetVersions,
projectActions.PackageActions.GroupBy(g=>g.Name).Select(g=>g.FirstOrDefault()).ToDictionary(p => p.Name, p => p.Version),
projectActions.ProjectReferenceActions.ToList(),
_metadataReferences);
}
catch (Exception ex)
{
var actionExecutionException = new ActionExecutionException(projectLevelAction.Name, projectLevelAction.Key, ex);
projectActionExecution.InvalidExecutions = 1;
LogHelper.LogError(actionExecutionException);
}
}
}
if (!string.IsNullOrEmpty(runResult))
{
projectActionExecution.Description = string.Concat(projectActionExecution.Description, ": ", runResult);
projectRunActions.Add(projectActionExecution);
LogHelper.LogInformation(projectLevelAction.Description);
}
}
return projectRunActions;
}