refactor(plugin): share SDK artifacts by game version and require explicit version declarations
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
<ItemGroup Condition="'$(BD2GameSdkEnabled)' == 'true'">
|
||||
<Compile Include="$(BD2SdkDir)/GameSdkIdentity.g.cs" />
|
||||
<Reference Include="Assembly-CSharp.Readable">
|
||||
<HintPath>$(BD2SdkDir)/ref/Assembly-CSharp.Readable.dll</HintPath>
|
||||
<HintPath>$(BD2SharedSdkDir)/ref/Assembly-CSharp.Readable.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="BepInEx" Condition="'$(BD2AddBepInExReferences)' != 'false'"><HintPath>$(BD2BepInExDir)/core/BepInEx.dll</HintPath><Private>false</Private></Reference>
|
||||
@@ -21,14 +21,23 @@
|
||||
<Import Project="$(BD2SdkDir)/GameSourceNavigation.props" Condition="Exists('$(BD2SdkDir)/GameSourceNavigation.props') and '$(BD2GameSdkEnabled)' == 'true'" />
|
||||
<Target Name="PrepareBD2GameSdk" BeforeTargets="ResolveAssemblyReferences;CoreCompile"
|
||||
Condition="'$(BD2GameSdkEnabled)' == 'true' and '$(IsCrossTargetingBuild)' != 'true'">
|
||||
<Error Condition="'$(BD2GameVersion)' == ''" Text="BD2.GameSdk: declare BD2GameVersion explicitly in your plugin csproj, for example <BD2GameVersion>2.35.10</BD2GameVersion>." />
|
||||
<Error Condition="'$(GameDir)' == '' and '$(BD2ManagedDir)' == '/BrownDust II_Data/Managed'" Text="BD2.GameSdk: set GameDir in Directory.Build.props or pass -p:GameDir=<game-directory>." />
|
||||
<Error Condition="!Exists('$(BD2ManagedDir)/Assembly-CSharp.dll')" Text="BD2.GameSdk: Assembly-CSharp.dll missing in $(BD2ManagedDir). Set GameDir or BD2ManagedDir." />
|
||||
<Error Condition="'$(BD2AddBepInExReferences)' != 'false' and !Exists('$(BD2BepInExDir)/core/BepInEx.dll')" Text="BD2.GameSdk: install BepInEx or set BD2BepInExDir. Custom hosts can disable BD2AddBepInExReferences." />
|
||||
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" EnvironmentVariables="BD2_GAME_SDK_CACHE=$(BD2GameSdkCache)" Command="dotnet "$(BD2SdkTool)" prepare-embedded "$(BD2ManagedDir)/Assembly-CSharp.dll" "$(BD2SdkDir)"" />
|
||||
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" EnvironmentVariables="BD2_GAME_SDK_CACHE=$(BD2GameSdkCache)" Command="dotnet "$(BD2SdkTool)" prepare-embedded "$(BD2ManagedDir)/Assembly-CSharp.dll" "$(BD2SdkDir)" --game-version "$(BD2GameVersion)"" />
|
||||
<ReadLinesFromFile File="$(BD2SdkDir)/shared-sdk.txt"><Output TaskParameter="Lines" PropertyName="BD2SharedSdkDir" /></ReadLinesFromFile>
|
||||
<ItemGroup>
|
||||
<Reference Remove="Assembly-CSharp.Readable" />
|
||||
<Reference Include="Assembly-CSharp.Readable">
|
||||
<HintPath>$(BD2SharedSdkDir)/ref/Assembly-CSharp.Readable.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
<Target Name="ReobfuscateBD2Plugin" AfterTargets="Build"
|
||||
Condition="'$(BD2GameSdkEnabled)' == 'true' and '$(DesignTimeBuild)' != 'true' and '$(IsCrossTargetingBuild)' != 'true'">
|
||||
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" Command="dotnet "$(BD2SdkTool)" reobf "$(BD2SdkDir)/names.json" "$(IntermediateOutputPath)$(TargetFileName)" "$(TargetPath)" "$(BD2ManagedDir)/Assembly-CSharp.dll" "$(BD2BepInExDir)/core"" />
|
||||
<Exec StdOutEncoding="utf-8" StdErrEncoding="utf-8" Command="dotnet "$(BD2SdkTool)" reobf "$(BD2SharedSdkDir)/names.json" "$(IntermediateOutputPath)$(TargetFileName)" "$(TargetPath)" "$(BD2ManagedDir)/Assembly-CSharp.dll" "$(BD2BepInExDir)/core"" />
|
||||
<Delete Files="$(TargetDir)$(TargetName).pdb" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user