2014-01-16 85 views
1

下面是我的Gruntfile的一部分。運行'$ grunt msbuild:migrate:local'可以正常工作,但'$ grunt msbuild:migrate:dev'似乎並沒有拉入我的ConnectionString屬性。我是否正確地組織了正確的繼承選項?Gruntjs不正確地繼承任務中的選項

msbuild: { 
    src: ['Web Platform\Web Platform.csproj'], 
    options: { 
     projectConfiguration: 'Dev', 
     targets: ['Clean', 'Rebuild'], 
     maxCpuCount: 4, 
     verbosity: 'minimal', 
     stdout: true, 
     buildParameters: { 
      WarningLevel: 2, 
      DeployOnBuild: false, 
      Configuration: 'Dev', 
     }, 
    }, 
    migrate: { 
     // Defaults ----------------------------------------- 
     src: ['Migrate.msbuild'], 
     options: { 
       targets: ['Migrate'], 
       buildParameters: { 
        DryRun: 'False', 
        Verbose: 'False', 
        RollbackSteps: '1', 
       }, 
       verbosity: 'minimal', 
     }, 
     // Tasks ----------------------------------------- 
     local: { 
      // Uses defaults from above (I hope) 
     }, 
     dev: { 
      options: { 
       buildParameters: { 
        ConnectionString: 'Data Source=<%= credentials.aws_rds_hostname %>,1433;Initial Catalog=DevDatabase;User ID=<%= credentials.aws_rds_admin_username %>;Password=<%= credentials.aws_rds_admin_password %>' 
       } 
      } 
     } 
    } 
} 

回答

1

Grunt不支持深度嵌套任務。唯一可以運行的是「grunt msbuild:migrate」(繼承全局配置,被自己的配置覆蓋)

例如,請參閱this ticket

+0

謝謝 - 似乎很奇怪,這不會被支持,特別是因爲它沒有在任何文檔中提及。您是否有任何建議以另一種方式完成此訂單上的某些內容? – bmherold

+0

我可能會使用https://github.com/outaTiME/grunt-config - 但實際上我停止使用grunt並遷移到吞噬... –