-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCSharpEditorPlugin.csproj
More file actions
109 lines (98 loc) · 6.99 KB
/
Copy pathCSharpEditorPlugin.csproj
File metadata and controls
109 lines (98 loc) · 6.99 KB
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
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>13</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>$(NoWarn);NU1901;NU1902;NU1903;NU1904</NoWarn>
<!-- CSharpEditorPlugin.xml ships next to the DLL so hovering Display, Dump, Check... in a script shows their docs.
Only the documented members need comments (CS1591, CS1573). -->
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);CS1591;CS1573</NoWarn>
<AssemblyName>CSharpEditorPlugin</AssemblyName>
<PackageId>FryPdf.Plugin.CSharpEditor</PackageId>
<RootNamespace>PdfEditorApp.Plugins.CSharpEditor</RootNamespace>
<Version>2.0.2</Version>
<Company>Code Fry Dev</Company>
<Description>Full-featured interactive C# Code Studio and Script Automation Workspace for FryPDF</Description>
<DefaultItemExcludes>$(DefaultItemExcludes);Runner/**;Tests/**;tools/**</DefaultItemExcludes>
<EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<!-- NuGet packaging -->
<PackageTags>frypdf;plugin;csharp;roslyn;avalonia;ide;scripting</PackageTags>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<EmbedAllSources>true</EmbedAllSources>
</PropertyGroup>
<ItemGroup>
<!-- The words of the visual contract (ChartType, ElementState, ...): charts, 3D plots and visualizers all use them. -->
<Using Include="PdfEditorApp.Plugins.CSharpEditor.Visuals.Spec" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FryPdf.PluginSdk" Version="0.1.0" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<!-- Common dependencies provided at runtime by the FryPDF host -->
<PackageReference Include="Avalonia" Version="12.1.2" PrivateAssets="all" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.2" PrivateAssets="all" />
<PackageReference Include="Material.Icons.Avalonia" Version="3.0.2" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<!-- Code Editor & Roslyn compilation dependencies bundled with plugin -->
<PackageReference Include="Avalonia.AvaloniaEdit" Version="12.0.0" />
<PackageReference Include="Avalonia.Controls.WebView" Version="12.1.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.12.0" />
</ItemGroup>
<ItemGroup>
<None Include="plugin.json" CopyToOutputDirectory="PreserveNewest" />
<AvaloniaResource Include="Assets\**" />
<!-- The notebook's Python kernel program, written out next to the plugin's data when a Python cell first runs. -->
<EmbeddedResource Include="Services\Languages\Python\Kernel\*.py" LogicalName="PythonKernel.%(Filename)%(Extension)" />
<EmbeddedResource Include="Services\Languages\Python\Runtime\*.py" LogicalName="PythonKernel.%(Filename)%(Extension)" />
<EmbeddedResource Include="Services\Languages\Python\Runtime\*.py" LogicalName="PythonRuntime.%(Filename)%(Extension)" />
<!-- The notebook's JavaScript kernel program, written out next to the plugin's data when a JavaScript cell first runs. -->
<EmbeddedResource Include="Services\Languages\JavaScript\Kernel\*.js" LogicalName="JavaScriptKernel.%(Filename)%(Extension)" />
<EmbeddedResource Include="Services\Languages\JavaScript\Runtime\*.js" LogicalName="JavaScriptKernel.%(Filename)%(Extension)" />
<EmbeddedResource Include="Services\Languages\JavaScript\Runtime\*.js" LogicalName="JavaScriptRuntime.%(Filename)%(Extension)" />
<!-- The notebook's Java kernel program, written out next to the plugin's data when a Java cell first runs. -->
<EmbeddedResource Include="Services\Languages\Java\Kernel\*.java" LogicalName="JavaKernel.%(Filename)%(Extension)" />
<EmbeddedResource Include="Services\Languages\Java\Runtime\*.java" LogicalName="JavaKernel.%(Filename)%(Extension)" />
<EmbeddedResource Include="Services\Languages\Java\Runtime\*.java" LogicalName="JavaRuntime.%(Filename)%(Extension)" />
<!-- The Go display and visual runtime package -->
<EmbeddedResource Include="Services\Languages\Go\Runtime\*.go" LogicalName="GoRuntime.%(Filename)%(Extension)" />
<!-- The Rust display and visual runtime package -->
<EmbeddedResource Include="Services\Languages\Rust\Runtime\*.*" LogicalName="RustRuntime.%(Filename)%(Extension)" />
<!-- The C++ display and visual runtime header -->
<EmbeddedResource Include="Services\Languages\Cpp\Runtime\*.hpp" LogicalName="CppRuntime.%(Filename)%(Extension)" />
<!-- The F# display and visual runtime script -->
<EmbeddedResource Include="Services\Languages\FSharp\Runtime\*.fsx" LogicalName="FSharpRuntime.%(Filename)%(Extension)" />
</ItemGroup>
<!-- Packaging into .fryplugin distribution archive -->
<Target Name="PackageFryPlugin" AfterTargets="Build" Condition="'$(Configuration)' == 'Release'">
<PropertyGroup>
<PluginStagingDir>$(TargetDir)staging\</PluginStagingDir>
<OutputFryPlugin>$(TargetDir)CSharpEditor.fryplugin</OutputFryPlugin>
</PropertyGroup>
<RemoveDir Directories="$(PluginStagingDir)" />
<MakeDir Directories="$(PluginStagingDir)" />
<ItemGroup>
<PluginFiles Include="$(TargetDir)CSharpEditorPlugin.dll" />
<PluginFiles Include="$(TargetDir)CSharpEditorPlugin.xml" Condition="Exists('$(TargetDir)CSharpEditorPlugin.xml')" />
<PluginFiles Include="$(TargetDir)CSharpEditorPlugin.deps.json" Condition="Exists('$(TargetDir)CSharpEditorPlugin.deps.json')" />
<PluginFiles Include="$(TargetDir)AvaloniaEdit.dll" Condition="Exists('$(TargetDir)AvaloniaEdit.dll')" />
<PluginFiles Include="$(TargetDir)Avalonia.Controls.WebView.dll" Condition="Exists('$(TargetDir)Avalonia.Controls.WebView.dll')" />
<PluginFiles Include="$(TargetDir)Microsoft.CodeAnalysis.dll" Condition="Exists('$(TargetDir)Microsoft.CodeAnalysis.dll')" />
<PluginFiles Include="$(TargetDir)Microsoft.CodeAnalysis.CSharp.dll" Condition="Exists('$(TargetDir)Microsoft.CodeAnalysis.CSharp.dll')" />
<PluginFiles Include="$(TargetDir)Microsoft.CodeAnalysis.Scripting.dll" Condition="Exists('$(TargetDir)Microsoft.CodeAnalysis.Scripting.dll')" />
<PluginFiles Include="$(TargetDir)Microsoft.CodeAnalysis.CSharp.Scripting.dll" Condition="Exists('$(TargetDir)Microsoft.CodeAnalysis.CSharp.Scripting.dll')" />
<PluginFiles Include="$(ProjectDir)plugin.json" />
</ItemGroup>
<Copy SourceFiles="@(PluginFiles)" DestinationFolder="$(PluginStagingDir)" />
<Delete Files="$(OutputFryPlugin)" Condition="Exists('$(OutputFryPlugin)')" />
<ZipDirectory SourceDirectory="$(PluginStagingDir)" DestinationFile="$(OutputFryPlugin)" />
<RemoveDir Directories="$(PluginStagingDir)" />
<Message Importance="High" Text="Successfully packaged FryPDF plugin: $(OutputFryPlugin)" />
</Target>
</Project>