-
Notifications
You must be signed in to change notification settings - Fork 179
Expand file tree
/
Copy pathcommon.targets
More file actions
90 lines (78 loc) · 4.67 KB
/
Copy pathcommon.targets
File metadata and controls
90 lines (78 loc) · 4.67 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
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- This *could* be a Directory.Build.props/targets, but I'd have to -->
<!-- move the folders of every mod again (because of the non-mod stuff like shared projects and submodules)... -->
<!--common project properties-->
<PropertyGroup>
<Authors>kittycatcasey</Authors>
<Description>...</Description>
<UniqueId>kittycatcasey.$(AssemblyName)</UniqueId>
<MinimumApiVersion_Behavior>Update</MinimumApiVersion_Behavior>
<MinimumGameVersion_Behavior>UpdateFull</MinimumGameVersion_Behavior>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<TargetFramework>net6.0</TargetFramework>
<LangVersion>preview</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<Nullable>enable</Nullable>
</PropertyGroup>
<!-- Reference packages/projects that everything uses -->
<ItemGroup>
<PackageReference Include="Pathoschild.Stardew.ModBuildConfig" Version="4.1.2-casey" />
<PackageReference Include="Leclair.Stardew.ModManifestBuilder" Version="2.4.0" />
<Reference Include="Newtonsoft.Json">
<HintPath>$(GamePath)/smapi-internal/Newtonsoft.Json.dll</HintPath>
<Private>false</Private>
</Reference>
<PackageReference Include="Krafs.Publicizer" Version="2.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<PropertyGroup>
<PublicizerClearCacheOnClean>true</PublicizerClearCacheOnClean>
</PropertyGroup>
<ItemGroup Condition="'$(OS)' == 'Windows_NT'">
<Publicize Include="Stardew Valley" IncludeVirtualMembers="false" IncludeCompilerGeneratedMembers="false" />
</ItemGroup>
<ItemGroup Condition="'$(OS)' != 'Windows_NT'">
<Publicize Include="StardewValley" IncludeVirtualMembers="false" IncludeCompilerGeneratedMembers="false" />
</ItemGroup>
<!-- Include SpaceShared for everything -->
<Import Project="$(SolutionDir)shared\SpaceShared.GameAgnostic\SpaceShared.GameAgnostic.projitems" Label="Shared" />
<Import Project="$(SolutionDir)shared\SpaceShared.MonoGame\SpaceShared.MonoGame.projitems" Label="Shared" />
<Import Project="$(SolutionDir)shared\SpaceShared.Mods\SpaceShared.Mods.projitems" Label="Shared" />
<Import Project="$(SolutionDir)shared\SpaceShared.SourceGen\SpaceShared.SourceGen.projitems" Label="Shared" />
<ItemGroup>
<ProjectReference Include="$(SolutionDir)shared\SpaceShared.SourceGenerator\SpaceShared.SourceGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
<!-- Optional but commonly used configuration additions -->
<Import Condition="'$(EnableHarmony)' == 'true'" Project="$(SolutionDir)shared/harmony.targets" />
<Import Condition="'$(RequireSpaceCore)' == 'true'" Project="$(SolutionDir)shared/spacecore.targets" />
<Import Condition="'$(GenerateDocumentation)' == 'true'" Project="$(SolutionDir)shared/documentation-generation.targets" />
<Import Condition="'$(HasTranslations)' == 'true'" Project="$(SolutionDir)shared/translations.targets" />
<!--common mod build package options-->
<PropertyGroup>
<ModZipPath>$(SolutionDir)_releases</ModZipPath>
<EnableModZip Condition="$(Configuration) != 'Release'">False</EnableModZip>
</PropertyGroup>
<!-- This sometimes fixes running the game from the right folder when I use an environment variable to override my game path. No idea why -->
<!-- Other times it breaks it when it was working (which is only sometimes)! Joy -->
<!-- Might be related to opening another instance the normal way after having already done an environment variable override, at least until next restart? -->
<!--
<PropertyGroup Condition="'$(OS)' == 'Windows_NT'">
<StartProgram>$(GamePath)\StardewModdingAPI.exe</StartProgram>
<StartWorkingDirectory>$(GamePath)</StartWorkingDirectory>
</PropertyGroup>
-->
<!-- mac workaround, remove when updating mod build config -->
<PropertyGroup Condition="'$(OS)' != 'Windows_NT'">
<StartAction>Program</StartAction>
<StartProgram>/Users/spacechase0/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS\StardewModdingAPI</StartProgram>
<StartWorkingDirectory>/Users/spacechase0/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS</StartWorkingDirectory>
</PropertyGroup>
<!-- Fixes hot reload sometimes breaking, for some reason? -->
<PropertyGroup Condition="$(Configuration) == 'Debug'">
<DebugType>portable</DebugType>
</PropertyGroup>
</Project>