* xbuild/Microsoft.Common.targets: Emit list of files written
[mono.git] / mcs / tools / xbuild / ChangeLog
1 2009-09-25  Ankit Jain  <jankit@novell.com>
2
3         * xbuild/Microsoft.Common.targets: Emit list of files written
4         during the build, even if the build fails.
5
6 2009-09-25  Ankit Jain  <jankit@novell.com>
7
8         Fix bug #534992.
9         * xbuild/Microsoft.Common.targets: Add support for copying
10         app.config to AssemblyName.config
11         * xbuild/Microsoft.Common.tasks: Add FindAppConfigFile task.
12
13 2009-09-24  Ankit Jain  <jankit@novell.com>
14
15         * Parameters.cs (ParseArguments): If no project file is specified,
16         then look for a .sln or *proj file in the current directory.
17
18 2009-09-24  Ankit Jain  <jankit@novell.com>
19
20         * Makefile: Create dir for WebApplication.targets .
21         * Microsoft.Common.targets (_ValidateEssentialProperties): New.
22         (BuildDependsOn): Add _ValidateEssentialProperties, temporary.
23         This should actually work via InitialTargets, which will be fixed
24         in a subsequent commit. Add PrepareForRun.
25         (PrepareForRun): New.
26         * xbuild/Microsoft.WebApplication.targets: New.
27
28 2009-09-23  Ankit Jain  <jankit@novell.com>
29
30         * xbuild/Microsoft.Common.targets: Add 'Rebuild' target.
31         Also, set DefaultTargets to "Build".
32
33 2009-08-26  Ankit Jain  <jankit@novell.com>
34
35         * xbuild/Microsoft.Common.targets: Remove dummy
36         @(_TargetPathItem), since we support item refs with transforms
37         as a property value.
38
39 2009-08-26  Ankit Jain  <jankit@novell.com>
40
41         Fix bug #533903.
42         * xbuild/Microsoft.Common.targets: Support building projects
43         directly from command line. Builds referenced projects. Honors
44         $(BuildingSolutionFile) and $(BuildingInsideVisualStudio) now.
45         Also, clean referenced projects.
46
47 2009-08-21  Ankit Jain  <jankit@novell.com>
48
49         Fix bug #531926
50         * xbuild/Microsoft.Common.targets: Add $(ConfigurationName)
51         and $(PlatformName) default values.
52         Move CoreCompile to a Compile target with corresponding
53         Before/After hooks and *DependsOn.
54         Add Pre/PostBuildEvents handling.
55
56 2009-08-20  Ankit Jain  <jankit@novell.com>
57
58         Fix bug #532264.
59         * Main.cs: Dont generate .sln.proj, project.Load can handle
60         .sln directly now. Show stack trace for exceptions if logger
61         verbosity is > normal
62         * SolutionParser.cs (ParseSolution): Add a param for a raise
63         warning delegate. Use Dictionary.TryGetValue, key might not
64         be present.
65
66 2009-08-20  Ankit Jain  <jankit@novell.com>
67
68         * xbuild/Microsoft.Common.targets (ResolveReferences*): Add
69         a *DependsOn property and Before/After hooks. Change output
70         of ResolvedFiles to @(ReferencePath).
71         * xbuild/Microsoft.CSharp.targets (Csc): Use @(ReferencePath)
72         for references.
73
74 2009-08-19  Ankit Jain  <jankit@novell.com>
75
76         * xbuild/Microsoft.Common.targets (ResolveAssemblyReference):
77         Make SearchPaths get value from a property (AssemblySearchPaths)
78         to allow it to be overridden.
79
80 2009-08-18  Ankit Jain  <jankit@novell.com>
81
82         * SolutionParser.cs (ParseSolution): Project reference in a project
83         file, but not found in .sln file is ignored. Also, add dependencies
84         specified in the .sln file.
85
86 2009-08-14  Ankit Jain  <jankit@novell.com>
87
88         Fix bug #530368.
89         * SolutionParser.cs (AddProjectTargets): If a project name matches one
90         of the targets that we emit (Build/Clean etc), then rename to
91         "Solution:<project name>".
92
93 2009-08-14  Ankit Jain  <jankit@novell.com>
94
95         * xbuild/Microsoft.Common.targets (AllowUnsafeBlocks): Don't set any
96         default value.
97         (OutputPath): Set a default value.
98         (DeployOutputFiles): Copy only if something available to copy.
99
100 2009-08-14  Ankit Jain  <jankit@novell.com>
101
102         * SolutionParser.cs (ProjectInfo.Dependencies): Change to a dictionary
103         to keep track of corresponding ProjectInfo objects.
104         (ParseSolution): Refactor to populate the ProjectInfo.Dependencies
105         dictionary. Use AddBuildLevels to emit build levels to allow
106         parallel builds.
107         (AddProjectTargets): Dependency's projectInfo is directly available now.
108         (AddBuildLevels): New. Emit items named BuildLevelN, where each level
109         has projects that can be built in parallel. Lower levels represent
110         dependencies for higher levels.
111         (AddSolutionTargets): Instead of using CallTarget, directly use MSBuild
112         task with the new BuildLevelN stuff. Also tell the user about disabled
113         projects or missing project configs.
114         (TopologicalSort): New.
115         (Insert): New. Based on code from monodevelop.
116
117 2009-08-14  Ankit Jain  <jankit@novell.com>
118
119         * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add
120         '{PkgConfig}' to SearchPaths.
121
122 2009-07-31  Ankit Jain  <jankit@novell.com>
123
124         * ErrorUtilities.cs (ShowUsage): Implement.
125
126 2009-07-30  Ankit Jain  <jankit@novell.com>
127
128         Fix bug #484771.
129         * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Add support
130         for $(OutDir).
131
132 2009-07-30  Ankit Jain  <jankit@novell.com>
133
134         * ErrorUtilities.cs: Set version to Consts.MonoVersion .
135
136 2009-07-30  Ankit Jain  <jankit@novell.com>
137
138         * xbuild/Microsoft.Common.targets (ResolveAssemblyReference): Output
139         ResolvedFiles to @(ReferencePath), required for IDE integration.
140
141 2009-07-30  Ankit Jain  <jankit@novell.com>
142
143         * xbuild/Microsoft.Common.targets: Implement 'Clean' target. Currently
144         just handles clean for a full build.
145
146 2009-07-28  Ankit Jain  <jankit@novell.com>
147
148         * xbuild/Microsoft.Common.targets: Add missing 'SkipUnchangedFiles=true'
149         for the Copy tasks.
150         (CopyDeployFiles*): Fix typos, Add inputs/outputs for the
151         PreserveNewest case and remove for copy always case.
152
153 2009-07-23  Ankit Jain  <jankit@novell.com>
154
155         * xbuild/Microsoft.Common.targets: Oops, forgot to remove some
156         debug stuff.
157
158 2009-07-23  Ankit Jain  <jankit@novell.com>
159
160         * Makefile: Create a lib/mono/xbuild directory for xbuild
161         extensions.
162
163 2009-07-23  Ankit Jain  <jankit@novell.com>
164
165         * xbuild/Microsoft.Common.targets (AssignProjectConfigurations): New.
166         (ResolveProjectReferences): Add dependency on AssignProjectConfigurations
167         target. Also, set the config and platform properties for the msbuild task
168         being invoked.
169         * xbuild/Microsoft.Common.tasks: Add AssignProjectConfiguration .
170
171 2009-07-22  Ankit Jain  <jankit@novell.com>
172
173         * xbuild/Microsoft.VisualBasic.targets (Vbc.References): Remove
174         "@(ChildProjectReferences)" as it gets resolved earlier
175         and is part of @(ResolvedFiles).
176
177 2009-07-22  Ankit Jain  <jankit@novell.com>
178
179         * xbuild.Microsoft.CSharp.targets (Csc.References): Remove
180         "@(ChildProjectReferences)" as it gets resolved earlier
181         and is part of @(ResolvedFiles).
182
183 2009-06-12  Ankit Jain  <jankit@novell.com>
184
185         * xbuild/Microsoft.Common.targets (ProjectDir): Fix typo.
186
187 2009-06-12  Ankit Jain  <jankit@novell.com>
188
189         * xbuild/Microsoft.Common.targets (IntermediateAssembly): Change to
190         an Item list to match msbuild.
191         * xbuild/Microsoft.CSharp.targets (IntermediateAssembly): Update for
192         above changes.
193
194 2009-06-12  Ankit Jain  <jankit@novell.com>
195
196         * Parameters.cs (.ctor): Use assembly's location to build
197         path for the default response file.
198
199 2009-06-08  Ankit Jain  <jankit@novell.com>
200
201         * xbuild/Microsoft.Common.targets: Use ResolveAssemblyReference
202         to find satellite assemblies, dependent assemblies, dependent
203         files, copy local files etc.
204         Add targets to fetch all this info for all referenced projects,
205         and copy them to the target locations. Also, copy the debug (.mdb)
206         files. Honor, "CopyToOutputDirectory" metadata.
207
208 2009-06-07  Ankit Jain  <jankit@novell.com>
209
210         * Parameters.cs (ProcessProperty): Handle invalid syntax.
211
212 2009-06-07  Ankit Jain  <jankit@novell.com>
213
214         * SolutionParser.cs (AddGeneralSettings): Don't hardcode the default
215         config/platform. Move to ..
216         (AddDefaultSolutionConfiguration): .. here.
217         (AddCurrentSolutionConfigurationContents): Use the first solution target
218         as the default config/platform or use Debug/anycpu if no config is available.
219
220 2009-05-20  Jonathan Chambers  <joncham@gmail.com>
221
222         * SolutionParser.cs (ParseSolution): Ignore vcproj projects in solutions 
223         and issue warning. 
224
225 2009-04-27  Ankit Jain  <jankit@novell.com>
226
227         * xbuild/Microsoft.VisualBasic.targets: Update to use
228         CreateVisualBasicManifestResourceName task, and fix compiler params.
229
230 2009-04-25 Daniel Nauck <dna@mono-project.de>
231
232         Fix bug #484649:
233         * LoggerInfo.cs: fixed the parsing of the /logger: argument as described in
234         http://msdn.microsoft.com/en-us/library/ms164311.aspx
235         Added logger class detection if it's not explicit specified in the argument.
236
237 2009-03-19  Ankit Jain  <jankit@novell.com>
238
239         Fix bug #484773.
240         * Main.cs (Execute): Check whether the project file exists or not.
241         * Parameters.cs (ParseArguments): Handle absolute paths too.
242
243 2009-03-13  Ankit Jain  <jankit@novell.com>
244
245         * Main.cs (Execute): Build the project/sln with current directory set to
246         the project file's dir.
247         * SolutionParser.cs (ParseSolution): Project paths are relative to
248         solution directory.
249
250 2009-03-06  Ankit Jain  <jankit@novell.com>
251
252         Fix bug #481336.
253         * SolutionParser.cs (AddWarningForMissingProjectConfiguration): New.
254         (AddProjectTargets): Emit warning for missing project configurations.
255
256 2009-02-26  Ankit Jain  <jankit@novell.com>
257
258         * xbuild/Microsoft.CSharp.targets (Csc): Fix "Resources" argument to use
259         ManifestNonResxWithCultureOnDisk instead of ManifestResourceWithNoCultureOnDisk.
260
261 2009-02-26  Ankit Jain  <jankit@novell.com>
262
263         * xbuild/Microsoft.Common.targets: Make targets extensible. Add
264         before/after hooks.
265
266 2009-02-25  Ankit Jain  <jankit@novell.com>
267
268         * xbuild/Microsoft.Common.targets: Use obj/$(Config) as the default intermediate
269         output path, instead of just obj/
270
271 2009-02-25  Ankit Jain  <jankit@novell.com>
272
273         * xbuild/Microsoft.Common.targets (CopyNonResxEmbeddedResources): New.
274         (GenerateSatelliteAssemblies): Update to use the new ManifestNonResxWithCultureOnDisk
275         instead of NonResxWithCulture.
276         * xbuild/Microsoft.CSharp.targets (Csc): Fix "Resources" argument to use
277         the new on disk file names instead of original filenames.
278
279 2009-02-25  Ankit Jain  <jankit@novell.com>
280
281         * xbuild/Microsoft.Common.targets (GetTargetPath): Add a path separator.
282
283 2009-02-25  Ankit Jain  <jankit@novell.com>
284
285         * SolutionParser.cs (ParseSolution): Report warning instead of error
286         for unknown global sections.
287
288 2009-02-21  Ankit Jain  <jankit@novell.com>
289
290         * xbuild/xbuild.rsp: Add descriptive comments.
291
292 2009-02-21  Ankit Jain  <jankit@novell.com>
293
294         * Parameters.cs (LoadResponseFile): Handle comments.
295
296 2009-02-20  Ankit Jain  <jankit@novell.com>
297
298         * SolutionParser.cs (ParseSolution): Ignore solution folders.
299
300 2009-02-20  Ankit Jain  <jankit@novell.com>
301
302         * SolutionParser.cs (ParseSolution): Ignore GlobalSection named
303         'NestedProjects'.
304
305 2009-02-20  Ankit Jain  <jankit@novell.com>
306
307         * SolutionParser.cs (ParseProjectConfigurationPlatforms): Report missing
308         project guids as Warnings and not errors. Report every missing guid only
309         once.
310
311 2009-02-20  Ankit Jain  <jankit@novell.com>
312
313         * SolutionParser.cs (projectRegex): Use '\s' to match whitespace.
314
315 2009-02-19  Jonathan Chambers  <joncham@gmail.com>
316
317         * xbuild.csproj: Add.
318         * xbuild.sln: Add.
319
320 2009-02-13  Jonathan Chambers  <joncham@gmail.com>
321
322         * SolutionParser.cs: Make Guid Regex case insensitive.
323         Handle project dependencies. The solution has explicit
324         dependencies, but we have to open projects for implicit
325         dependencies (via ProjectReferences).
326
327 2009-02-13  Jonathan Chambers  <joncham@gmail.com>
328
329         * Main.cs: Add support for .sln files.
330         * SolutionParser.cs: Class for generating project file
331         from solution file.
332         * xbuild.exe.sources: Added SolutionParser.cs.
333
334 2009-02-02  Ankit Jain  <jankit@novell.com>
335
336         * Microsoft.CSharp.targets: Add targets to generate resource ids.
337         * Microsoft.Common.targets: Add targets for generating resources,
338         generate and deploy satellite assemblies, resolve project and assembly
339         references. All intermediate build output goes into a 'obj/' dir by
340         default. 'Clean' target enabled.
341
342 2008-12-12  Ankit Jain  <jankit@novell.com>
343
344         * Microsoft.CSharp.targets: Add CreateCSharpManifestResourceName task.
345
346 2008-11-23  Ankit Jain  <jankit@novell.com>
347
348         * xbuild/Microsoft.Common.tasks: Add AssignCulture task.
349
350 2008-10-01  Ankit Jain  <jankit@novell.com>
351
352         * xbuild/Microsoft.Common.tasks: Add CallTarget and AssignTargetPath task.
353
354 2007-03-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
355
356         * xbuild/Microsoft.Common.tasks: Added CombinePath task.
357
358 2007-03-10  Marek Sieradzki  <marek.sieradzki@gmail.com>
359
360         * xbuild/Microsoft.Common.tasks: Added Vbc task.
361
362         * xbuild/Microsoft.VisualBasic.targets: Added CoreCompile target for
363         VB.
364
365 2007-03-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
366
367         * Microsoft.CSharp.targets: Add @(ChildProjectReferences) to
368         References.
369
370         * Microsoft.Common.targets: Add ResolveProjectReferences target.
371
372 2007-01-23  Marek Sieradzki  <marek.sieradzki@gmail.com>
373
374         * Makefile: Removed hack.
375
376 2007-01-23  Marek Sieradzki  <marek.sieradzki@gmail.com>
377
378         * Makefile: Fix Windows build.
379
380 2007-01-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
381
382         * xbuild/Microsoft.VisualBasic.targets: Added.
383
384 2007-01-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
385
386         * xbuild/Microsoft.Common.targets: Added $(ProjectDir).
387
388 2007-01-06  Marek Sieradzki  <marek.sieradzki@gmail.com>
389
390         * Makefile, Main.cs: Moved XBuild files to lib/mono/2.0 from
391         lib/mono/xbuild.
392
393 2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
394
395         * Main.cs: Catch InvalidProjectFileException and
396         InternalLoggerException.
397
398 2006-12-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
399
400         * Parameters.cs (ProcessProperty): Use SetProperty () not
401         AddNewProperty ().
402
403 2006-12-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
404
405         * xbuild/Microsoft.Common.targets: Added.
406
407         * xbuild/Microsoft.CSharp.targets: Move common part to
408         Microsoft.Common.targets.
409
410 2006-12-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
411
412         * xbuild/Microsoft.Common.tasks: Fix a typo (GetFrameworkPath).
413
414 2006-10-10  Marek Sieradzki  <marek.sieradzki@gmail.com>
415
416         * xbuild/Microsoft.CSharp.targets: Added empty SearchPaths to Csc.
417
418 2006-10-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
419
420         * xbuild/Microsoft.CSharp.targets: Added parameters that should be
421         passed to Csc.
422
423 2006-10-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
424
425         * xbuild/Microsoft.CSharp.targets: Make $(OutputPath) directory before
426         compiling and put output in this directory.
427
428 2006-09-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
429
430         * xbuild/Microsoft.CSharp.targets: Use new ResolveAssemblyReference
431         task.
432         * xbuild/Microsoft.Common.tasks: Add new task (RAR).
433
434 2006-09-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
435
436         * xbuild/Microsoft.CSharp.targets: Set AllowUnsafeBlocks to false when it's
437         equal to ''.
438
439 2006-09-29  Todd Berman  <tberman@off.net>
440
441         * xbuild/Microsoft.CSharp.targets: Copy over the AllowUnsafeBlocks
442         property definition.
443
444 2006-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
445
446         * xbuild/Microsoft.CSharp.targets: Simplify: use PropertyGroups
447         instead of Targets to set properties needed by Csc task.
448
449 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
450
451         * Makefile: Fix broken build.
452
453 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
454
455         * xbuild/Microsoft.CSharp.targets: Support AssemblyName and
456         WarningLevel.
457
458 2006-09-20  Marek Sieradzki  <marek.sieradzki@gmail.com>
459
460         * Parameters.cs, Main.cs, ErrorUtilities.cs: Moved error handling to
461         new file and started to use ErrorUtilities.ReportError ()
462         instead of throw and catch. (In cases where xbuild should quit
463         instantly)
464
465 2006-06-25  Marek Sieradzki  <marek.sieradzki@gmail.com>
466
467         * Makefile, xbuild/Microsoft.CSharp.Targets: Renamed to
468         Microsoft.CSharp.targets. On make install it should be linked or
469         copied to another name.
470
471 2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
472
473         * Makefile: Updated.
474         * xbuild/Microsoft.CSharp.Targets: Added hacky implementation of this
475         targets file.
476
477 2006-05-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
478
479         * Main.cs: Patch from Matthew Metnetsky.
480
481 2006-04-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
482
483         * XBuild.targets: Removed.
484         * xbuild/Microsoft.Build.xsd: Changed path separator.
485
486 2006-04-08  Marek Sieradzki  <marek.sieradzki@gmail.com>
487
488         * Makefile, xbuild/MSBuild/Microsoft.Build.CommonTypes.xsd: Changed
489         name of Microsoft.Build.Commontypes.xsd to
490         Microsoft.Build.CommonTypes.xsd.
491
492 2006-04-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
493
494         * Makefile: Changed installation directory of schema files.
495
496 2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
497
498         * Main.cs: Updated for new API.
499
500 2005-12-14  Wade Berrier <wberrier@novell.com>
501
502         * Makefile: Add missing EXTRA_DISTFILES in order to 'make install'
503
504 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
505
506         * AssemblyInfo.cs: Use Consts.MonoVersion as AssemblyVersion.
507
508 2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>
509
510         * Main.cs: Changed binPath to directory where all files are stored.
511         * Makefile: Added installing of additional files.
512
513 2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
514
515         * LoggerInfo.cs: Changed public to internal.
516         * xbuild.exe.sources: Added reference to AssemblyLoadInfo.
517
518 2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>
519
520         * Microsoft.Common.tasks, xbuild.rsp, Microsoft.Build.xsd, MSBuild:
521         Moved to xbuild/.
522         * Main.cs, Pararameters.cs: Changed to use Mono.XBuild.Framework and
523         Mono.XBuild.Utilities.
524         * CommandLineException.cs, LoggerInfo.cs: Added #if NET_2_0
525         
526
527 2005-09-11  Marek Sieradzki  <marek.sieradzki@gmail.com>
528
529         * xbuild.exe.sources: Added Consts.cs from common build files.
530         * LoggerInfo.cs: Public key token update.
531         * Parameters.cs, Main.cs: Changed to use BinPath instead of hard-coded path.
532         * Makefile: Added installing of xbuild's files.
533         * Microsoft.Common.tasks: Moved from main directory and changed to use
534         assemblies from GAC.
535
536 2005-09-09  Marek Sieradzki  <marek.sieradzki@gmail.com>
537
538         * Main.cs: FxVersion.
539         * Makefile: Fixed Microsoft.Build.Utilities.dll name.
540
541 2005-09-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
542
543         * Microsoft.Build.xsd, MSBuild/Microsoft.Build.Core.xsd,
544         Microsoft.Build.Commontypes.xsd: Added schema files.
545
546 2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>
547
548         * Main.cs, Parameters.cs: Added default target(s) handling.
549
550 2005-08-29  Marek Sieradzki  <marek.sieradzki@gmail.com>
551
552         * LoggerInfo.cs: Removed AssemblyLoadInfo property, changed to inherit
553         AssemblyLoadInfo.
554         * XBuild.targets: Updated.
555         * Parameters.cs: Removed debugging info and removed line producing
556         errors.
557         * Main.cs: Added check if engine is null.
558
559 2005-08-24  Marek Sieradzki  <marek.sieradzki@gmail.com>
560
561         * Parameters.cs, Main.cs: Changed paths to absolute paths. They should be
562         separated to .in file probably when moving to autotools.
563
564 2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>
565
566         * CommandLineException.cs, LoggerInfo.cs, Main.cs, Parameters.cs:
567         Added.