<div dir="ltr">Well, the idea would be to fix all major issues before we switch.<div><br></div><div>But I do not see the value of keeping the two around.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 29, 2015 at 6:07 AM, Atsushi Enomoto <span dir="ltr"><<a href="mailto:atsushi@xamarin.com" target="_blank">atsushi@xamarin.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Actually IMO it's nicer to add "msbuild" (and msbuild.exe) while<br>
keeping xbuild as is, unless those upgraded Framework/Utilities/Tasks<br>
break it. That way people don't have to worry about backward<br>
compatibility and switch to new build engine simply by switching to<br>
"msbuild" from "xbuild". That also fills gap between .NET and Mono.<br>
<br>
I even have created mcs/tools/msbuild before (unfinished, not part of<br>
build yet).<br>
<br>
Atsushi Eno<br>
<div class="HOEnZb"><div class="h5"><br>
On Sun, Mar 29, 2015 at 4:48 AM, Lluis Sanchez <<a href="mailto:lluis@xamarin.com">lluis@xamarin.com</a>> wrote:<br>
><br>
> El 28/03/2015, a les 15:32, Miguel de Icaza <<a href="mailto:miguel@xamarin.com">miguel@xamarin.com</a>> va<br>
> escriure:<br>
><br>
> Hello,<br>
><br>
> Question: does XS/MD depend on Microsoft.Build.Engine.dll?<br>
><br>
><br>
> MD currently depends on Microsoft.Build.Engine when running on Mac or Linux,<br>
> but my plan is to replace it by the new Microsoft.Build in the new project<br>
> model branch. In any case we can keep Microsoft.Build.Engine in Mono for<br>
> backwards compatibility and add the new ones for xbuild and MD.<br>
><br>
><br>
> Because we only would need it if the IDE needed it, and in that case,<br>
> hopefully we could replace it?<br>
><br>
> But the idea is to make "xbuild" the script just use the new msbuild.<br>
><br>
> Miguel<br>
><br>
> On Sat, Mar 28, 2015 at 12:02 AM, Atsushi Enomoto <<a href="mailto:atsushi@xamarin.com">atsushi@xamarin.com</a>><br>
> wrote:<br>
>><br>
>> Microsoft.Build.dll is the (relatively) new build engine which<br>
>> obsoleted Microsoft.Build.Engine.dll. The deprecated one is not in the<br>
>> msbuild repo and that's what we use in xbuild.<br>
>><br>
>> Atsushi Eno<br>
>><br>
>><br>
>> On Sat, Mar 28, 2015 at 4:48 AM, Miguel de Icaza <<a href="mailto:miguel@xamarin.com">miguel@xamarin.com</a>><br>
>> wrote:<br>
>> > Hello,<br>
>> ><br>
>> > I was under the impression that there were different versions of the<br>
>> > MSBuild<br>
>> > API?<br>
>> ><br>
>> > But I guess we implement the right one?<br>
>> ><br>
>> > My main concern was not breaking MonoDevelop, so if we do not break it,<br>
>> > we<br>
>> > should be fine.<br>
>> ><br>
>> > Let me know when you think you are ready, and we should incorporate<br>
>> > MSBuild<br>
>> > into Mono's current build setup.<br>
>> ><br>
>> > Miguel<br>
>> ><br>
>> > On Fri, Mar 27, 2015 at 3:31 PM, Lluis Sanchez <<a href="mailto:lluis@xamarin.com">lluis@xamarin.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >><br>
>> >> El 27/03/2015, a les 19:41, Miguel de Icaza <<a href="mailto:miguel@xamarin.com">miguel@xamarin.com</a>> va<br>
>> >> escriure:<br>
>> >><br>
>> >> Hello Lluis,<br>
>> >><br>
>> >> I think once we are happy with msbuild, that we should build msbuild as<br>
>> >> part of the standard Mono build process and ship the resulting<br>
>> >> libraries and<br>
>> >> script.<br>
>> >><br>
>> >> My only concern is whether the public API surface that msbuild has is<br>
>> >> able<br>
>> >> to replace the assemblies that we currently install on the GAC.<br>
>> >><br>
>> >><br>
>> >> Yes, it does. The assemblies are Microsoft.Build,<br>
>> >> Microsoft.Build.Framework, Microsoft.Build.Tasks and<br>
>> >> Microsoft.Build.Utilities. We have partial implementations of those in<br>
>> >> Mono.<br>
>> >> The msbuild repo fully implements all of them.<br>
>> >><br>
>> >> We can also use the .targets files included in the msbuild repo. I’ve<br>
>> >> been<br>
>> >> able to mostly build MD using the new libraries and using both Mono’s<br>
>> >> targets files and MS’s targets files. There are a few issues in both<br>
>> >> cases<br>
>> >> that should not be hard to fix.<br>
>> >><br>
>> >><br>
>> >> If it does, then we can get rid of our implementation, if not, we might<br>
>> >> have to keep both around until we get everyone out of the xbuild<br>
>> >> implementation.<br>
>> >><br>
>> >><br>
>> >> Miguel<br>
>> >><br>
>> >> On Fri, Mar 27, 2015 at 2:33 PM, Lluis Sanchez <<a href="mailto:lluis@xamarin.com">lluis@xamarin.com</a>><br>
>> >> wrote:<br>
>> >>><br>
>> >>> There is a new xplat branch in the msbuild repo with many fixes to<br>
>> >>> make<br>
>> >>> it work on Mono. I’ve been doing additional fixes and I could make it<br>
>> >>> work<br>
>> >>> to build the MonoDevelop solution (some Exec tasks are failing though,<br>
>> >>> due<br>
>> >>> to missing path conversions). I posted my fixes as PRs to the main<br>
>> >>> repo, and<br>
>> >>> I keep a branch with all of them in my own repo<br>
>> >>> (<a href="https://github.com/slluis/msbuild/tree/fix-xplat" target="_blank">https://github.com/slluis/msbuild/tree/fix-xplat</a>).<br>
>> >>><br>
>> >>> What’s the plan for integrating it into Mono?<br>
>> >>><br>
>> >>> El 19/03/2015, a les 20:40, Miguel de Icaza <<a href="mailto:miguel@xamarin.com">miguel@xamarin.com</a>> va<br>
>> >>> escriure:<br>
>> >>><br>
>> >>> Hey guys,<br>
>> >>><br>
>> >>> I used the work from Alex to get started, and did some work on my own.<br>
>> >>><br>
>> >>> I posted all the patches to <a href="http://github.com/mono/msbuild" target="_blank">github.com/mono/msbuild</a><br>
>> >>><br>
>> >>> When using it to bootstrap building itself, it is not breaking at<br>
>> >>> invoking NuGet.<br>
>> >>><br>
>> >>> I am out of the office until next week, so I think this is as far I<br>
>> >>> will<br>
>> >>> get.<br>
>> >>><br>
>> >>> Miguel<br>
>> >>><br>
>> >>><br>
>> >><br>
>> >><br>
>> ><br>
><br>
><br>
><br>
</div></div></blockquote></div><br></div>