Пример #1
0
        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;
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
 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();
         }
     }
 }
Пример #4
0
 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();
         }
     }
 }
Пример #5
0
 /// <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;
         }
     }
 }
Пример #6
0
 /// <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);
         }
     }
 }
Пример #7
0
 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();
 }