vigoo/bari

Suggestion: Dependency bundles

Closed this issue · 4 comments

This:

- name: Bari.Core.Test
  references:
    - gac://Microsoft.CSharp
    - gac://System
    - gac://System.Core
    - gac://System.Data
    - gac://System.Data.DataSetExtensions
    - gac://System.Xml
    - gac://System.Xml.Linq
    - nuget://FluentAssertions/2.2.0
    - nuget://Moq
    - alias://ninject
    - nuget://NUnit
    - nuget://YamlDotNet.Core
    - nuget://YamlDotNet.RepresentationModel
    - module://Bari.Core
- name: bari.Test
  references:
    - gac://System
    - gac://System.Xml
    - gac://System.Xml.Linq
    - nuget://log4net
    - alias://ninject
    - nuget://FluentAssertions/2.2.0
    - nuget://Moq
    - nuget://NUnit
    - module://Bari.Core
    - module://bari

Could be this:

- bundle: tests
    - gac://Microsoft.CSharp
    - gac://System
    - gac://System.Core
    - gac://System.Xml
    - gac://System.Xml.Linq
    - nuget://FluentAssertions/2.2.0
    - nuget://Moq
    - nuget://log4net
    - alias://ninject
    - nuget://NUnit
    - nuget://YamlDotNet.Core
    - nuget://YamlDotNet.RepresentationModel
# ...
- name: Bari.Core.Test
  references:
    - bundle://tests
    - module://Bari.Core
    - gac://System.Data
    - gac://System.Data.DataSetExtensions
- name: bari.Test
  references:
    - bundle://tests
    - module://Bari.Core
    - module://bari

This is called alias references. In bari's own suite definition it's not really used due to historical reasons.

But I'll rewrite bari's suite.yaml too to use them to provide a better example.

I made more extensive use of the existing alias references functionality in bari's suite definition itself to provide an example.

Good call. Your own suite.yaml is the first thing people will look at 😄