-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathForPublishing.fsproj
119 lines (95 loc) · 6.94 KB
/
ForPublishing.fsproj
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
118
119
<?xml version="1.0" encoding="utf-8"?>
<!--https://docs.microsoft.com/en-us/dotnet/core/project-sdk/msbuild-props-->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<!-- net7 fails: https://discourse.mcneel.com/t/rhinocommon-with-net7-0-target/200460/2 -->
<!-- <TargetFrameworks>net48;net7.0</TargetFrameworks> -->
<!-- <NoWarn>NU1701</NoWarn> -->
<!-- to suppress warning about RhinoCommon targeting only for net48 -->
<!-- <UseWindowsForms>true</UseWindowsForms> to get screen resolution and show dialogs use ETO not mono: https://discourse.mcneel.com/t/rhino-for-mac-wip-goodbye-mono-hello-net-6/131925-->
<LangVersion>preview</LangVersion>
<NeutralLanguage>en</NeutralLanguage>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages> <!--to only have the english resources-->
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference> <!-- so that dependabot does not fail https://github.com/dependabot/dependabot-core/issues/10883#issuecomment-2495962805 -->
<RootNamespace>Rhino.Scripting</RootNamespace>
<AssemblyName>Rhino.Scripting</AssemblyName>
<AssemblyTitle>Rhino.Scripting</AssemblyTitle>
<Product>Rhino.Scripting</Product> <!--visible in explorer-->
<Title>Rhino.Scripting</Title>
<PackageId>Rhino.Scripting</PackageId>
<!-- <Version>0.1</Version> done by Ionide.KeepAChangelog.Tasks -->
<Authors>GoswinR</Authors>
<Copyright>Goswin Rothenthal 2022</Copyright>
<Description>A complete re-implementation of the RhinoPython scripting syntax in F#. For Rhino 6.0 or higher.</Description>
<Configuration>Release</Configuration>
<PlatformTarget>x64</PlatformTarget><!-- x64 is required e.g by Rhino, don't us just 'Platform' node-->
<OtherFlags>$(OtherFlags)--warnon:3390</OtherFlags> <!-- warnon:3390 is to verify xml docstrings https://devblogs.microsoft.com/dotnet/announcing-f-5/#improved-compiler-analysis-for-library-authors -->
<OtherFlags>$(OtherFlags) --warnon:1182</OtherFlags> <!-- 1182: warn on unused variables -->
</PropertyGroup>
<PropertyGroup>
<!--https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target-->
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<!-- Optional: EmbedUntrackedSources, Embed source files that are not tracked by the source control manager to the PDB .
This is useful if you generate files during the build. (We do for Rhino.Scripting !)
https://www.meziantou.net/how-to-debug-nuget-packages-using-sourcelink.htm
https://www.hanselman.com/blog/exploring-net-cores-sourcelink-stepping-into-the-source-code-of-nuget-packages-you-dont-own
https://github.com/NuGet/Home/wiki/NuGet-Package-Debugging-&-Symbols-Improvements
-->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<RepositoryType>git</RepositoryType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/goswinr/Rhino.Scripting</PackageProjectUrl>
<RepositoryUrl>https://github.com/goswinr/Rhino.Scripting</RepositoryUrl>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<PackageIcon>logo128.png</PackageIcon>
<!-- <SymbolPackageFormat>snupkg</SymbolPackageFormat> --><!-- using snupkg the readme does not pack https://github.com/NuGet/Home/issues/10791 -->
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageDescription>A complete re-implementation of the RhinoPython scripting syntax for use with F# and C#. For Rhino 6.0 or higher.</PackageDescription>
<PackageTags>RhinoScript RhinoCommon Rhino3dm Rhino3d Rhino Rhinoceros 3dm</PackageTags>
<FsDocsLicenseLink>https://github.com/goswinr/Rhino.Scripting/blob/main/LICENSE.md</FsDocsLicenseLink>
<FsDocsReleaseNotesLink>https://github.com/goswinr/Rhino.Scripting/blob/main/CHANGELOG.md</FsDocsReleaseNotesLink>
<PackageProjectUrl>https://goswinr.github.io/Rhino.Scripting</PackageProjectUrl>
<FsDocsFaviconSource>img/favicon.ico</FsDocsFaviconSource>
<FsDocsWarnOnMissingDocs>true</FsDocsWarnOnMissingDocs>
<ChangelogFile>./CHANGELOG.md</ChangelogFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FSharp.Core" Version="6.0.7" /> <!-- so that dependabot does not fail, even though it is set to be excluded -->
<PackageReference Include="RhinoCommon" Version="7.0.20314.3001" PrivateAssets="all" ExcludeAssets="runtime" />
<PackageReference Include="Ionide.KeepAChangelog.Tasks" Version="0.1.8" PrivateAssets="all" />
<PackageReference Include="FsEx" Version="0.16.0" GeneratePathProperty="true"/>
<PackageReference Include="Eto.Forms" Version="2.9.0" /> <!-- so it works on Mac too and doesn't need Mac.Mono https://discourse.mcneel.com/t/rhino-for-mac-wip-goodbye-mono-hello-net-6/131925 -->
<!-- This is probably not working to the editing files because the way files a structured on github does not match the way the are compiled from a one big generated file.-->
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
</ItemGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="" />
<None Include="Docs/img/logo128.png" Pack="true" PackagePath="" /> <!--PackagePath = "" makes the file available to nuget pack tool-->
<Content Include="$(PkgFsEx)/lib/net472/FsEx.xml" CopyToOutputDirectory="Always" />
<Compile Include="Src/Exceptions.fs" />
<Compile Include="Src/RhinoSync.fs" />
<Compile Include="Src/State.fs" />
<Compile Include="Src/ToNiceStringExtensions.fs" />
<Compile Include="Src/ToNiceStringSetup.fs" />
<Compile Include="Src/Util.fs" />
<Compile Include="Src/UtilLayer.fs" />
<Compile Include="Src/ObjectFilterEnum.fs" />
</ItemGroup>
<!-- Combine all files of the rhinoscriptingsyntax into one: https://stackoverflow.com/a/44829863/969070 -->
<Target Name="Combine Into One File" BeforeTargets="BeforeBuild">
<Exec Command="dotnet fsi combineIntoOneFile.fsx" />
<ItemGroup>
<Compile Include="Src/AutoGeneratedCode/AllScriptingFilesCombinedIntoOne_DontEditThisFile.fs" />
</ItemGroup>
</Target>
<Target Name="WriteChangelogVersion" AfterTargets="AfterBuild"><!-- for version checks in github tag based builds -->
<WriteLinesToFile File="./bin/ChangelogVersion.txt" Lines="@(CurrentReleaseChangelog)" Overwrite="true" ContinueOnError="false" />
</Target>
<!-- Delete AutoGeneratedCode/AllScriptingFilesCombinedIntoOne_DontEditThisFile.fs when done. Better keep it for Microsoft.SourceLink.GitHub
<Target Name="DeleteMergedFile" BeforeTargets="AfterBuild"> <Delete Files="Src/AutoGeneratedCode/AllScriptingFilesCombinedIntoOne_DontEditThisFile.fs" TreatErrorsAsWarnings="true" /> </Target>
-->
</Project>