Skip to content

Commit

Permalink
Visitors are now loaded from the application configuration file throu…
Browse files Browse the repository at this point in the history
…gh configured visitor, therefore anyone can create its own Visitor and inject it into the process
  • Loading branch information
gimmemoore committed May 18, 2012
1 parent 192b7fc commit 08f2e15
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 9 deletions.
4 changes: 3 additions & 1 deletion MsBuilderific.Common/Injection.cs
@@ -1,10 +1,11 @@
using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Configuration;

namespace MsBuilderific.Common
{
public class Injection
{
private static IUnityContainer _engine;
private static UnityContainer _engine;

public static IUnityContainer Engine
{
Expand All @@ -13,6 +14,7 @@ public static IUnityContainer Engine
if (_engine == null)
{
_engine = new UnityContainer();
_engine.LoadConfiguration();
}

return _engine;
Expand Down
1 change: 1 addition & 0 deletions MsBuilderific.Common/MsBuilderific.Common.csproj
Expand Up @@ -43,6 +43,7 @@
<HintPath>..\packages\Unity.2.1.505.0\lib\NET35\Microsoft.Practices.Unity.Configuration.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
Expand Down
20 changes: 15 additions & 5 deletions MsBuilderific.Console/App.config
@@ -1,6 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0"?>
<configuration>
<appSettings>

</appSettings>
</configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration, Version=2.1.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</configSections>
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<container>
<register type="MsBuilderific.Contracts.Visitors.IBuildOrderVisitor, MsBuilderific.Contracts" mapTo="MsBuilderific.Visitors.Build.MsBuildProjectVisitor, MsBuilderific.Visitors" name="MsBuild"/>
<register type="MsBuilderific.Contracts.Visitors.IBuildOrderVisitor, MsBuilderific.Contracts" mapTo="MsBuilderific.Visitors.Build.MsTestsProjectVisitor, MsBuilderific.Visitors" name="MsTest"/>
<register type="MsBuilderific.Contracts.Visitors.IBuildOrderVisitor, MsBuilderific.Contracts" mapTo="MsBuilderific.Visitors.Clean.CleanBuildArtefactsVisitor, MsBuilderific.Visitors" name="CleanBuild"/>
</container>
</unity>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
3 changes: 2 additions & 1 deletion MsBuilderific.Console/MsBuilderific.Console.csproj
Expand Up @@ -11,7 +11,8 @@
<RootNamespace>MsBuilderific.Console</RootNamespace>
<AssemblyName>MsBuilderific.Console</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
Expand Down
7 changes: 5 additions & 2 deletions MsBuilderific.Console/Program.cs
Expand Up @@ -14,8 +14,11 @@ static void Main(string[] args)
{
var options = new Options();

if (!CommandLineParser.Default.ParseArguments(args, options, System.Console.Out))
Environment.Exit(1);
if (args != null && args.Length>0)
{
if (!CommandLineParser.Default.ParseArguments(args, options, System.Console.Out))
Environment.Exit(1);
}

ConfigureContainer();

Expand Down

0 comments on commit 08f2e15

Please sign in to comment.