-
Notifications
You must be signed in to change notification settings - Fork 1
/
ResourceExtractorDotNet.proj
82 lines (71 loc) · 3.1 KB
/
ResourceExtractorDotNet.proj
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
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2016 Leonides T. Saguisag, Jr.
This file is part of ResourceExtractorDotNet.
ResourceExtractorDotNet is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ResourceExtractorDotNet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ResourceExtractorDotNet. If not, see http://www.gnu.org/licenses/.
-->
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputPath>build\</OutputPath>
<BinPath>$(OutputPath)bin\</BinPath>
<DocPath>$(OutputPath)doc\</DocPath>
<AppBaseName>ResourceExtractorDotNet</AppBaseName>
<AppNamespace>Name.LeonidesSaguisagJr.$(AppBaseName)</AppNamespace>
<OutputAssemblyName>$(AppBaseName).exe</OutputAssemblyName>
<AppConfigName>$(OutputAssemblyName).config</AppConfigName>
<OutputDocName>$(AppbaseName).xml</OutputDocName>
<TestAssemblyProj>testdata\TestAssembly.proj</TestAssemblyProj>
</PropertyGroup>
<Target Name="CreateDirs">
<MakeDir Directories="$(OutputPath)" Condition="!Exists('$(OutputPath)')" />
<MakeDir Directories="$(BinPath)" Condition="!Exists('$(BinPath)')" />
<MakeDir Directories="$(DocPath)" Condition="!Exists('$(DocPath)')" />
</Target>
<Target Name="TestData">
<MSBuild Projects="$(TestAssemblyProj)"/>
</Target>
<Target Name="BuildResources">
<ItemGroup>
<ResSource Include="Strings.txt" />
</ItemGroup>
<GenerateResource Sources="@(ResSource)"
OutputResources="@(ResSource->'$(OutputPath)$(AppNamespace).%(Filename).resources')"
StronglyTypedClassName="@(ResSource->'%(Filename)')"
StronglyTypedLanguage="C#"
StronglyTypedNamespace="$(AppNamespace)">
<Output
TaskParameter="OutputResources"
ItemName="Resources"/>
</GenerateResource>
</Target>
<Target Name="Build" DependsOnTargets="CreateDirs;TestData;BuildResources">
<ItemGroup>
<CscSource Include="**\*.cs" />
</ItemGroup>
<Csc Sources="@(CscSource)"
Resources="@(Resources)"
DebugType="full"
DefineConstants="TRACE"
OutputAssembly="$(BinPath)$(OutputAssemblyName)"
DocumentationFile="$(DocPath)$(OutputDocName)"
TargetType="exe" />
<Copy
SourceFiles="$(AppConfigName)"
DestinationFolder="$(BinPath)"
SkipUnchangedFiles="true" />
</Target>
<Target Name="Clean">
<MSBuild Projects="$(TestAssemblyProj)" Targets="Clean" />
<RemoveDir Directories="$(OutputPath)" />
</Target>
</Project>