private void ExecCore() { string originalGlobalNamespaceId = VisitorHelper.GlobalNamespaceId; EnvironmentContext.SetBaseDirectory(BaseDirectory); // If Root Output folder is specified from command line, use it instead of the base directory EnvironmentContext.SetOutputDirectory(OutputFolder ?? BaseDirectory); using (new MSBuildEnvironmentScope()) { foreach (var item in Config) { VisitorHelper.GlobalNamespaceId = item.GlobalNamespaceId; var inputModel = ConvertToInputModel(item); EnvironmentContext.SetGitFeaturesDisabled(item.DisableGitFeatures); // TODO: Use plugin to generate metadata for files with different extension? using (var worker = new ExtractMetadataWorker(inputModel)) { // Use task.run to get rid of current context (causing deadlock in xunit) var task = Task.Run(worker.ExtractMetadataAsync); task.Wait(); } } VisitorHelper.GlobalNamespaceId = originalGlobalNamespaceId; } }
public void InterfaceWithTemplateDoesNotCrash() { // arrange string code = @" namespace A { public interface IInterface { /// <summary> /// Summary /// </summary> void Function<T>(); } public class Implementation : IInterface { public void Function<T>() { } } } "; // act MetadataItem output = ExtractMetadataWorker.GenerateYamlMetadata(CreateCompilationFromCSharpCode(code, "test.dll")); // assert Assert.NotNull(output); }
public void Exec(SubCommandRunningContext context) { foreach (var inputModel in InputModels) { // TODO: Use plugin to generate metadata for files with different extension? using (var worker = new ExtractMetadataWorker(inputModel, inputModel.ForceRebuild, inputModel.UseCompatibilityFileName)) { // Use task.run to get rid of current context (causing deadlock in xunit) var task = Task.Run(worker.ExtractMetadataAsync); task.Wait(); } } }
/// <summary> /// TODO: catch exception /// </summary> /// <param name="configs"></param> /// <param name="context"></param> /// <returns></returns> private IEnumerable<ParseResult> YieldExec(RunningContext context) { foreach (var inputModel in InputModels) { // TODO: Use plugin to generate metadata for files with different extension? using (var worker = new ExtractMetadataWorker(inputModel, inputModel.ForceRebuild)) { // Use task.run to get rid of current context (causing deadlock in xunit) var task = Task.Run(worker.ExtractMetadataAsync); yield return task.Result; } } }
/// <summary> /// TODO: catch exception /// </summary> /// <param name="configs"></param> /// <param name="context"></param> /// <returns></returns> private IEnumerable <ParseResult> YieldExec(RunningContext context) { foreach (var inputModel in InputModels) { // TODO: Use plugin to generate metadata for files with different extension? using (var worker = new ExtractMetadataWorker(inputModel, inputModel.ForceRebuild)) { // Use task.run to get rid of current context (causing deadlock in xunit) var task = Task.Run(worker.ExtractMetadataAsync); yield return(task.Result); } } }
public void Exec(SubCommandRunningContext context) { EnvironmentContext.SetBaseDirectory(Path.GetFullPath(string.IsNullOrEmpty(Config.BaseDirectory) ? Directory.GetCurrentDirectory() : Config.BaseDirectory)); foreach (var inputModel in InputModels) { // TODO: Use plugin to generate metadata for files with different extension? using (var worker = new ExtractMetadataWorker(inputModel, inputModel.ForceRebuild, inputModel.UseCompatibilityFileName)) { // Use task.run to get rid of current context (causing deadlock in xunit) var task = Task.Run(worker.ExtractMetadataAsync); task.Wait(); } } EnvironmentContext.Clean(); }