Skip to content

Commit

Permalink
Merge pull request #1462 from mderriey/add-simple-dot-net-core-project
Browse files Browse the repository at this point in the history
Get a .NET Core project to build in AppVeyor and Travis
  • Loading branch information
shiftkey authored Sep 15, 2016
2 parents 14ba023 + 766d3e2 commit c9b2c12
Show file tree
Hide file tree
Showing 15 changed files with 224 additions and 14 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,7 @@ pingme.txt
docs/_build

# it's 2015, no need to keep this around when migrating projects
Backup/
Backup/

# .NET Core
project.lock.json
32 changes: 22 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
language: csharp
mono:
- 4.2.3

sudo: false # use the new container-based Travis infrastructure
os:
- osx
- linux
matrix:
include:
- os: linux
dist: trusty
sudo: required
mono: 4.2.3
dotnet: 1.0.0-preview2-003121
- os: osx
osx_image: xcode8
mono: 4.2.3
dotnet: 1.0.0-preview2-003121

before_install:
- if test "$TRAVIS_OS_NAME" == "osx"; then ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi

install:
- nuget restore Octokit-Mono.sln
script:
- nuget restore Octokit-Mono.sln

script:
- mono tools/nuget/NuGet.exe restore Octokit-Mono.sln
- ./build.sh BuildMono
- ./build.sh
- ./build.sh BuildMono
- ./build.sh
- dotnet --info
- ./build.sh UnitTestsDotNetCore
28 changes: 28 additions & 0 deletions Octokit.Core.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Octokit.Next", "Octokit.Next\Octokit.Next.xproj", "{4052AF53-4C1B-48D1-B873-BFD0351481C3}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Octokit.Next.Tests", "Octokit.Next.Tests\Octokit.Next.Tests.xproj", "{2740AF44-CB2E-4FD8-A221-248693978A0C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4052AF53-4C1B-48D1-B873-BFD0351481C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4052AF53-4C1B-48D1-B873-BFD0351481C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4052AF53-4C1B-48D1-B873-BFD0351481C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4052AF53-4C1B-48D1-B873-BFD0351481C3}.Release|Any CPU.Build.0 = Release|Any CPU
{2740AF44-CB2E-4FD8-A221-248693978A0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2740AF44-CB2E-4FD8-A221-248693978A0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2740AF44-CB2E-4FD8-A221-248693978A0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2740AF44-CB2E-4FD8-A221-248693978A0C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
24 changes: 24 additions & 0 deletions Octokit.Next.Tests/CalculatorTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
namespace Octokit.Next.Tests
{
using Xunit;

public class CalculatorTests
{
private readonly Calculator _sut;

public CalculatorTests()
{
_sut = new Calculator();
}

[Theory]
[InlineData(1, 1, 2)]
[InlineData(1, 2, 3)]
[InlineData(2, 1, 3)]
[InlineData(-1, 1, 0)]
public void AddingTwoIntegers_ShouldReturnExpectedResult(int x, int y, int expected)
{
Assert.Equal(expected, _sut.Add(x, y));
}
}
}
22 changes: 22 additions & 0 deletions Octokit.Next.Tests/Octokit.Next.Tests.xproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>2740af44-cb2e-4fd8-a221-248693978a0c</ProjectGuid>
<RootNamespace>Octokit.Next.Tests</RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>
19 changes: 19 additions & 0 deletions Octokit.Next.Tests/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Octokit.Next.Tests")]
[assembly: AssemblyTrademark("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2740af44-cb2e-4fd8-a221-248693978a0c")]
16 changes: 16 additions & 0 deletions Octokit.Next.Tests/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"Octokit.Next": "*",
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"xunit": "2.2.0-beta2-build3300"
},
"frameworks": {
"netcoreapp1.0": {}
}
}
10 changes: 10 additions & 0 deletions Octokit.Next/Calculator.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
namespace Octokit.Next
{
public class Calculator
{
public int Add(int x, int y)
{
return x + y;
}
}
}
21 changes: 21 additions & 0 deletions Octokit.Next/Octokit.Next.xproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>4052af53-4c1b-48d1-b873-bfd0351481c3</ProjectGuid>
<RootNamespace>Octokit.Next</RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>

<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>
19 changes: 19 additions & 0 deletions Octokit.Next/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Octokit.Next")]
[assembly: AssemblyTrademark("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("4052af53-4c1b-48d1-b873-bfd0351481c3")]
11 changes: 11 additions & 0 deletions Octokit.Next/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "1.0.0-*",

"dependencies": {
"NETStandard.Library": "1.6.0"
},

"frameworks": {
"netstandard1.1": {}
}
}
1 change: 1 addition & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ build_script:
- cmd: build.cmd UnitTests
- cmd: build.cmd ConventionTests
- cmd: build.cmd CreatePackages
- cmd: build.cmd UnitTestsDotNetCore
test: off
nuget:
account_feed: true
Expand Down
2 changes: 1 addition & 1 deletion build.cmd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@echo off

"tools\nuget\nuget.exe" "install" "xunit.runner.console" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "2.1.0" -verbosity quiet
"tools\nuget\nuget.exe" "install" "FAKE.Core" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "4.28.0" -verbosity quiet
"tools\nuget\nuget.exe" "install" "FAKE.Core" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "4.39.1" -verbosity quiet
"tools\nuget\nuget.exe" "install" "SourceLink.Fake" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "1.1.0" -verbosity quiet
"tools\nuget\nuget.exe" "install" "Octokit.CodeFormatter" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "1.0.0-preview" -Pre -verbosity quiet
"tools\nuget\nuget.exe" "install" "FSharp.Data" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "2.3.2" -verbosity quiet
Expand Down
24 changes: 24 additions & 0 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,28 @@ Target "BuildMono" (fun _ ->
// xbuild does not support msbuild tools version 14.0 and that is the reason
// for using the xbuild command directly instead of using msbuild
Exec "xbuild" "./Octokit-Mono.sln /t:Build /tv:12.0 /v:m /p:RestorePackages='False' /p:Configuration='Release' /logger:Fake.MsBuildLogger+ErrorLogger,'../octokit.net/tools/FAKE.Core/tools/FakeLib.dll'"
)

Target "RestoreDotNetCore" (fun _ ->
[ "./Octokit.Next"
"./Octokit.Next.Tests" ]
|> Seq.iter (fun d ->
Fake.DotNetCli.Restore (fun p ->
{ p with
WorkingDir = d })
)
)

Target "BuildDotNetCore" (fun _ ->
!! "./**/project.json"
|> Fake.DotNetCli.Build id
)

Target "UnitTestsDotNetCore" (fun _ ->
!! "./Octokit.Next.Tests"
|> Fake.DotNetCli.Test id
)

Target "ConventionTests" (fun _ ->
!! (sprintf "./Octokit.Tests.Conventions/bin/%s/**/Octokit.Tests.Conventions.dll" buildMode)
|> xUnit2 (fun p ->
Expand Down Expand Up @@ -289,6 +309,10 @@ Target "CreatePackages" DoNothing
==> "CheckProjects"
==> "BuildMono"

"RestoreDotNetCore"
==> "BuildDotNetCore"
==> "UnitTestsDotNetCore"

"UnitTests"
==> "Default"

Expand Down
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ then
# use .Net

"./tools/nuget/nuget.exe" "install" "xunit.runner.console" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "2.0.0" -verbosity quiet
"./tools/nuget/nuget.exe" "install" "FAKE.Core" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "4.22.2" -verbosity quiet
"./tools/nuget/nuget.exe" "install" "FAKE.Core" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "4.39.1" -verbosity quiet
"./tools/nuget/nuget.exe" "install" "SourceLink.Fake" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "1.1.0" -verbosity quiet
"./tools/nuget/nuget.exe" "install" "Octokit.CodeFormatter" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "1.0.0-preview" -Pre -verbosity quiet
"./tools/nuget/nuget.exe" "install" "FSharp.Data" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "2.3.2" -verbosity quiet
packages/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx
else
# use mono
mono "./tools/nuget/NuGet.exe" "install" "xunit.runner.console" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "2.0.0" -verbosity quiet
mono "./tools/nuget/NuGet.exe" "install" "FAKE.Core" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "4.22.2" -verbosity quiet
mono "./tools/nuget/NuGet.exe" "install" "FAKE.Core" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "4.39.1" -verbosity quiet
mono "./tools/nuget/NuGet.exe" "install" "SourceLink.Fake" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "1.1.0" -verbosity quiet
mono "./tools/nuget/NuGet.exe" "install" "Octokit.CodeFormatter" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "1.0.0-preview" -Pre -verbosity quiet
mono "./tools/nuget/NuGet.exe" "install" "FSharp.Data" "-OutputDirectory" "tools" "-ExcludeVersion" "-version" "2.3.2" -verbosity quiet
Expand Down

0 comments on commit c9b2c12

Please sign in to comment.