зеркало из
1
0
Форкнуть 0
Partial implementation of System.Linq for use with NUnit's .NET 2.0 builds
Перейти к файлу
Rob Prouse e8c7063909 Merge pull request #13 from nunit/ChrisMaddock-patch-1
Use high-quality icon for nuspec
2017-01-01 21:30:28 -05:00
nuget Use high-quality icon for nuspec 2017-01-02 01:34:16 +00:00
src/NUnit.System.Linq Release 0.6.0 2016-06-26 20:42:35 -07:00
tools Install cake files 2016-06-11 14:45:24 -07:00
.gitattributes Initial source code commit 2016-06-10 22:12:44 -07:00
.gitignore Install cake files 2016-06-11 14:45:24 -07:00
CONTRIBUTING.md Add CONTRIBUTING.md file 2016-06-24 08:24:35 -07:00
LICENSE.txt Update readme and license 2016-06-12 10:50:40 -07:00
NUnit.System.Linq.sln link nuspec correctly 2016-06-24 10:36:56 +01:00
README.md Release 0.6.0 2016-06-26 20:42:35 -07:00
appveyor.yml Remove tabs 2016-06-11 19:57:51 -07:00
build Install cake files 2016-06-11 14:45:24 -07:00
build.cake Release 0.6.0 2016-06-26 20:42:35 -07:00
build.cmd Install cake files 2016-06-11 14:45:24 -07:00
build.ps1 Install cake files 2016-06-11 14:45:24 -07:00
build.sh Install cake files 2016-06-11 14:45:24 -07:00

README.md

NUnit.System.Linq

Partial implementation of System.Linq for use with NUnit's .NET 2.0 framework builds and by the TestEngine.

This assembly contains classes in the System.Linq namespace as well as other classes not present in .NET 2.0 but needed in order to support System.Linq. It will cause conflicts if referenced by an assembly that targets a runtime other than .NET 2.0.

Types supported

System.Linq

  • Check
  • Enumerable
  • Grouping<K, T>
  • IGrouping<TKey, TElement>
  • ILookup<TKey, TElement>
  • IOrderedEnumerable<TElement>
  • Lookup<TKey, TElement>
  • OrderedEnumerable<TElement>
  • OrderedSequence<TElement, TKey>
  • QuickSort<TElement>
  • SortContext<TElement>
  • SortDirection
  • SortSequenceContext<TElement, TKey>

Other Types Included

System

  • Action
  • Action<T1, T2>
  • Action<T1, T2, T3>
  • Action<T1, T2, T3, T4>
  • Func<TResult>
  • Func<T, TResult>
  • Func<T1, T2, TResult>
  • Func<T1, T2, T3, TResult>
  • Func<T1, T2, T3, T4, TResult>

System.Collections

  • HashPrimeNumbers

System.Collections.Generic

  • CollectionDebuggerView<T, U>
  • CollectionDebuggerView<T>
  • HashSet<T>
  • HashSet<T>.Enumerator
  • HashSetEqualityComparer<T>

System.Runtime.CompilerServices

  • ExtensionAttribute

Updating the Version number

The version must be updated in AssemblyInfo.cs and build.cake.

Publishing

NUnit.System.Linq is published as a nuget package on both our AppVeyor project feed and the NUnit MyGet feed. All branch and PR builds appear on the AppVeyor feed. Only builds of master are deployed by AppVeyor to the MyGet feed. Note that builds of master may be initiated either by merging a PR or by pushing directly to master.

Builds, including builds of master, may be either tagged or untagged. Tagged builds use the tag itself as the version. Note that you must use the --tags option on the git push command in order for a local tag to be pushed to GitHub.

Workflows

Normal CI Build

This is the normal workflow for making changes. All the artifacts created use the -CI pre-release suffix.

  1. Commit your work to the local branch and push to GitHub. Your branch builds and, if successful, produces artifacts on the AppVeyor feed.

  2. Create a PR. The PR builds and creates artifacts on the AppVeyor feed.

  3. Merge the PR to master. Master builds and creates artifacts on both the AppVeyor and MyGet feeds.

Release Build

This assumes that master is ready for publication using a particular version number. If not, merge in branches until it is ready. Be sure to update the version in AssemblyInfo.cs and build.cake using the same version with which you will tag the commit.

  1. Working in your local master branch, do a git pull to get the latest changes.

  2. Apply the tag and push to GitHub. Note that two push commands are required.

    git tag 0.9.0
    git push
    git push --tags
    
  3. Master will build and artifacts will be deployed to both AppVeyor and MyGet using the tag you specified as the version.