Skip to content

Commit 00021aa

Browse files
authored
Merge pull request #28 from muehlhaus/developer
(1.2.0 Release) Update master with changes from developer
2 parents fa47224 + 143f975 commit 00021aa

32 files changed

+1650
-1124
lines changed

.config/dotnet-tools.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"fake-cli": {
6+
"version": "5.19.1",
7+
"commands": [
8+
"fake"
9+
]
10+
},
11+
"paket": {
12+
"version": "5.242.1",
13+
"commands": [
14+
"paket"
15+
]
16+
}
17+
}
18+
}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,3 +186,4 @@ docsrc/tools/FSharp.Formatting.svclog
186186
docs
187187
temp/gh-pages
188188
/src/FSharp.Plotly/TestScript.fsx
189+
/pkg

.paket/Paket.Restore.targets

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,16 @@
2727
<PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' AND Exists('$(PaketRootPath)paket.bootstrapper.exe')">$(PaketRootPath)paket.bootstrapper.exe</PaketBootStrapperExePath>
2828
<PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' ">$(PaketToolsPath)paket.bootstrapper.exe</PaketBootStrapperExePath>
2929
<PaketBootStrapperExeDir Condition=" Exists('$(PaketBootStrapperExePath)') " >$([System.IO.Path]::GetDirectoryName("$(PaketBootStrapperExePath)"))\</PaketBootStrapperExeDir>
30-
30+
3131
<PaketBootStrapperCommand Condition=" '$(OS)' == 'Windows_NT' ">"$(PaketBootStrapperExePath)"</PaketBootStrapperCommand>
3232
<PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketBootStrapperExePath)"</PaketBootStrapperCommand>
3333

34+
<!-- Disable automagic references for F# DotNet SDK -->
35+
<!-- This will not do anything for other project types -->
36+
<!-- see https://github.com/fsharp/fslang-design/blob/master/tooling/FST-1002-fsharp-in-dotnet-sdk.md -->
37+
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
38+
<DisableImplicitSystemValueTupleReference>true</DisableImplicitSystemValueTupleReference>
39+
3440
<!-- Disable Paket restore under NCrunch build -->
3541
<PaketRestoreDisabled Condition="'$(NCrunch)' == '1'">True</PaketRestoreDisabled>
3642

@@ -130,7 +136,7 @@
130136
<!-- Parse our simple 'paket.restore.cached' json ...-->
131137
<PaketRestoreCachedSplitObject Include="$([System.Text.RegularExpressions.Regex]::Split(`$(PaketRestoreCachedContents)`, `{|}|,`))"></PaketRestoreCachedSplitObject>
132138
<!-- Keep Key, Value ItemGroup-->
133-
<PaketRestoreCachedKeyValue Include="@(PaketRestoreCachedSplitObject)"
139+
<PaketRestoreCachedKeyValue Include="@(PaketRestoreCachedSplitObject)"
134140
Condition=" $([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `&quot;: &quot;`).Length) &gt; 1 ">
135141
<Key>$([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[0].Replace(`"`, ``).Replace(` `, ``))</Key>
136142
<Value>$([System.Text.RegularExpressions.Regex]::Split(`%(Identity)`, `": "`)[1].Replace(`"`, ``).Replace(` `, ``))</Value>
@@ -163,7 +169,7 @@
163169
<Exec Command='$(PaketBootStrapperCommand)' Condition=" '$(PaketBootstrapperStyle)' == 'classic' AND Exists('$(PaketBootStrapperExePath)') AND !(Exists('$(PaketExePath)'))" ContinueOnError="false" />
164170
<Error Text="Stop build because of PAKET_ERROR_ON_MSBUILD_EXEC and we need a full restore (hashes don't match)" Condition=" '$(PAKET_ERROR_ON_MSBUILD_EXEC)' == 'true' AND '$(PaketRestoreRequired)' == 'true' AND '$(PaketDisableGlobalRestore)' != 'true'" />
165171
<Exec Command='$(PaketCommand) restore' Condition=" '$(PaketRestoreRequired)' == 'true' AND '$(PaketDisableGlobalRestore)' != 'true' " ContinueOnError="false" />
166-
172+
167173
<!-- Step 2 Detect project specific changes -->
168174
<ItemGroup>
169175
<MyTargetFrameworks Condition="'$(TargetFramework)' != '' " Include="$(TargetFramework)"></MyTargetFrameworks>

FSharp.Plotly.sln

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Microsoft Visual Studio Solution File, Format Version 12.00
22
# Visual Studio Version 16
3-
VisualStudioVersion = 16.0.29613.14
3+
VisualStudioVersion = 16.0.29709.97
44
MinimumVisualStudioVersion = 10.0.40219.1
55
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{63297B98-5CED-492C-A5B7-A5B4F73CF142}"
66
ProjectSection(SolutionItems) = preProject
@@ -15,6 +15,7 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Plotly", "src\FSharp
1515
EndProject
1616
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{BF60BC93-E09B-4E5F-9D85-95A519479D54}"
1717
ProjectSection(SolutionItems) = preProject
18+
LICENSE = LICENSE
1819
README.md = README.md
1920
RELEASE_NOTES.md = RELEASE_NOTES.md
2021
EndProjectSection
@@ -47,6 +48,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{8E6D
4748
docsrc\content\index.fsx = docsrc\content\index.fsx
4849
docsrc\content\line-scatter-plots.fsx = docsrc\content\line-scatter-plots.fsx
4950
docsrc\content\multiple-charts.fsx = docsrc\content\multiple-charts.fsx
51+
docsrc\content\parallel-categories.fsx = docsrc\content\parallel-categories.fsx
5052
docsrc\content\parallel-coords.fsx = docsrc\content\parallel-coords.fsx
5153
docsrc\content\pie-daughnut-charts.fsx = docsrc\content\pie-daughnut-charts.fsx
5254
docsrc\content\plotly-wpf.fsx = docsrc\content\plotly-wpf.fsx
@@ -55,6 +57,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{8E6D
5557
docsrc\content\sankey.fsx = docsrc\content\sankey.fsx
5658
docsrc\content\shapes.fsx = docsrc\content\shapes.fsx
5759
docsrc\content\splom.fsx = docsrc\content\splom.fsx
60+
docsrc\content\table.fsx = docsrc\content\table.fsx
5861
docsrc\content\violin-plots.fsx = docsrc\content\violin-plots.fsx
5962
docsrc\content\windrose-charts.fsx = docsrc\content\windrose-charts.fsx
6063
EndProjectSection

LICENSE

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Copyright 2020 Timo M�hlhaus
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4+
5+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6+
7+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

LICENSE.txt

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

RELEASE_NOTES.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
### 1.2.0 - Feb 17 2020
2+
Additional functionality:
3+
* *
4+
* [Various marker style options](https://github.com/muehlhaus/FSharp.Plotly/commit/11a80f94d9fb9f94a4504073955e009746e9fd0d)
5+
* [Config support](https://github.com/muehlhaus/FSharp.Plotly/commit/70998edd586553b40a8b95de56d86639902a5420)
6+
* [Chart.Stack works now with both 2D and 3D Charts](https://github.com/muehlhaus/FSharp.Plotly/commit/db7ce675a73f37598590f24ac99c246fce78759e)
7+
8+
Additional plots:
9+
* [Parallel Categories](https://github.com/muehlhaus/FSharp.Plotly/commit/adaf9e361d9fe8ac3b51a8832ffbb024cd3d78dc)
10+
* [Stacked Area](https://github.com/muehlhaus/FSharp.Plotly/commit/612666883ac07f21350d3da3d6749387a9cb1f4d)
11+
* [Tables](https://github.com/muehlhaus/FSharp.Plotly/commit/6bfc9e34072c486546ad3fbf118f027e57c6114c)
12+
13+
Additional functionality and plots thanks to external open source contributors:
14+
* You can now [add descriptional text to the chart html](https://github.com/muehlhaus/FSharp.Plotly/commit/bd99364d1fcfe894c772ad2fe9c59b31a37dc547) (thanks @kkkmail)
15+
* [Sankey and Candlestick Charts are now available](https://github.com/muehlhaus/FSharp.Plotly/commit/f1e873d7e2c2cc5a60c2365058880419668d1804) (thanks @fwaris)
16+
17+
118
### 1.1.2 - Aug 16 2018
219
* Support .net framework 4.7
320
* Minor improvments

build.cmd

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
cls
33

44
dotnet restore build.proj
5-
6-
IF NOT EXIST build.fsx (
7-
fake run init.fsx
8-
)
9-
fake build %*
5+
dotnet tool restore
6+
dotnet paket restore
7+
dotnet fake build %*

build.fsx

Lines changed: 77 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,37 @@
1-
// --------------------------------------------------------------------------------------
2-
// FAKE build script
3-
// --------------------------------------------------------------------------------------
4-
5-
#r "paket: groupref FakeBuild //"
61

2+
#r @"paket:
3+
nuget Fake.Core.Target
4+
nuget Fake.Core.Process
5+
nuget Fake.Core.ReleaseNotes
6+
nuget Fake.IO.FileSystem
7+
nuget Fake.DotNet.Cli
8+
nuget Fake.DotNet.MSBuild
9+
nuget Fake.DotNet.AssemblyInfoFile
10+
nuget Fake.DotNet.Paket
11+
nuget Fake.DotNet.FSFormatting
12+
nuget Fake.DotNet.Fsi
13+
nuget Fake.DotNet.NuGet
14+
nuget Fake.DotNet.Testing.Expecto
15+
nuget Fake.Tools.Git
16+
nuget Fake.Api.GitHub //"
17+
18+
#if !FAKE
719
#load "./.fake/build.fsx/intellisense.fsx"
20+
#r "netstandard" // Temp fix for https://github.com/dotnet/fsharp/issues/5216
21+
#endif
822

23+
open System
924
open System.IO
1025
open Fake.Core
1126
open Fake.Core.TargetOperators
1227
open Fake.DotNet
28+
open Fake.IO.Globbing
29+
open Fake.DotNet.NuGet
30+
open Fake.DotNet.Testing
1331
open Fake.IO
1432
open Fake.IO.FileSystemOperators
15-
open Fake.IO.Globbing
1633
open Fake.IO.Globbing.Operators
17-
open Fake.DotNet.Testing
1834
open Fake.Tools
19-
open Fake.Api
20-
open Fake.Tools.Git
2135

2236
[<AutoOpen>]
2337
module TemporaryDocumentationHelpers =
@@ -32,16 +46,25 @@ module TemporaryDocumentationHelpers =
3246
FsiEval : bool }
3347

3448

35-
let private run toolPath command =
36-
if 0 <> Process.execSimple ((fun info ->
37-
{ info with
38-
FileName = toolPath
39-
Arguments = command }) >> Process.withFramework) System.TimeSpan.MaxValue
49+
let private run toolPath arguments =
50+
Command.RawCommand
51+
(
52+
toolPath,
53+
arguments
54+
)
55+
|> CreateProcess.fromCommand
56+
|> CreateProcess.withFramework
57+
|> CreateProcess.ensureExitCode
58+
|> Proc.run
59+
|> ignore
4060

41-
then failwithf "FSharp.Formatting %s failed." command
4261

4362
let createDocs p =
44-
let toolPath = Tools.findToolInSubPath "fsformatting.exe" (Directory.GetCurrentDirectory() @@ "lib/Formatting")
63+
let toolPath =
64+
match ProcessUtils.tryFindLocalTool "" "fsformatting.exe" [(Directory.GetCurrentDirectory() @@ "/lib")] with
65+
|Some tool -> tool
66+
| _ -> failwith "FSFormatting executable not found"
67+
//let toolPath = Tools.findToolInSubPath "fsformatting.exe" (Directory.GetCurrentDirectory() @@ "lib/Formatting")
4568

4669
let defaultLiterateArguments =
4770
{ ToolPath = toolPath
@@ -68,10 +91,7 @@ module TemporaryDocumentationHelpers =
6891
|> Seq.append
6992
(["literate"; "--processdirectory" ] @ layoutroots @ [ "--inputdirectory"; source; "--templatefile"; template;
7093
"--outputDirectory"; outputDir] @ fsiEval @ [ "--replacements" ])
71-
|> Seq.map (fun s ->
72-
if s.StartsWith "\"" then s
73-
else sprintf "\"%s\"" s)
74-
|> String.separated " "
94+
|> Arguments.OfArgs
7595
run arguments.ToolPath command
7696
printfn "Successfully generated docs for %s" source
7797

@@ -125,6 +145,8 @@ let gitRaw = Environment.environVarOrDefault "gitRaw" "https://raw.githubusercon
125145

126146
let website = "/FSharp.Plotly"
127147

148+
let pkgDir = "pkg"
149+
128150
// --------------------------------------------------------------------------------------
129151
// END TODO: The rest of the file includes standard build steps
130152
// --------------------------------------------------------------------------------------
@@ -229,23 +251,18 @@ Target.create "Build" (fun _ ->
229251
Target.create "RunTests" (fun _ ->
230252
let assemblies = !! testAssemblies
231253

232-
let setParams f =
233-
match Environment.isWindows with
234-
| true ->
235-
fun p ->
236-
{ p with
237-
FileName = f}
238-
| false ->
239-
fun p ->
240-
{ p with
241-
FileName = "mono"
242-
Arguments = f }
243254
assemblies
244-
|> Seq.map (fun f ->
245-
Process.execSimple (setParams f) System.TimeSpan.MaxValue
255+
|> Seq.iter (fun f ->
256+
Command.RawCommand (
257+
f,
258+
Arguments.OfArgs []
259+
)
260+
|> CreateProcess.fromCommand
261+
|> CreateProcess.withFramework
262+
|> CreateProcess.ensureExitCode
263+
|> Proc.run
264+
|> ignore
246265
)
247-
|>Seq.reduce (+)
248-
|> (fun i -> if i > 0 then failwith "")
249266
)
250267

251268
// --------------------------------------------------------------------------------------
@@ -254,10 +271,11 @@ Target.create "RunTests" (fun _ ->
254271
Target.create "NuGet" (fun _ ->
255272
Paket.pack(fun p ->
256273
{ p with
257-
OutputPath = "bin"
274+
ToolType = ToolType.CreateLocalTool()
275+
OutputPath = pkgDir
258276
Version = release.NugetVersion
259-
ReleaseNotes = String.toLines release.Notes})
260-
)
277+
ReleaseNotes = release.Notes |> String.toLines })
278+
)
261279

262280
Target.create "PublishNuget" (fun _ ->
263281
Paket.push(fun p ->
@@ -352,8 +370,8 @@ Target.create "Docs" (fun _ ->
352370
Shell.rename "docsrc/content/release-notes.md" "docsrc/content/RELEASE_NOTES.md"
353371

354372
File.delete "docsrc/content/license.md"
355-
Shell.copyFile "docsrc/content/" "LICENSE.txt"
356-
Shell.rename "docsrc/content/license.md" "docsrc/content/LICENSE.txt"
373+
Shell.copyFile "docsrc/content/" "LICENSE"
374+
Shell.rename "docsrc/content/license.md" "docsrc/content/LICENSE"
357375

358376

359377
DirectoryInfo.getSubDirectories (DirectoryInfo.ofPath templates)
@@ -456,7 +474,21 @@ Target.create "Release" (fun _ ->
456474
)
457475

458476
Target.create "BuildPackage" ignore
459-
Target.create "GenerateDocs" ignore
477+
478+
//Target.create "GenerateDocs" (fun _ ->
479+
// let (exitCode, messages) =
480+
// Fsi.exec
481+
// (fun p ->
482+
// { p with
483+
// WorkingDirectory="docsrc/tools"
484+
// Define="RELEASE"
485+
// }
486+
// )
487+
// "generate.fsx"
488+
// []
489+
// if exitCode = 0 then () else
490+
// failwith (messages |> String.concat Environment.NewLine)
491+
//)
460492

461493
Target.create "GitReleaseNuget" (fun _ ->
462494
let tempNugetDir = "temp/nuget"
@@ -480,16 +512,16 @@ Target.create "All" ignore
480512
==> "Build"
481513
==> "CopyBinaries"
482514
==> "RunTests"
483-
==> "GenerateDocs"
515+
//==> "GenerateDocs"
484516
==> "NuGet"
485517
==> "All"
486518

487519
"RunTests" ?=> "CleanDocs"
488520

489521
"CleanDocs"
490-
==>"Docs"
522+
==> "Docs"
491523
==> "ReferenceDocs"
492-
==> "GenerateDocs"
524+
//==> "GenerateDocs"
493525

494526
"Clean"
495527
==> "Release"
@@ -498,7 +530,7 @@ Target.create "All" ignore
498530
==> "PublishNuget"
499531
==> "Release"
500532

501-
"GenerateDocs"
533+
"Docs"
502534
==> "ReleaseDocs"
503535

504536
"All"

0 commit comments

Comments
 (0)