Skip to content

Commit 2d6a1b8

Browse files
committed
Renovate repo for VS2017
2 parents 24eb8b7 + 460c7fe commit 2d6a1b8

65 files changed

Lines changed: 499 additions & 1095 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ local.properties
4343
*.sln.ide
4444
UpgradeLog*htm
4545
.vs/
46+
launchSettings.json
4647

4748
# Build results
4849
[Dd]ebug/
@@ -66,6 +67,7 @@ UpgradeLog*htm
6667
.builds
6768
*.dotCover
6869
*.log
70+
*.binlog
6971

7072
packages/
7173
*.nuget.props

CONTRIBUTING.md

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,20 @@ This project is actively developed using the following software.
77
It is highly recommended that anyone contributing to this library use the same
88
software.
99

10-
1. [Visual Studio 2015][VS].
11-
2. [NuProj for VS2015][NuProj]
10+
1. [Visual Studio 2017][VS].
1211

1312
All other dependencies are acquired via NuGet.
1413

1514
## Building
1615

17-
To build this repository from the command line, you must first execute our init.ps1 script,
18-
which downloads NuGet 3.3.0 and uses it to restore packages.
19-
Assuming your working directory is the root directory of this git repo, the command is:
20-
21-
.\init
22-
2316
Everything in the repo may be built via building the solution file
24-
either from Visual Studio 2015 or the command line:
25-
26-
msbuild src\ImmutableObjectGraph.sln
27-
28-
### Important notice when developing with Visual Studio
29-
30-
The NuGet package restore functionality in Visual Studio does not work for this project, which relies
31-
on newer functionality than comes with Visual Studio 2015 Update 3. You should disable automatic
32-
package restore on build in Visual Studio in order to build successfully and have a useful Error List
33-
while developing.
34-
35-
Follow these steps to disable automatic package restore in Visual Studio:
36-
37-
1. Tools -> Options -> NuGet Package Manager -> General
38-
2. *Clear* the checkbox for "Automatically check for missing packages during build in Visual Studio
39-
40-
With this setting, you can still execute a package restore within Visual Studio by right-clicking
41-
on the _solution_ node in Solution Explorer and clicking "Restore NuGet Packages". But do not ever
42-
execute that on this project as that will corrupt the result of `init.ps1`.
17+
either from Visual Studio 2017 or the command line:
4318

44-
Before developing this project in Visual Studio, or after making project or project.json changes,
45-
or to recover after Visual Studio executes a package restore, run the `init` script again.
19+
msbuild /restore src\ImmutableObjectGraph.sln /t:pack
4620

4721
## Testing
4822

49-
The Visual Studio 2015 Test Explorer will list and execute all tests.
23+
The Visual Studio 2017 Test Explorer will list and execute all tests.
5024

5125
## Pull requests
5226

@@ -106,6 +80,4 @@ the embedded resource at test execution time, execute code generation, and compi
10680
result. This style is best suited for tests that want to assert API aspects of the generated
10781
code (such as asserting that no public constructor exists).
10882

109-
[VS]: https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx
110-
[NuProj]: https://onedrive.live.com/redir?resid=63D0C265F96E43D!2477835&authkey=!AHh2k9FoNR-nFHo&ithint=file%2cmsi
111-
[NuGetClient]: https://dist.nuget.org/win-x86-commandline/v3.3.0/nuget.exe
83+
[VS]: https://www.visualstudio.com/downloads/

README.md

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
ImmutableObjectGraph
2-
=======================
1+
# ImmutableObjectGraph
32

43
[![Build status](https://ci.appveyor.com/api/projects/status/sc0w4vlceulc2try?svg=true)](https://ci.appveyor.com/project/AArnott/immutableobjectgraph)
54
[![NuGet package](https://img.shields.io/nuget/v/ImmutableObjectGraph.svg)](https://nuget.org/packages/ImmutableObjectGraph)
@@ -23,34 +22,33 @@ These codebases for immutable objects can be quite large.
2322

2423
To reduce the burden of writing and maintaining such codebases, this project
2524
generates immutable types for you based on a minimal definition of a class
26-
that you define.
27-
28-
Supported features
29-
------------------
30-
31-
* Field types may be value or reference types.
32-
* When field types are collections, immutable collections should be used that
33-
support the Builder pattern.
34-
* When field types refer to other types also defined in the template
35-
file, an entire library of immutable classes with members that
36-
reference each other can be constructed.
37-
* Batch property changes can be made with a single allocation using a single
38-
invocation of the `With` method.
39-
* Builder classes are generated to allow efficient multi-step mutation
40-
without producing unnecessary GC pressure.
41-
* Version across time without breaking changes by adding Create and With method
42-
overloads with an easy application of `[Generation(2)]`.
43-
44-
Usage
45-
-----
25+
that you define.
26+
27+
## Supported features
28+
29+
* Field types may be value or reference types.
30+
* When field types are collections, immutable collections should be used that
31+
support the Builder pattern.
32+
* When field types refer to other types also defined in the template
33+
file, an entire library of immutable classes with members that
34+
reference each other can be constructed.
35+
* Batch property changes can be made with a single allocation using a single
36+
invocation of the `With` method.
37+
* Builder classes are generated to allow efficient multi-step mutation
38+
without producing unnecessary GC pressure.
39+
* Version across time without breaking changes by adding Create and With method
40+
overloads with an easy application of `[Generation(2)]`.
41+
42+
## Usage
43+
4644
You can begin using this project by simply installing a NuGet package:
4745

4846
Install-Package ImmutableObjectGraph.Generation -Pre
4947

5048
On any source file that you use the `[GenerateImmutable]` attribute in,
5149
set the Custom Tool property to: `MSBuild:GenerateCodeFromAttributes`
5250

53-
## Example source file
51+
### Example source file
5452

5553
```csharp
5654
[GenerateImmutable]
@@ -61,7 +59,7 @@ partial class Fruit
6159
}
6260
```
6361

64-
## Example generated code
62+
### Example generated code
6563

6664
The following code will be generated automatically for you and added to a source file
6765
in your intermediate outputs folder:
@@ -165,10 +163,9 @@ partial class Fruit
165163
The integration of the code generator support in Visual Studio allows for you to
166164
conveniently maintain your own code, and on every save or build of that file,
167165
the code generator runs and automatically creates or updates the generated partial
168-
class.
166+
class.
169167

170-
Known Issues
171-
------------
168+
## Known Issues
172169

173170
When defining more than one immutable type, you may need to keep the arguments
174171
to the `[GenerateImmutable]` attribute consistent for every type. The generator

init.cmd

Lines changed: 0 additions & 1 deletion
This file was deleted.

init.ps1

Lines changed: 0 additions & 27 deletions
This file was deleted.
42 KB
Binary file not shown.

lib/netstandard1.0/CG.Pluralization.xml

Lines changed: 66 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/.RepoSrcRoot

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/Directory.Build.props

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<Project>
2+
<PropertyGroup>
3+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4+
<RepoRoot>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\'))</RepoRoot>
5+
<BaseIntermediateOutputPath>$(RepoRoot)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
6+
<BaseOutputPath Condition=" '$(BaseOutputPath)' == '' ">$(RepoRoot)bin\$(MSBuildProjectName)\</BaseOutputPath>
7+
<PackageOutputPath>$(RepoRoot)bin\Packages\$(Configuration)\</PackageOutputPath>
8+
9+
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)StrongNameKey.snk</AssemblyOriginatorKeyFile>
10+
<SignAssembly>true</SignAssembly>
11+
12+
<Authors>Andrew Arnott</Authors>
13+
<Owners>Andrew Arnott</Owners>
14+
<PackageProjectUrl>https://github.com/aarnott/immutableobjectgraph</PackageProjectUrl>
15+
<LicenseUrl>https://raw.githubusercontent.com/AArnott/ImmutableObjectGraph/$GitCommitIdShort$/LICENSE.txt</LicenseUrl>
16+
<Copyright>Copyright © Andrew Arnott</Copyright>
17+
<PackageTags>immutable</PackageTags>
18+
</PropertyGroup>
19+
<ItemGroup>
20+
<PackageReference Include="Nerdbank.GitVersioning" Version="2.1.23" PrivateAssets="all" />
21+
<!-- <PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta006" PrivateAssets="all" /> -->
22+
</ItemGroup>
23+
<ItemGroup>
24+
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" />
25+
</ItemGroup>
26+
<Target Name="SetNuSpecProperties" BeforeTargets="GenerateNuspec" DependsOnTargets="GetBuildVersion">
27+
<PropertyGroup>
28+
<PackageLicenseUrl>https://raw.githubusercontent.com/aarnott/ImmutableObjectGraph/$(GitCommitIdShort)/LICENSE.txt</PackageLicenseUrl>
29+
</PropertyGroup>
30+
</Target>
31+
</Project>

src/Directory.Build.targets

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Project>
2+
<PropertyGroup>
3+
<CodeGenerationRoslynVersion>0.4.88</CodeGenerationRoslynVersion>
4+
</PropertyGroup>
5+
<ItemGroup>
6+
<PackageReference Update="CodeGeneration.Roslyn.Attributes" Version="$(CodeGenerationRoslynVersion)" />
7+
<PackageReference Update="CodeGeneration.Roslyn" Version="$(CodeGenerationRoslynVersion)" />
8+
<PackageReference Update="CodeGeneration.Roslyn.BuildTime" Version="$(CodeGenerationRoslynVersion)" />
9+
<PackageReference Update="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.9.0" />
10+
<PackageReference Update="System.Collections.Immutable" Version="1.4.0" />
11+
<PackageReference Update="Validation" Version="2.4.18" />
12+
<PackageReference Update="Microsoft.Build" Version="14.3.0" />
13+
<PackageReference Update="xunit" Version="2.3.1" />
14+
<PackageReference Update="xunit.runner.visualstudio" Version="2.3.1" />
15+
</ItemGroup>
16+
<ItemGroup>
17+
<DotNetCliToolReference Update="dotnet-codegen" Version="$(CodeGenerationRoslynVersion)" />
18+
</ItemGroup>
19+
</Project>

0 commit comments

Comments
 (0)