Age | Commit message (Collapse) | Author |
|
BXC17802 - xbuild evaluates Exist wrongly when the item group does not exist
|
|
|
|
|
|
It is incorrect to escape the FullPath metadata for a build item when
we invoke GetEvaluatedMetadata. If we do this we end up completely breaking
every file with a special character in it as things like this would always
fail as we'd pass an escaped path to the filesystem:
File.Exists (item.GetEvaluatedMetadata ("FullPath"))
The iOS designer encountered this issue when we added retina images
called "foo@2x.png" to our solution.
With tests.
|
|
|
|
|
|
|
|
|
|
|
|
I need these projects while I'm hacking MSBuild.
This reverts commit f188c158d4643804e1fbece996fe535344fe9450.
|
|
|
|
MS.Build.Engine.
See comments for details.
|
|
'TestMessageLogger.Count' should not be used in tests to check for the
number of logged messages because it would also includes diagnostic messages.
Extra diagnostic messages should not be considered an error condition; in
fact, we have too few diagnostic messages, not too many.
Use 'TestMessageLogger.NormalMessageCount' and 'TestMessageLogger.WarningMessageCount'
instead.
|
|
This fixes a problem with the "Microsoft.Bcl.Build" NuGet package, which
overrides the "GetTargetPath" target in a custom .targets file and uses
"Returns" instead of "Outputs".
|
|
|
|
Fixes #14661.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use MSBuildExtensionPath after expanded
|
|
paths
Used in the .targets files shipped with VS2013
|
|
Used in the .targets files shipped with VS2013
|
|
e.g: '$(MSBuildAssemblyVersion)' == '' and ('$(VisualStudioVersion)' != '' and '$(VisualStudioVersion)' >= '12.0'), used in the .targets files shipped with VS2013
|
|
references
This is used by the .fsproj files generated by VS2013 which use a Choose element to set the location of the F# targets file to import
|
|
From VS2013, MSBuild is now decouple from the .NET Framework and is a separate redistributable. This means it has a new location and version numbering scheme. There are also some addition MSBuild properties because of this
|
|
* Fixes Broken Test in BuildEngine for 4.0 and 3.5
* Fixes build for Mono.Debugger.Soft not in 4_5 profile
* Fixes build for NET_4_0 profile (CustomAttributes and HasDefaultValue)
|
|
|
|
|
|
|
|
|
|
This fixes
<Target Name="Simple">
<ItemGroup>
<Foo Include="A;B" />
<All Include="%(Foo.Identity)" />
</ItemGroup>
<Message Text="ALL: @(All)" />
</Target>
|
|
|
|
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=10946
The scenario is the "turkish-i problem": Have an MSBuild Task Assembly
which calls ITaskItem.GetMetadata("Identity") (like, oh, the
Xamarin.Android build system...). Run in a Turkish locale (tr-TR), and
things fail badly:
Error executing task AndroidComputeResPaths: System.ArgumentException: Invalid reserved metadata name
at Mono.XBuild.Utilities.ReservedNameUtils.GetReservedMetadata (System.String itemSpec, System.String metadataName, IDictionary metadata) [0x00000] in <filename unknown>:0
at Microsoft.Build.Utilities.TaskItem.GetMetadata (System.String metadataName) [0x00000] in <filename unknown>:0
at Xamarin.Android.Tasks.AndroidComputeResPaths.Execute () [0x00000] in <filename unknown>:0
at Microsoft.Build.BuildEngine.TaskEngine.Execute () [0x00000] in <filename unknown>:0
at Microsoft.Build.BuildEngine.BuildTask.Execute () [0x00000] in <filename unknown>:0
Wat? Well, in tr-TR, "Identity".ToLower() is "ıdentity", which
doesn't match match anything in GetReservedMetadata()'s `switch`
statement, so it throws an ArgumentException. *BOOM*.
So, if you need a culture-invariant comparison, USE IT.
Related: We could have just s/ToLower/ToLowerInvariant/g, which would
have fixed the problem, but would still result in lots of string
temporaries that aren't really necessary. Use the appropriate
string.Compare() or string.Equals() methods instead to avoid the
string temporary as well.
|
|
|
|
|
|
It was failing to resolve <Import> to correct path because it allowed
invalid imports too early in Import.ForEachExtensionPathTillFound().
It is due to Project.AddSingleImport() that checks if invalid imports
can be ignored by load setting. But simply removing this check results
in regressions in nunit tests that fails to report required invalid imports.
This bug was one of the blockers to build fsharp-droid from xbuild:
https://github.com/fahadsuhaib/fsharp-droid
|
|
|
|
Marking the test as [Category("NotWorking")]
|
|
We don't treat them for now, but at least make the build not break
when finding them.
This feature was introduced in .NET 3.5:
http://msdn.microsoft.com/en-us/library/646dk05y.aspx
|
|
With this HintPaths, solution now builds in MonoDevelop.
|
|
No Properties folder in disk here either.
|
|
|
|
There is no Properties folder present, remove it from the project.
|
|
Otherwise MD would complain about 2 projects having the same GUID.
o_O
|
|
Update to what MonoDevelop master flushed without making any changes.
|