Assembla home | Assembla project page
 

Changeset 275

Show
Ignore:
Timestamp:
09/04/08 19:39:52 (3 months ago)
Author:
jlewallen
Message:

Added CompilerVersion? to IConfiguration so we can change that on the CodeProvider?.

This allows the user to supply v3.5 or use the default value for this
particular provider setting.

By extension, MigratorTask? now has this property that can be set when
running the migrations.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Source/Migrations/Machine.Migrations.Tests/Services/Impl/MigrationFactoryChooserTests.cs

    r153 r275  
    4444      _fileSystem = _mocks.DynamicMock<IFileSystem>(); 
    4545      _workingDirectoryManager = _mocks.DynamicMock<IWorkingDirectoryManager>(); 
    46       _cSharpMigrationFactory = new CSharpMigrationFactory(_configuration, _fileSystem, _workingDirectoryManager); 
     46      _cSharpMigrationFactory = new CSharpMigrationFactory(_configuration, _workingDirectoryManager); 
    4747      _booMigrationFactory = new BooMigrationFactory(_configuration, _workingDirectoryManager); 
    4848      return new MigrationFactoryChooser(_cSharpMigrationFactory, _booMigrationFactory); 
  • trunk/Source/Migrations/Machine.Migrations/MigratorTask.cs

    r176 r275  
    2222    bool _diagnostics; 
    2323    string[] _references; 
     24    string _compilerVersion; 
    2425 
    2526    public MigratorTask() 
     
    7071      get { return _desiredVersion; } 
    7172      set { _desiredVersion = value; } 
     73    } 
     74 
     75    public string CompilerVersion 
     76    { 
     77      get { return _compilerVersion; } 
     78      set { _compilerVersion = value; } 
    7279    } 
    7380 
  • trunk/Source/Migrations/Machine.Migrations/Services/IConfiguration.cs

    r152 r275  
    1919    string MigrationsDirectory { get; } 
    2020 
     21    string CompilerVersion { get; } 
     22 
    2123    short DesiredVersion { get; } 
    2224 
  • trunk/Source/Migrations/Machine.Migrations/Services/Impl/CSharpMigrationFactory.cs

    r152 r275  
    11using System; 
    22using System.CodeDom.Compiler; 
     3using System.Collections.Generic; 
    34using System.Data.SqlTypes; 
    45using System.IO; 
     
    67 
    78using Machine.Core.Services; 
     9using Microsoft.CSharp; 
    810 
    911namespace Machine.Migrations.Services.Impl 
     
    1719    #region Member Data 
    1820    readonly IConfiguration _configuration; 
    19     readonly IFileSystem _fileSystem; 
    2021    readonly IWorkingDirectoryManager _workingDirectoryManager; 
    2122    #endregion 
    2223 
    2324    #region CSharpMigrationFactory() 
    24     public CSharpMigrationFactory(IConfiguration configuration, IFileSystem fileSystem, 
    25       IWorkingDirectoryManager workingDirectoryManager) 
     25    public CSharpMigrationFactory(IConfiguration configuration, IWorkingDirectoryManager workingDirectoryManager) 
    2626    { 
    2727      _configuration = configuration; 
    2828      _workingDirectoryManager = workingDirectoryManager; 
    29       _fileSystem = fileSystem; 
    3029    } 
    3130    #endregion 
     
    4039    protected override Type CompileMigration(MigrationReference migrationReference) 
    4140    { 
    42       CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp"); 
     41      Dictionary<string, string> providerOptions = new Dictionary<string, string>(); 
     42      if (!String.IsNullOrEmpty(_configuration.CompilerVersion)) 
     43      { 
     44        providerOptions["CompilerVersion"] = _configuration.CompilerVersion; 
     45      } 
     46      CodeDomProvider provider = new CSharpCodeProvider(providerOptions); 
    4347      CompilerParameters parameters = new CompilerParameters(); 
    4448      parameters.GenerateExecutable = false; 
  • trunk/Source/Migrations/Machine.Migrations/Services/Impl/StaticMigratorConfiguration.cs

    r152 r275  
    1515    string _migrationsDirectory; 
    1616    string _scope; 
     17    string _compilerVersion; 
    1718    short _desiredVersion = -1; 
    1819    bool _showDiagnostics; 
     
    8081    } 
    8182 
     83    public string CompilerVersion 
     84    { 
     85      get { return _compilerVersion; } 
     86      set { _compilerVersion = value; } 
     87    } 
     88 
    8289    public string ConnectionString 
    8390    {