Skip to content

Commit

Permalink
Migration to new ProjectScaffold
Browse files Browse the repository at this point in the history
  • Loading branch information
Kevin Schneider committed Aug 9, 2018
1 parent f9f1d06 commit 0fee5bb
Show file tree
Hide file tree
Showing 38 changed files with 2,460 additions and 1,175 deletions.
9 changes: 0 additions & 9 deletions .editorconfig

This file was deleted.

17 changes: 4 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ build/
[Bb]in/
[Oo]bj/


# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
Expand Down Expand Up @@ -170,15 +169,6 @@ $RECYCLE.BIN/
# NuGet Packages Directory
packages/

# Generated documentation folder
docs/output/

#ignore local docs
docs/local/

# Temp folder used for publishing docs
temp/

# Test results produced by build
TestResults.xml

Expand All @@ -189,7 +179,8 @@ release.sh
localpackages/
paket-files
*.orig
docs/content/license.md
docs/content/release-notes.md
docsrc/content/license.md
docsrc/content/release-notes.md
.fake
docs/tools/FSharp.Formatting.svclog
docsrc/tools/FSharp.Formatting.svclog
docs
53 changes: 38 additions & 15 deletions .paket/Paket.Restore.targets
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,26 @@
<!-- Step 1 Check if lockfile is properly restored -->
<PropertyGroup>
<PaketRestoreRequired>true</PaketRestoreRequired>
<NoWarn>$(NoWarn);NU1603</NoWarn>
<NoWarn>$(NoWarn);NU1603;NU1604;NU1605;NU1608</NoWarn>
</PropertyGroup>

<!-- Because ReadAllText is slow on osx/linux, try to find shasum and awk -->
<PropertyGroup>
<PaketRestoreCachedHasher Condition="'$(OS)' != 'Windows_NT' And '$(PaketRestoreCachedHasher)' == '' And Exists('/usr/bin/shasum') And Exists('/usr/bin/awk')">/usr/bin/shasum $(PaketRestoreCacheFile) | /usr/bin/awk '{ print $1 }'</PaketRestoreCachedHasher>
<PaketRestoreLockFileHasher Condition="'$(OS)' != 'Windows_NT' And '$(PaketRestoreLockFileHash)' == '' And Exists('/usr/bin/shasum') And Exists('/usr/bin/awk')">/usr/bin/shasum $(PaketLockFilePath) | /usr/bin/awk '{ print $1 }'</PaketRestoreLockFileHasher>
<PaketRestoreCachedHasher Condition="'$(OS)' != 'Windows_NT' And '$(PaketRestoreCachedHasher)' == '' And Exists('/usr/bin/shasum') And Exists('/usr/bin/awk')">/usr/bin/shasum "$(PaketRestoreCacheFile)" | /usr/bin/awk '{ print $1 }'</PaketRestoreCachedHasher>
<PaketRestoreLockFileHasher Condition="'$(OS)' != 'Windows_NT' And '$(PaketRestoreLockFileHash)' == '' And Exists('/usr/bin/shasum') And Exists('/usr/bin/awk')">/usr/bin/shasum "$(PaketLockFilePath)" | /usr/bin/awk '{ print $1 }'</PaketRestoreLockFileHasher>
</PropertyGroup>

<!-- If shasum and awk exist get the hashes -->
<Exec StandardOutputImportance="Low" Condition=" '$(PaketRestoreCachedHasher)' != '' " Command="$(PaketRestoreCachedHasher)" ConsoleToMSBuild='true'>
<Output TaskParameter="ConsoleOutput" PropertyName="PaketRestoreCachedHash" />
<Output TaskParameter="ConsoleOutput" PropertyName="PaketRestoreCachedHash" />
</Exec>
<Exec StandardOutputImportance="Low" Condition=" '$(PaketRestoreLockFileHasher)' != '' " Command="$(PaketRestoreLockFileHasher)" ConsoleToMSBuild='true'>
<Output TaskParameter="ConsoleOutput" PropertyName="PaketRestoreLockFileHash" />
<Output TaskParameter="ConsoleOutput" PropertyName="PaketRestoreLockFileHash" />
</Exec>

<!-- Debug whats going on -->
<Message Importance="low" Text="calling paket restore with targetframework=$(TargetFramework) targetframeworks=$(TargetFrameworks)" />

<PropertyGroup Condition="Exists('$(PaketRestoreCacheFile)') ">
<!-- if no hash has been done yet fall back to just reading in the files and comparing them -->
<PaketRestoreCachedHash Condition=" '$(PaketRestoreCachedHash)' == '' ">$([System.IO.File]::ReadAllText('$(PaketRestoreCacheFile)'))</PaketRestoreCachedHash>
Expand All @@ -69,11 +72,22 @@
<PaketRestoreRequired Condition=" '$(PaketRestoreLockFileHash)' == '' ">true</PaketRestoreRequired>
</PropertyGroup>

<PropertyGroup Condition="'$(PaketPropsVersion)' != '5.174.2' ">
<PaketRestoreRequired>true</PaketRestoreRequired>
</PropertyGroup>

<!-- Do a global restore if required -->
<Exec Command='$(PaketBootStrapperCommand)' Condition="Exists('$(PaketBootStrapperExePath)') AND !(Exists('$(PaketExePath)'))" ContinueOnError="false" />
<Exec Command='$(PaketCommand) restore' Condition=" '$(PaketRestoreRequired)' == 'true' " ContinueOnError="false" />

<!-- Step 2 Detect project specific changes -->
<ItemGroup>
<MyTargetFrameworks Condition="'$(TargetFramework)' != '' " Include="$(TargetFramework)"></MyTargetFrameworks>
<!-- Don't include all frameworks when msbuild explicitly asks for a single one -->
<MyTargetFrameworks Condition="'$(TargetFrameworks)' != '' AND '$(TargetFramework)' == '' " Include="$(TargetFrameworks)"></MyTargetFrameworks>
<PaketResolvedFilePaths Include="@(MyTargetFrameworks -> '$(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).%(Identity).paket.resolved')"></PaketResolvedFilePaths>
</ItemGroup>
<Message Importance="low" Text="MyTargetFrameworks=@(MyTargetFrameworks) PaketResolvedFilePaths=@(PaketResolvedFilePaths)" />
<PropertyGroup>
<PaketReferencesCachedFilePath>$(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).paket.references.cached</PaketReferencesCachedFilePath>
<!-- MyProject.fsproj.paket.references has the highest precedence -->
Expand All @@ -82,7 +96,9 @@
<PaketOriginalReferencesFilePath Condition=" !Exists('$(PaketOriginalReferencesFilePath)')">$(MSBuildProjectDirectory)\$(MSBuildProjectName).paket.references</PaketOriginalReferencesFilePath>
<!-- paket.references -->
<PaketOriginalReferencesFilePath Condition=" !Exists('$(PaketOriginalReferencesFilePath)')">$(MSBuildProjectDirectory)\paket.references</PaketOriginalReferencesFilePath>
<PaketResolvedFilePath>$(MSBuildProjectDirectory)\obj\$(MSBuildProjectFile).$(TargetFramework).paket.resolved</PaketResolvedFilePath>

<DoAllResolvedFilesExist>false</DoAllResolvedFilesExist>
<DoAllResolvedFilesExist Condition="Exists(%(PaketResolvedFilePaths.Identity))">true</DoAllResolvedFilesExist>
<PaketRestoreRequired>true</PaketRestoreRequired>
<PaketRestoreRequiredReason>references-file-or-cache-not-found</PaketRestoreRequiredReason>
</PropertyGroup>
Expand All @@ -101,32 +117,39 @@
</PropertyGroup>

<!-- Step 2 b detect relevant changes in project file (new targetframework) -->
<PropertyGroup Condition=" !Exists('$(PaketResolvedFilePath)') AND '$(TargetFramework)' != '' ">
<PropertyGroup Condition=" '$(DoAllResolvedFilesExist)' != 'true' ">
<PaketRestoreRequired>true</PaketRestoreRequired>
<PaketRestoreRequiredReason>target-framework '$(TargetFramework)'</PaketRestoreRequiredReason>
<PaketRestoreRequiredReason>target-framework '$(TargetFramework)' or '$(TargetFrameworks)' files @(PaketResolvedFilePaths)</PaketRestoreRequiredReason>
</PropertyGroup>

<!-- Step 3 Restore project specific stuff if required -->
<Message Condition=" '$(PaketRestoreRequired)' == 'true' " Importance="low" Text="Detected a change ('$(PaketRestoreRequiredReason)') in the project file '$(MSBuildProjectFullPath)', calling paket restore" />
<Exec Command='$(PaketCommand) restore --project "$(MSBuildProjectFullPath)"' Condition=" '$(PaketRestoreRequired)' == 'true' " ContinueOnError="false" />
<Exec Command='$(PaketCommand) restore --project "$(MSBuildProjectFullPath)" --target-framework "$(TargetFrameworks)"' Condition=" '$(PaketRestoreRequired)' == 'true' AND '$(TargetFramework)' == '' " ContinueOnError="false" />
<Exec Command='$(PaketCommand) restore --project "$(MSBuildProjectFullPath)" --target-framework "$(TargetFramework)"' Condition=" '$(PaketRestoreRequired)' == 'true' AND '$(TargetFramework)' != '' " ContinueOnError="false" />

<!-- This shouldn't actually happen, but just to be sure. -->
<Error Condition=" !Exists('$(PaketResolvedFilePath)') AND '$(TargetFramework)' != '' AND '$(ResolveNuGetPackages)' != 'False' " Text="Paket file '$(PaketResolvedFilePath)' is missing while restoring $(MSBuildProjectFile). Please delete 'paket-files/paket.restore.cached' and call 'paket restore'." />
<PropertyGroup>
<DoAllResolvedFilesExist>false</DoAllResolvedFilesExist>
<DoAllResolvedFilesExist Condition="Exists(%(PaketResolvedFilePaths.Identity))">true</DoAllResolvedFilesExist>
</PropertyGroup>
<Error Condition=" '$(DoAllResolvedFilesExist)' != 'true' AND '$(ResolveNuGetPackages)' != 'False' " Text="One Paket file '@(PaketResolvedFilePaths)' is missing while restoring $(MSBuildProjectFile). Please delete 'paket-files/paket.restore.cached' and call 'paket restore'." />

<!-- Step 4 forward all msbuild properties (PackageReference, DotNetCliToolReference) to msbuild -->
<ReadLinesFromFile Condition="Exists('$(PaketResolvedFilePath)')" File="$(PaketResolvedFilePath)" >
<ReadLinesFromFile Condition="($(DesignTimeBuild) != true OR '$(PaketPropsLoaded)' != 'true') AND '@(PaketResolvedFilePaths)' != ''" File="%(PaketResolvedFilePaths.Identity)" >
<Output TaskParameter="Lines" ItemName="PaketReferencesFileLines"/>
</ReadLinesFromFile>

<ItemGroup Condition=" Exists('$(PaketResolvedFilePath)') AND '@(PaketReferencesFileLines)' != '' " >
<ItemGroup Condition="($(DesignTimeBuild) != true OR '$(PaketPropsLoaded)' != 'true') AND '@(PaketReferencesFileLines)' != '' " >
<PaketReferencesFileLinesInfo Include="@(PaketReferencesFileLines)" >
<PackageName>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0])</PackageName>
<PackageVersion>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1])</PackageVersion>
<AllPrivateAssets>$([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[4])</AllPrivateAssets>
</PaketReferencesFileLinesInfo>
<PackageReference Include="%(PaketReferencesFileLinesInfo.PackageName)">
<Version>%(PaketReferencesFileLinesInfo.PackageVersion)</Version>
<PrivateAssets Condition="%(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'true'">All</PrivateAssets>
<PrivateAssets Condition=" ('%(PaketReferencesFileLinesInfo.AllPrivateAssets)' == 'true') Or ('$(PackAsTool)' == 'true') ">All</PrivateAssets>
<ExcludeAssets Condition="%(PaketReferencesFileLinesInfo.AllPrivateAssets) == 'exclude'">runtime</ExcludeAssets>
<Publish Condition=" '$(PackAsTool)' == 'true' ">true</Publish>
</PackageReference>
</ItemGroup>

Expand Down Expand Up @@ -183,8 +206,8 @@

<ConvertToAbsolutePath Condition="@(_NuspecFiles) != ''" Paths="@(_NuspecFiles)">
<Output TaskParameter="AbsolutePaths" PropertyName="NuspecFileAbsolutePath" />
</ConvertToAbsolutePath>
</ConvertToAbsolutePath>


<!-- Call Pack -->
<PackTask Condition="$(UseNewPack)"
Expand Down
Binary file modified .paket/paket.exe
Binary file not shown.
32 changes: 26 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
language: csharp
mono: latest # until https://github.com/dotnet/sdk/issues/335 is solved we don't have the full benefit of mono
dotnet: 2.1.101

sudo: false # use the new container-based Travis infrastructure
sudo: false # use the new container-based Travis infrastructure

mono: 5.12.0

dotnet: 2.1.300

install:

# workaround for missing .net 4.5 targing pack

- export FrameworkPathOverride=$(dirname $(which mono))/../lib/mono/4.5/

before_install:
- chmod +x build.sh

script:
- ./build.sh RunTests

matrix:
include:
- os: linux # Ubuntu 14.04
dist: trusty
sudo: required
dotnet : 2.1.300
- os: osx # OSX 10.12
osx_image: xcode9.1
dotnet : 2.1.300
dist: trusty
sudo: required

script:
- ./build.sh All
58 changes: 34 additions & 24 deletions FSharp.FGL.sln
Original file line number Diff line number Diff line change
@@ -1,64 +1,74 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.16
VisualStudioVersion = 15.0.27703.2000
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{63297B98-5CED-492C-A5B7-A5B4F73CF142}"
ProjectSection(SolutionItems) = preProject
paket.dependencies = paket.dependencies
paket.references = paket.references
paket.lock = paket.lock
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.FGL", "src\FSharp.FGL\FSharp.FGL.fsproj", "{4E235DDD-1B59-4A93-ABE9-2FEEF18B09A1}"
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.FGL", "src\FSharp.FGL\FSharp.FGL.fsproj", "{6FB790D0-6552-4804-BB93-1E3B1EE2AB9B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{BF60BC93-E09B-4E5F-9D85-95A519479D54}"
ProjectSection(SolutionItems) = preProject
build.fsx = build.fsx
README.md = README.md
RELEASE_NOTES.md = RELEASE_NOTES.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{83F16175-43B1-4C90-A1EE-8E351C33435D}"
ProjectSection(SolutionItems) = preProject
docs\tools\generate.fsx = docs\tools\generate.fsx
docs\tools\templates\template.cshtml = docs\tools\templates\template.cshtml
docsrc\tools\generate.fsx = docsrc\tools\generate.fsx
docsrc\tools\templates\template.cshtml = docsrc\tools\templates\template.cshtml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{8E6D5255-776D-4B61-85F9-73C37AA1FB9A}"
ProjectSection(SolutionItems) = preProject
docs\content\index.fsx = docs\content\index.fsx
docs\content\models.fsx = docs\content\models.fsx
docs\content\newgraph.fsx = docs\content\newgraph.fsx
docs\content\terminology.fsx = docs\content\terminology.fsx
docs\content\tutorial.fsx = docs\content\tutorial.fsx
docsrc\content\index.fsx = docsrc\content\index.fsx
docsrc\content\tutorial.fsx = docsrc\content\tutorial.fsx
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{ED8079DD-2B06-4030-9F0F-DC548F98E1C4}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.FGL.Tests", "tests\FSharp.FGL.Tests\FSharp.FGL.Tests.fsproj", "{12CFF99C-5660-42FE-9370-9085A6558F16}"
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.FGL.Tests", "tests\FSharp.FGL.Tests\FSharp.FGL.Tests.fsproj", "{5B8ECD82-4C39-43CF-A077-21E0D88105BC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "git", "git", "{078A9C52-DDC1-46F4-9235-9E6C89C87AFD}"
ProjectSection(SolutionItems) = preProject
.gitattributes = .gitattributes
.gitignore = .gitignore
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".build", ".build", "{7C6D08E7-3EAC-4335-8F4B-252C193C27C9}"
ProjectSection(SolutionItems) = preProject
.travis.yml = .travis.yml
appveyor.yml = appveyor.yml
build.cmd = build.cmd
build.fsx = build.fsx
build.proj = build.proj
build.sh = build.sh
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4E235DDD-1B59-4A93-ABE9-2FEEF18B09A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E235DDD-1B59-4A93-ABE9-2FEEF18B09A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E235DDD-1B59-4A93-ABE9-2FEEF18B09A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E235DDD-1B59-4A93-ABE9-2FEEF18B09A1}.Release|Any CPU.Build.0 = Release|Any CPU
{12CFF99C-5660-42FE-9370-9085A6558F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12CFF99C-5660-42FE-9370-9085A6558F16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12CFF99C-5660-42FE-9370-9085A6558F16}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12CFF99C-5660-42FE-9370-9085A6558F16}.Release|Any CPU.Build.0 = Release|Any CPU
{6FB790D0-6552-4804-BB93-1E3B1EE2AB9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6FB790D0-6552-4804-BB93-1E3B1EE2AB9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6FB790D0-6552-4804-BB93-1E3B1EE2AB9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6FB790D0-6552-4804-BB93-1E3B1EE2AB9B}.Release|Any CPU.Build.0 = Release|Any CPU
{5B8ECD82-4C39-43CF-A077-21E0D88105BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B8ECD82-4C39-43CF-A077-21E0D88105BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B8ECD82-4C39-43CF-A077-21E0D88105BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B8ECD82-4C39-43CF-A077-21E0D88105BC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{83F16175-43B1-4C90-A1EE-8E351C33435D} = {A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}
{8E6D5255-776D-4B61-85F9-73C37AA1FB9A} = {A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}
{12CFF99C-5660-42FE-9370-9085A6558F16} = {ED8079DD-2B06-4030-9F0F-DC548F98E1C4}
{5B8ECD82-4C39-43CF-A077-21E0D88105BC} = {ED8079DD-2B06-4030-9F0F-DC548F98E1C4}
EndGlobalSection
EndGlobal
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
FSharp.FGL is intended to be a user friendly functional graph-library written in F#.

The library is based on Martin Erwigs [Inductive Graph Model](https://web.engr.oregonstate.edu/~erwig/papers/InductiveGraphs_JFP01.pdf). The implementation itself is based on the [Hekate graph library](https://github.com/xyncro/hekate). The aim of the FSharp.FGL library is to offer a more thorough set of graph related functions, so the user can put his focus on usage rather than implementation.

The documentation for FSharp.FGL can be found [here](https://csbiology.github.io/FSharp.FGL).
# FSharp.FGL
13 changes: 1 addition & 12 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,2 @@
### 0.6 - Unreleased
* .NET Standard 2.0
* SDK based project

#### 0.5.1-beta - November 6 2013
* Improved quality of solution-wide README.md files

#### 0.5.0-beta - October 29 2013
* Improved quality of solution-wide README.md files

#### 0.0.1-beta - October 24 2013
* Changed name from fsharp-project-scaffold to FSharp.ProjectScaffold
#### 0.0.1 - Thursday, August 9, 2018
* Initial release
30 changes: 6 additions & 24 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,11 @@
version: '0.0.1.{build}'
image: Visual Studio 2017
# branches:
# only:
# - master
skip_tags: true

init:
# Good practise, because Windows line endings are different from Unix/Linux ones
- cmd: git config --global core.autocrlf true
install:
# Install repo specific stuff here
before_build:
# Display .NET Core version
- cmd: dotnet --version
- git config --global core.autocrlf input
build_script:
# output will be in bin
- cmd: build.cmd All
after_build:
# For once the build has completed
test: off
version: 0.0.1.{build}
artifacts:
- path: 'bin\*.nupkg'
name: FSharp.FGL
type: NuGetPackage
clone_depth: 1
test_script:
# done in build step
on_finish :
# any cleanup in here
deploy: off
- path: bin
name: bin
10 changes: 3 additions & 7 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
@echo off
cls

.paket\paket.exe restore
if errorlevel 1 (
exit /b %errorlevel%
)
dotnet restore build.proj

IF NOT EXIST build.fsx (
.paket\paket.exe update
packages\build\FAKE\tools\FAKE.exe init.fsx
fake run init.fsx
)
packages\build\FAKE\tools\FAKE.exe build.fsx %*
fake build %*
Loading

0 comments on commit 0fee5bb

Please sign in to comment.