Skip to content

Commit dbc5316

Browse files
committed
Get the libraries building
1 parent 24eb8b7 commit dbc5316

45 files changed

Lines changed: 166 additions & 942 deletions

Some content is hidden

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

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/

init.cmd

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

init.ps1

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/.RepoSrcRoot

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

src/Directory.Build.props

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

src/Directory.Build.targets

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<Project>
2+
<ItemGroup>
3+
<PackageReference Update="CodeGeneration.Roslyn.Attributes" Version="0.4.42" />
4+
<PackageReference Update="CodeGeneration.Roslyn" Version="0.4.42" />
5+
<PackageReference Update="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.2.0" />
6+
<PackageReference Update="System.Collections.Immutable" Version="1.4.0" />
7+
<PackageReference Update="Validation" Version="2.4.18" />
8+
<PackageReference Update="Microsoft.Build" Version="14.3.0" />
9+
<PackageReference Update="xunit" Version="2.3.1" />
10+
<PackageReference Update="xunit.runner.visualstudio" Version="2.3.1" />
11+
</ItemGroup>
12+
</Project>

src/ImmutableObjectGraph.Core.NuGet/ImmutableObjectGraph.Core.NuGet.nuproj

Lines changed: 0 additions & 53 deletions
This file was deleted.

src/ImmutableObjectGraph.Core.NuGet/ImmutableObjectGraph.nuspec

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/ImmutableObjectGraph.Core.NuGet/project.json

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 6 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,12 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
1+
<Project Sdk="MSBuild.Sdk.Extras">
42
<PropertyGroup>
5-
<MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
6-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
7-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
8-
<ProjectGuid>{7B6DD09E-BD82-4B88-A10D-6D5606519ECD}</ProjectGuid>
9-
<OutputType>Library</OutputType>
10-
<AppDesignerFolder>Properties</AppDesignerFolder>
113
<RootNamespace>ImmutableObjectGraph.Generation</RootNamespace>
12-
<AssemblyName>ImmutableObjectGraph.Generation.Attributes</AssemblyName>
13-
<DefaultLanguage>en-US</DefaultLanguage>
14-
<FileAlignment>512</FileAlignment>
15-
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
16-
<TargetFrameworkProfile>Profile259</TargetFrameworkProfile>
17-
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
4+
<TargetFrameworks>netstandard1.0;portable-net45+win8+wpa81+wp8</TargetFrameworks>
5+
<Description>The runtime components behind the types generated with the ImmutableObjectGraph.Generation package.</Description>
186
</PropertyGroup>
19-
<PropertyGroup>
20-
<SignAssembly>true</SignAssembly>
21-
<AssemblyOriginatorKeyFile>StrongNameKey.snk</AssemblyOriginatorKeyFile>
22-
</PropertyGroup>
23-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
24-
<DebugSymbols>true</DebugSymbols>
25-
<DebugType>full</DebugType>
26-
<Optimize>false</Optimize>
27-
<OutputPath>bin\Debug\</OutputPath>
28-
<DefineConstants>DEBUG;TRACE</DefineConstants>
29-
<ErrorReport>prompt</ErrorReport>
30-
<WarningLevel>4</WarningLevel>
31-
</PropertyGroup>
32-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
33-
<DebugType>pdbonly</DebugType>
34-
<Optimize>true</Optimize>
35-
<OutputPath>bin\Release\</OutputPath>
36-
<DefineConstants>TRACE</DefineConstants>
37-
<ErrorReport>prompt</ErrorReport>
38-
<WarningLevel>4</WarningLevel>
39-
</PropertyGroup>
40-
<ItemGroup>
41-
<!-- A reference to the entire .NET Framework is automatically included -->
42-
<None Include="project.json" />
43-
<None Include="StrongNameKey.snk" />
44-
</ItemGroup>
457
<ItemGroup>
46-
<Compile Include="DistinguisherAttribute.cs" />
47-
<Compile Include="GenerateImmutableAttribute.cs" />
48-
<Compile Include="GenerationAttribute.cs" />
49-
<Compile Include="IgnoreAttribute.cs" />
50-
<Compile Include="NotRecursiveAttribute.cs" />
51-
<Compile Include="Properties\AssemblyInfo.cs" />
52-
<Compile Include="RequiredAttribute.cs" />
8+
<PackageReference Include="Validation" />
9+
<PackageReference Include="System.Collections.Immutable" />
10+
<PackageReference Include="CodeGeneration.Roslyn.Attributes" />
5311
</ItemGroup>
54-
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
55-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
56-
Other similar extension points exist, see Microsoft.Common.targets.
57-
<Target Name="BeforeBuild">
58-
</Target>
59-
<Target Name="AfterBuild">
60-
</Target>
61-
-->
6212
</Project>

0 commit comments

Comments
 (0)