X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=man%2Fxbuild.1;h=b1ec1f28531e87bd146b0c224915458b491cb3dc;hb=5624d0d2ca232dc54a74d00eb3bf8012e9e04305;hp=5dfca3f40e976fc5bf558d04d9f61aec11e4b9a3;hpb=8ad2b68f219a89159bc744bbf9891b041854a411;p=mono.git diff --git a/man/xbuild.1 b/man/xbuild.1 index 5dfca3f40e9..b1ec1f28531 100644 --- a/man/xbuild.1 +++ b/man/xbuild.1 @@ -10,8 +10,8 @@ Environments like MonoDevelop and "Microsoft Visual Studio .NET" use msbuild project file format. xbuild takes the path of the project or solution file to build, as the main argument. -If no file is specified then it tries to build any project file in the current -directory, that has a *proj extension. +If no file is specified then it tries to build any solution file or project file in +the current directory, that has a *proj extension. .SH OPTIONS .TP .B \//target:T1[,TN] @@ -23,6 +23,15 @@ Set or override project properties .B \//logger: Custom logger to log build events .TP +.B \//toolsversion:version , /tv:version +Specify the toolset version to use. + +Eg. /tv:4.0 + This would cause 4.0 version of the Microsoft.Common.targets (among others) to be used. This overrides + the value specified in a project file. + +Valid values: 2.0, 3.0, 3.5 and 4.0 +.TP .B \//verbosity: Logger verbosity level : quiet, minimal, normal, detailed, diagnostic .TP @@ -32,8 +41,32 @@ Validate the project file against the schema .B \//validate: Validate the project file against the specified schema .TP -.B \//consoleloggerparameters: -Parameters for the console logger +.B \//consoleloggerparameters: , /clp: +Parameters for the console logger : PerfomanceSummary, Summary, NoSummary, NoItemAndPropertyList, Verbosity +.TP +.B \//filelogger[n] , /fl[n] +Logs the output to a file, named 'msbuild.log' by default. If the optional number 'n' is +specified, then it logs to 'msbuild[n].log' . Parameters for this logger, including +the log file name can be specified via a corresponding /flp[n] option. Default verbosity +for file loggers is 'detailed. 'n' can be between 1-9. +.TP +.B \//fileloggerparameters[n]: , /flp[n]: +Parameters for a file logger. This implies a corresponding /fl[n]. 'n' can be between +1-9, and is used to add upto 10 file loggers. Parameters can be, besides the ones available +for console logger: +.RS +.TP +.I LogFile= +File to which the build log will be written. +.TP +.I Append +If this is used, then the log file is appended to, else a new one will be created. +.TP +.I Encoding= +Encoding to use for the log file, eg. UTF-8, ASCII. +.TP +Eg: xbuild foo.csproj /flp:Verbosity=normal "/flp1:LogFile=build.log;Append;Encoding=ASCII" +.RE .TP .B \//nologo Don't show the initial xbuild banner @@ -43,10 +76,117 @@ Show xbuild usage .TP .B \//version Display xbuild version +.SH ENVIRONMENT VARIABLES +.TP +.I "XBUILD_EMIT_SOLUTION" +If this variable is set, then the project file generated from a solution +file is emitted. +.TP +.I "XBUILD_LOG_REFERENCE_RESOLVER" +References are resolved by trying a list of assembly search paths ($(AssemblySearchPaths)). +If xbuild is unable to resolve a reference, then it logs details of why the various +search paths failed. If this variable is set, then it logs the same even for references +that were resolved successfully. These logs show up if the verbosity is set to detailed +or higher. +.TP +.I "MSBuildExtensionsPath" +MSBuild extensions are usually installed in $(MSBuildExtensionsPath), which xbuild resolves +to $prefix/lib/mono/xbuild . When used in Import, like: + + + +xbuild tries various values for the msbuild property $(MSBuildExtensionsPath), in order: + + 1. Paths specified in the environment variable $MSBuildExtensionsPath. + 2. /Library/Frameworks/Mono.framework/External/xbuild on Mac OSX. + 3. $XDG_CONFIG_HOME/xbuild/tasks (or Environment.SpecialFolder.ApplicationData) + 4. $prefix/lib/mono/xbuild (default location) + +Anywhere else in the project files, $(MSBuildExtensionsPath) will always resolve to the default +location. This is a xbuild-only feature. +This is also applicable for the properties $(MSBuildExtensionsPath32) and $(MSBuildExtensionsPath64), +and the environment variables have the corresponding names - MSBuildExtensionsPath32/64 . +.TP +.I "XBUILD_FRAMEWORK_FOLDERS_PATH" +With ToolsVersion 4.0, projects can target arbitrary frameworks referenced by TargetFrameworkMoniker, +which is of the format: + + Identifier,Version=[,Profile=] + +Eg. ".NETFramework,Version=v4.0" + +The 3 parts of the moniker are given by the msbuild properties: + + $(TargetFrameworkIdentifier), $(TargetFrameworkVersion) and $(TargetFrameworkProfile) + +This moniker maps to a framework description file on disk: + + /Identifier/Version/[Profile]/RedistList/FrameworkList.xml + +This file is used to determine the path where to find the framework assemblies for this particular framework. + +Framework root here is configurable and is resolved in the following order: + +.nf + 1. Paths specified in the environment variable $XBUILD_FRAMEWORK_FOLDERS_PATH + 2. /Library/Frameworks/Mono.framework/External/xbuild-frameworks on Mac OSX. + 3. MSBuild property $(TargetFrameworkRoot) + 4. $prefix/lib/mono/xbuild-frameworks (default location) +.fi + +XBuild tries the paths given above, in order, till it finds a FrameworkList.xml for the moniker. +Running with /v:detailed or higher verbosity will show the various paths that it tries. + +The FrameworkList.xml itself just has a root element like: + + + + +Here the TargetFrameworkDirectory attribute specifies the directory where the assemblies for +this particular framework can be found. If this is not set, then the parent of the folder +containing the xml file is taken as the framework directory. + +IncludeFramework attribute specifies the version of a framework (under the *same* $(TargetFrameworkIdentifier)) +which should be included in the final list of Target framework directories. + +.TP +.I "XBUILD_COLORS" +If this variable is set, it contains a string of the form +"type=foreground,type=.." that specifies which color to use to display +errors/warnings etc on some terminals. Type here can be: + +.nf + errors, warnings, messages or events + + events: These are project/target/task start and end event + messages. +.fi + +.Sp +The possible colors for foreground are: +.B black, red, brightred, green, brightgreen, yellow, brightyellow, +blue, brightblue, magenta, brightmagenta, cyan, brightcyan, grey, +white and brightwhite. + +.Sp +For example, you could set this variable from your shell: +.nf + export XBUILD_COLORS + XBUILD_COLORS=errors=brightred,warnings=blue +.fi +.Sp + +You can disable the built-in color scheme by setting this variable to +"disable". + +.SH NOTES +On Mac OSX, for locating pkg-config (.pc) files, xbuild additionally +looks in "/Library/Frameworks/Mono.framework/External/pkgconfig" . + .SH SEE ALSO .BR mono(1), mcs(1) .SH COPYRIGHT -Copyright (C) 2009 Novell, Inc (http://www.novell.com) +Copyright (C) 2011 Novell, Inc (http://www.novell.com) .SH MAILING LISTS Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details. .SH WEB SITE