Removed initial binder support which was replaced with more general approach.
[castle.git] / SharedLibs / mono / 2.0 / Boo.Microsoft.Build.targets
blobbe7b021c1b781acb4a64eb6a71a7bacefb96ce7c
1 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
2         \r
3         <UsingTask\r
4                 TaskName="Microsoft.Build.Tasks.CreateBooManifestResourceName"\r
5                 AssemblyFile="Boo.Microsoft.Build.Tasks.dll" />\r
6         \r
7         <UsingTask\r
8                 TaskName="Boo.Microsoft.Build.Tasks.Booc"\r
9                 AssemblyFile="Boo.Microsoft.Build.Tasks.dll"/>\r
10         \r
11         <PropertyGroup>\r
12                 <MSBuildAllProjects Condition="'$(BoocToolPath)' != ''">\r
13                 $(MSBuildAllProjects);$(BoocToolPath)\Boo.Microsoft.Build.targets\r
14                 </MSBuildAllProjects>\r
15                 <MSBuildAllProjects Condition="'$(BoocToolPath)' == ''">\r
16                 $(MSBuildAllProjects);$(MSBuildBinPath)\Boo.Microsoft.Build.targets\r
17                 </MSBuildAllProjects>\r
18                 <DefaultLanguageSourceExtension>.boo</DefaultLanguageSourceExtension>\r
19                 <Language>Boo</Language>\r
20         </PropertyGroup>\r
21         \r
22         <!--\r
23     The CreateManifestResourceNames target create the manifest resource names\r
24         from the .RESX files.\r
26         [IN]\r
27         @(ResxWithNoCulture) - The names the non-culture .RESX files.\r
28         @(ResxWithCulture) - The names the culture .RESX files.\r
29         @(NonResxWithNoCulture) - The names of the non-culture non-RESX\r
30                                           files (like bitmaps, etc).\r
31                                                                   \r
32         @(NonResxWithCulture) - The names of the culture non-RESX\r
33                                        files (like bitmaps, etc).\r
35         [OUT]\r
36         @(ManifestResourceWithNoCultureName) - The corresponding manifest\r
37                                                        resource name (.RESOURCE)\r
38                                                                                            \r
39         @(ManifestResourceWithCultureName) - The corresponding manifest\r
40                                                      resource name (.RESOURCE)\r
41                                                                                          \r
42         @(ManifestNonResxWithNoCulture) - The corresponding manifest\r
43                                                   resource name.\r
44                                                                                   \r
45         @(ManifestNonResxWithCulture) - The corresponding manifest\r
46                                                resource name.\r
48     For Boo applications the transformation is like:\r
50         Resources1.resx => RootNamespace.Resources1 => Build into main assembly\r
51         \r
52                 SubFolder\Resources1.resx =>\r
53                         RootNamespace.SubFolder.Resources1 =>\r
54                                 Build into main assembly\r
55         \r
56                 Resources1.fr.resx =>\r
57                         RootNamespace.Resources1.fr =>\r
58                                 Build into satellite assembly\r
59                                 \r
60         Resources1.notaculture.resx =>\r
61                         RootNamespace.Resources1.notaculture =>\r
62                                 Build into main assembly\r
64     For other project systems, this transformation may be different.\r
65     -->\r
66         \r
67         <PropertyGroup>\r
68                 <CreateManifestResourceNamesDependsOn>\r
69                 </CreateManifestResourceNamesDependsOn>\r
70         </PropertyGroup>\r
71         \r
72         <Target\r
73                 Name="CreateManifestResourceNames"\r
74                 Condition="'\r
75                 @(ResxWithNoCulture)\r
76                 @(ResxWithCulture)\r
77                 @(NonResxWithNoCulture)\r
78                 @(NonResxWithCulture)'!=''"\r
79                 \r
80                 DependsOnTargets="$(CreateManifestResourceNamesDependsOn)"\r
81         >\r
82                 \r
83                 <!-- Create the target resource names for non-culture resx files -->\r
84                 <CreateBooManifestResourceName\r
85                         Condition="'@(ResxWithNoCulture)'!=''"\r
86                         ResourceFiles="@(ResxWithNoCulture)"\r
87                         RootNamespace="$(RootNamespace)">\r
88                         \r
89                         <Output\r
90                                 TaskParameter="ManifestResourceNames"\r
91                                 ItemName="ManifestResourceWithNoCultureName"/>\r
92                 \r
93                 </CreateBooManifestResourceName>\r
94                 \r
95                 <!-- Create the target resource names for culture resx files. -->\r
96                 <CreateBooManifestResourceName\r
97                         Condition="'@(ResxWithCulture)'!=''"\r
98                         ResourceFiles="@(ResxWithCulture)"\r
99                         RootNamespace="$(RootNamespace)">\r
100                         \r
101                         <Output\r
102                                 TaskParameter="ManifestResourceNames"\r
103                                 ItemName="ManifestResourceWithCultureName"/>\r
104                 \r
105                 </CreateBooManifestResourceName>\r
106                 \r
107                 <!-- Create the target resource names for non-culture non-resx files. -->\r
108                 <CreateBooManifestResourceName\r
109                         Condition="'@(NonResxWithNoCulture)'!=''"\r
110                         ResourceFiles="@(NonResxWithNoCulture)"\r
111                         RootNamespace="$(RootNamespace)">\r
112                         \r
113                         <Output\r
114                                 TaskParameter="ManifestResourceNames"\r
115                                 ItemName="ManifestNonResxWithNoCulture"/>\r
116                 \r
117                 </CreateBooManifestResourceName>\r
118                 \r
119                 <!-- Create the target resource names for culture non-resx files. -->\r
120                 <CreateBooManifestResourceName\r
121                         Condition="'@(NonResxWithCulture)'!=''"\r
122                         ResourceFiles="@(NonResxWithCulture)"\r
123                         RootNamespace="$(RootNamespace)">\r
124                         \r
125                         <Output\r
126                                 TaskParameter="ManifestResourceNames"\r
127                                 ItemName="ManifestNonResxWithCulture"/>\r
128                 \r
129                 </CreateBooManifestResourceName>\r
130         </Target>\r
131         \r
132         <PropertyGroup>\r
133                 \r
134                 <!--\r
135                 "None" is not technically a valid DebugType, so we can't pass it\r
136                 in as such to the compiler.  So here, we modify the properties so\r
137             they make sense.\r
138                 -->\r
139                 <DebugSymbols Condition="'$(DebugType)' == 'none'">false</DebugSymbols>\r
140                 <DebugType    Condition="'$(DebugType)' == 'none'"></DebugType>\r
141                 \r
142                 <!-- Provide a facility to override UseHostCompilerIfAvailable-->\r
143                 <UseHostCompilerIfAvailable\r
144                         Condition="'$(UseHostCompilerIfAvailable)' == ''">\r
145                 true\r
146                 </UseHostCompilerIfAvailable>\r
147         \r
148         </PropertyGroup>\r
149         \r
150         <ItemGroup>\r
151                 <DocFileItem\r
152                         Include="$(DocumentationFile)"\r
153                         Condition="'$(DocumentationFile)'!=''">\r
154                         \r
155                         <InProject>false</InProject>\r
156                 </DocFileItem>\r
157         </ItemGroup>\r
158         \r
159         <PropertyGroup>\r
160                 <CoreCompileDependsOn>\r
161                 _ComputeNonExistentFileProperty\r
162                 </CoreCompileDependsOn>\r
163         </PropertyGroup>\r
164         \r
165         <PropertyGroup Condition=" '$(BoocToolPath)' != '' ">\r
166                 <ReferencePath>$(ReferencePath);$(BoocToolPath)</ReferencePath>\r
167         </PropertyGroup>\r
168         <PropertyGroup Condition=" '$(BoocToolPath)' == '' ">\r
169                 <ReferencePath>$(ReferencePath);$(BooBinPath)</ReferencePath>\r
170         </PropertyGroup>\r
171         \r
172         <Target\r
173                 Name="CoreCompile"\r
174                 Inputs="$(MSBuildAllProjects);\r
175                         @(Compile);\r
176                         @(ManifestResourceWithNoCulture);\r
177                         $(ApplicationIcon);\r
178                         $(AssemblyOriginatorKeyFile);\r
179                         @(ManifestNonResxWithNoCultureOnDisk);\r
180                         @(ReferencePath);\r
181                         @(CompiledLicenseFile)"\r
182                 Outputs="@(DocFileItem);\r
183                          @(IntermediateAssembly);\r
184                          $(NonExistentFile)"\r
185                 DependsOnTargets="$(CoreCompileDependsOn)"\r
186         >\r
187                 \r
188                 <Booc\r
189                         OutputAssembly="@(IntermediateAssembly)"\r
190                         References="@(ReferencePath)"\r
191                         Resources= "@(ManifestResourceWithNoCulture);\r
192                                     @(ManifestNonResxWithNoCultureOnDisk);\r
193                                     @(CompiledLicenseFile)"\r
194                         ResponseFiles="$(CompilerResponseFile)"\r
195                         Sources="@(Compile)"\r
196                         TargetType="$(OutputType)"\r
197                         ToolPath="$(BoocToolPath)"\r
198                         Pipeline="$(Pipeline)"\r
199                         WhiteSpaceAgnostic="$(WhiteSpaceAgnostic)"\r
200                         Ducky="$(Ducky)"\r
201                         Verbosity="$(BoocVerbosity)"\r
202                         Culture="$(AssemblyCulture)"\r
203                         SourceDirectory="$(SourceDirectory)"\r
204                         KeyFile="$(AssemblyOriginatorKeyFile)"\r
205                         KeyContainer="$(AssemblyKeyContainerName)"\r
206                         EmitDebugInformation="$(DebugSymbols)"\r
207                         DelaySign="$(DelaySign)"\r
208                         NoStandardLib="$(NoStdLib)"\r
209                 />\r
210                 \r
211                 <Copy\r
212                         Condition=" '$(BoocToolPath)' == '' "\r
213                         SkipUnchangedFiles="true"\r
214                         SourceFiles="$(BooBinPath)\Boo.Lang.dll"\r
215                         DestinationFolder="$(OutputPath)"/>\r
216                 \r
217                 <Copy\r
218                         Condition=" '$(BoocToolPath)' != '' "\r
219                         SkipUnchangedFiles="true"\r
220                         SourceFiles="$(BoocToolPath)\Boo.Lang.dll"\r
221                         DestinationFolder="$(OutputPath)"/>\r
222         </Target>\r
223         \r
224         <Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />\r
225 </Project>\r