-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.targets
More file actions
51 lines (44 loc) · 3.31 KB
/
Directory.Build.targets
File metadata and controls
51 lines (44 loc) · 3.31 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
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Target Name="CopyToGame" AfterTargets="Build" Condition="'$(DisableCopyToGame)' != 'True'">
<PropertyGroup>
<OutputAssemblyName>$(OutputPath)$(AssemblyName)</OutputAssemblyName>
<ManifestPath>$(OutputPath)manifest.json</ManifestPath>
<CanCopy>True</CanCopy>
<CopyError Condition="!Exists('$(GameDir)')">Unable to copy assembly to game folder. Game directory doesn't exist</CopyError>
<ManifestWarning Condition="!Exists('$(ManifestPath)')">Manifest.json doesn't exist. Without it the mod cannot load</ManifestWarning>
<CanCopy Condition="'$(CopyError)' != ''">False</CanCopy>
</PropertyGroup>
<Warning Text="$(CopyError)" Condition="'$(CopyError)' != ''"/>
<Warning Text="$(ManifestWarning)" Condition="'$(ManifestWarning)' != ''"/>
<Message Text="Copying '$(AssemblyName)' to '$(GameDir)'." Importance="high" Condition="$(CanCopy)"/>
<Copy SourceFiles="$(OutputAssemblyName).dll" DestinationFiles="$(GameDir)\Mods\$(AssemblyName).dll" Condition="$(CanCopy)"/>
<Copy SourceFiles="$(OutputAssemblyName).pdb" DestinationFiles="$(GameDir)\Mods\$(AssemblyName).pdb" Condition="'$(CanCopy)' AND Exists('$(OutputAssemblyName).pdb')"/>
<Copy SourceFiles="$(OutputPath)manifest.json" DestinationFiles="$(GameDir)\Mods\$(AssemblyName)\manifest.json" Condition="'$(CanCopy)' AND Exists('$(OutputPath)manifest.json')"/>
</Target>
<Target Name="CreateModDir" AfterTargets="Build" Condition="'$(Configuration)' == 'Release'">
<PropertyGroup>
<BuildDir>$(SolutionDir)ReleaseBuild\</BuildDir>
<BuildModDir>$(BuildDir)$(AssemblyName)</BuildModDir>
<OutputAssemblyName>$(OutputPath)$(AssemblyName)</OutputAssemblyName>
<ManifestPath>$(OutputPath)manifest.json</ManifestPath>
<CanCopy>True</CanCopy>
<CopyError Condition="!Exists('$(GameDir)')">Unable to copy assembly to game folder. Game directory doesn't exist</CopyError>
<ManifestWarning Condition="!Exists('$(ManifestPath)')">Manifest.json doesn't exist. Without it the mod cannot load</ManifestWarning>
<CanCopy Condition="'$(CopyError)' != ''">False</CanCopy>
</PropertyGroup>
<Message Text="Creating mod directory at '$(BuildModDir)'." Importance="high"/>
<Copy SourceFiles="$(OutputAssemblyName).dll" DestinationFiles="$(BuildModDir)\Mods\$(AssemblyName).dll" Condition="$(CanCopy)"/>
<Copy SourceFiles="$(OutputPath)manifest.json" DestinationFiles="$(BuildModDir)\Mods\$(AssemblyName)\manifest.json" Condition="'$(CanCopy)' AND Exists('$(OutputPath)manifest.json')"/>
</Target>
<Target Name="CreateZip" AfterTargets="CreateModDir" Condition="'$(Configuration)' == 'Release'">
<PropertyGroup>
<BuildDir>$(SolutionDir)ReleaseBuild\</BuildDir>
<BuildModDir>$(BuildDir)$(AssemblyName)</BuildModDir>
<ZipFile>$(BuildDir)$(AssemblyName).zip</ZipFile>
</PropertyGroup>
<Message Text="Creating zip file at '$(ZipFile)'." Importance="high"/>
<Delete Files="$(ZipFile)"/>
<ZipDirectory DestinationFile="$(ZipFile)" SourceDirectory="$(BuildModDir)"/>
</Target>
</Project>