< Summary

Class:Mklinker.Program
Assembly:Mklinker
File(s):/home/travis/build/rubenchristoffer/Mklinker/Mklinker/Program.cs
Covered lines:0
Uncovered lines:23
Coverable lines:23
Total lines:46
Line coverage:0% (0 of 23)
Covered branches:0
Total branches:2
Branch coverage:0% (0 of 2)

Metrics

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage
GetVersion()100%100%
Main(...)200%0%

File(s)

/home/travis/build/rubenchristoffer/Mklinker/Mklinker/Program.cs

#LineLine coverage
 1using System.Reflection;
 2using System.Diagnostics;
 3using System.IO.Abstractions;
 4using Autofac;
 5using Mklinker.Abstractions;
 6using System.Runtime.InteropServices;
 7
 8namespace Mklinker {
 9
 10  public static class Program {
 11
 12    public const string DEFAULT_LINKER_PATH = "linker.config";
 13
 014    public static string GetVersion() {
 015      return FileVersionInfo.GetVersionInfo(Assembly.GetAssembly(typeof (Program)).Location).ProductVersion;
 016    }
 17
 018    public static void Main(string[] args) {
 019      var builder = new ContainerBuilder();
 20
 021      builder.RegisterInstance<Config>(new Config(Program.GetVersion())).As<IConfig>();
 22
 023      builder.RegisterType<FileSystem>().As<IFileSystem>();
 024      builder.RegisterType<ConfigHandler>().As<IConfigHandler>();
 025      builder.RegisterType<ArgumentParser>().As<IArgumentParser>();
 026      builder.RegisterType<CommandExecutor>().As<ICommandExecutor>();
 027      builder.RegisterType<Process>().As<IProcess>();
 028      builder.RegisterType<Console>().As<IConsole>();
 029      builder.RegisterType<XMLConfigSerializer>().As<IConfigSerializer>();
 030      builder.RegisterType<PathResolver>().As<IPathResolver>();
 31
 32      // Platform dependent
 033      if (RuntimeInformation.IsOSPlatform (OSPlatform.Windows)) {
 034        builder.RegisterType<WindowsLinker>().As<ILinker>();
 035      } else {
 036        builder.RegisterType<UnixLinker>().As<ILinker>();
 037      }
 38
 039      using (var scope = builder.Build().BeginLifetimeScope()) {
 040        scope.Resolve<ICommandExecutor>().Execute(args);
 041      }
 042    }
 43
 44  }
 45
 46}

Methods/Properties

GetVersion()
Main(System.String[])