FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Plotly.NET/build/ProjectInfo.fs at dev · plotly/Plotly.NET · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
plotly
/
Plotly.NET
Public
Notifications
You must be signed in to change notification settings
Fork
99
Star
859
Code
Issues
42
Pull requests
3
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Plotly.NET
/
build
/
ProjectInfo.fs
Copy path
More file actions
More file actions
Latest commit
History
History
History
117 lines (97 loc) · 4.31 KB
Breadcrumbs
Plotly.NET
/
build
/
ProjectInfo.fs
Copy path
File metadata and controls
117 lines (97 loc) · 4.31 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
modul
e
ProjectInf
o
open
Fake.
Core
/// Contains relevant information about a project (e.g. version info, project location)
type
ProjectInfo
=
{
Name
:
string
ProjFile
:
string
ReleaseNotes
:
ReleaseNotes
.
ReleaseNotes Option
PackageVersionTag
:
string
mutable
PackagePrereleaseTag
:
string
AssemblyVersion
:
string
AssemblyInformationalVersion
:
string
}
with
/// creates a ProjectInfo given a name, project file path, and release notes file path.
/// version info is created from the version header of the uppermost release notes entry.
/// Assembly version is set to X.0.0, where X is the major version from the releas enotes.
static member
create
(
name
:
string
,
projFile
:
string
,
releaseNotesPath
:
string
):
ProjectInfo
=
let
release
=
releaseNotesPath
|>
ReleaseNotes.load
let
stableVersion
=
release.NugetVersion
|>
SemVer.parse
let
stableVersionTag
=
$
"
{stableVersion.Major}.{stableVersion.Minor}.{stableVersion.Patch}
"
let
assemblyVersion
=
$
"
{stableVersion.Major}.0.0
"
let
assemblyInformationalVersion
=
stableVersionTag
{
Name
=
name
ProjFile
=
projFile
ReleaseNotes
=
Some release
PackagePrereleaseTag
=
"
"
PackageVersionTag
=
stableVersionTag
AssemblyVersion
=
assemblyVersion
AssemblyInformationalVersion
=
assemblyInformationalVersion
}
static member
create
(
name
:
string
,
projFile
:
string
):
ProjectInfo
=
{
Name
=
name
ProjFile
=
projFile
ReleaseNotes
=
None
PackagePrereleaseTag
=
"
"
PackageVersionTag
=
"
"
AssemblyVersion
=
"
"
AssemblyInformationalVersion
=
"
"
}
let
projectName
=
"
Plotly.NET
"
let
solutionFile
=
$
"
{projectName}.sln
"
let
gitOwner
=
"
plotly
"
let
gitHome
=
$
"
https://github.com/{gitOwner}
"
let
projectRepo
=
$
"
https://github.com/{gitOwner}/{projectName}
"
/// packages are generated in this directory.
let
pkgDir
=
"
pkg
"
/// binaries are built using this configuration.
let
configuration
=
"
Release
"
// test base projects (need to be built first)
let
FSharpTestBaseProject
=
ProjectInfo.create
(
"
FSharpTestBase
"
,
"
tests/Common/FSharpTestBase/FSharpTestBase.fsproj
"
)
let
CSharpTestBaseProject
=
ProjectInfo.create
(
"
CSharpTestBase
"
,
"
tests/Common/CSharpTestBase/CSharpTestBase.csproj
"
)
let
testBaseProjects
=
[
FSharpTestBaseProject
CSharpTestBaseProject
]
// test projects (.NET)
let
CoreTestProject
=
ProjectInfo.create
(
"
CoreTests
"
,
"
tests/CoreTests/CoreTests/CoreTests.fsproj
"
)
/// contains project info about the core test projects
let
testProjectsCore
=
[
CoreTestProject
]
let
ImageExportTestProject
=
ProjectInfo.create
(
"
ImageExportTests
"
,
"
tests/ExtensionLibsTests/ImageExportTests/ImageExportTests.fsproj
"
)
let
CSharpTestProject
=
ProjectInfo.create
(
"
CSharpTests
"
,
"
tests/ExtensionLibsTests/CSharpTests/CSharpTests.csproj
"
)
///
let
testProjectsExtensionsLibs
=
[
ImageExportTestProject
CSharpTestProject
]
let
CoreProject
=
ProjectInfo.create
(
"
Plotly.NET
"
,
"
src/Plotly.NET/Plotly.NET.fsproj
"
,
"
src/Plotly.NET/RELEASE_NOTES.md
"
)
let
InteractiveProject
=
ProjectInfo.create
(
"
Plotly.NET.Interactive
"
,
"
src/Plotly.NET.Interactive/Plotly.NET.Interactive.fsproj
"
,
"
src/Plotly.NET.Interactive/RELEASE_NOTES.md
"
)
let
ImageExportProject
=
ProjectInfo.create
(
"
Plotly.NET.ImageExport
"
,
"
src/Plotly.NET.ImageExport/Plotly.NET.ImageExport.fsproj
"
,
"
src/Plotly.NET.ImageExport/RELEASE_NOTES.md
"
)
let
CSharpProject
=
ProjectInfo.create
(
"
Plotly.NET.CSharp
"
,
"
src/Plotly.NET.CSharp/Plotly.NET.CSharp.csproj
"
,
"
src/Plotly.NET.CSharp/RELEASE_NOTES.md
"
)
/// contains project info about all projects
let
projects
=
[
CoreProject
InteractiveProject
ImageExportProject
CSharpProject
]
/// docs are always targeting the version of the core project
let
stableDocsVersionTag
=
CoreProject.PackageVersionTag
/// branch tag is always the version of the core project
let
branchTag
=
CoreProject.PackageVersionTag
/// prerelease suffix used by prerelease buildtasks
let mutable
prereleaseSuffix
=
"
"
/// prerelease tag used by prerelease buildtasks
let mutable
prereleaseTag
=
"
"
/// mutable switch used to signal that we are building a prerelease version, used in prerelease buildtasks
let mutable
isPrerelease
=
false
Back
|
FazBrowse Home
|
New Git URL