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