public void ValidProps() { var moduleWeaver = new ValidModuleWeaver(); var moduleDefinition = ModuleDefinition.CreateModule("Foo", ModuleKind.Dll); var assemblyResolver = new Mock <IAssemblyResolver>().Object; var innerWeaver = new InnerWeaver { AssemblyPath = "AssemblyPath" }; var moduleWeaverRunner = new WeaverInitialiser { ModuleDefinition = moduleDefinition, Logger = new Mock <ILogger>().Object, AssemblyResolver = assemblyResolver, InnerWeaver = innerWeaver }; var weaverEntry = new WeaverEntry { Element = "<foo/>" }; moduleWeaverRunner.SetProperties(weaverEntry, moduleWeaver); Assert.IsNotNull(moduleWeaver.LogInfo); Assert.IsNotNull(moduleWeaver.LogWarning); Assert.IsNotNull(moduleWeaver.LogWarningPoint); Assert.IsNotNull(moduleWeaver.LogError); Assert.IsNotNull(moduleWeaver.LogErrorPoint); Assert.AreEqual(moduleDefinition, moduleWeaver.ModuleDefinition); Assert.AreEqual(assemblyResolver, moduleWeaver.AssemblyResolver); Assert.AreEqual("AssemblyPath", moduleWeaver.AssemblyPath); }
public void ValidProps() { var moduleWeaver = new ValidModuleWeaver(); var moduleDefinition = ModuleDefinition.CreateModule("Foo", ModuleKind.Dll); var assemblyResolver = new Mock<IAssemblyResolver>().Object; var innerWeaver = new InnerWeaver { AssemblyPath = "AssemblyPath" }; var moduleWeaverRunner = new WeaverInitialiser { ModuleDefinition = moduleDefinition, Logger = new Mock<ILogger>().Object, AssemblyResolver = assemblyResolver, InnerWeaver = innerWeaver }; var weaverEntry = new WeaverEntry {Element = "<foo/>"}; moduleWeaverRunner.SetProperties(weaverEntry, moduleWeaver); Assert.IsNotNull(moduleWeaver.LogInfo); Assert.IsNotNull(moduleWeaver.LogWarning); Assert.IsNotNull(moduleWeaver.LogWarningPoint); Assert.IsNotNull(moduleWeaver.LogError); Assert.IsNotNull(moduleWeaver.LogErrorPoint); Assert.AreEqual(moduleDefinition, moduleWeaver.ModuleDefinition); Assert.AreEqual(assemblyResolver, moduleWeaver.AssemblyResolver); Assert.AreEqual("AssemblyPath", moduleWeaver.AssemblyPath); }
public void Execute() { try { var referenceFinder = new AssemblyReferenceFinder(this, Logger); referenceFinder.Execute(); var assemblyResolver = new AssemblyResolver(referenceFinder); var reader = new ModuleReader { AssemblyResolver = assemblyResolver, InnerWeaver = this, Logger = Logger }; reader.Execute(); var weaverInitialiser = new WeaverInitialiser { ModuleDefinition = reader.ModuleDefinition, AssemblyResolver = assemblyResolver, InnerWeaver = this, Logger = Logger }; weaverInitialiser.Execute(); var weaverRunner = new ModuleWeaverRunner { Logger = Logger, }; Logger.LogInfo(""); foreach (var weaverInstance in weaverInitialiser.WeaverInstances) { var weaverName = ObjectTypeName.GetAssemblyName(weaverInstance); Logger.SetCurrentWeaverName(weaverName); try { weaverRunner.Execute(weaverInstance); } catch (Exception exception) { Logger.LogError(exception.ToFriendlyString()); return; } finally { Logger.ClearWeaverName(); } } var keyFinder = new StrongNameKeyFinder { InnerWeaver = this, Logger = Logger, ModuleDefinition = reader.ModuleDefinition }; keyFinder.Execute(); var moduleWriter = new ModuleWriter { InnerWeaver = this, Logger = Logger, ModuleDefinition = reader.ModuleDefinition, StrongNameKeyFinder = keyFinder, }; moduleWriter.Execute(); } catch (Exception exception) { Logger.LogError(exception.ToFriendlyString()); } }