Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Piepline Tool] Upgrade Eto #6208

Merged
merged 1 commit into from
Mar 1, 2018
Merged

Conversation

harry-cpp
Copy link
Member

@harry-cpp harry-cpp commented Feb 23, 2018

NEEDS: MonoGame/MonoGame.Dependencies#118

This PR just upgrades Eto code for 2.4.1. Most notable stuff are:

  • Eto Forms now supports drag and drop, so goodbye Xwt treeview
    • This does not implement drag and drop functionality since I am reworking part of its logic so that we can support linking, I just need this upgrade so I don't have to write Xwt code
  • Eto is using my own fork of GtkSharp which requires no native glue libraries and does not use dllmaps for calling native assemblies, this means that the Linux installer now has 1 less dependency to worry about
    • This also allows me to ditch a lot of the wrapper code for Gtk stuff

@tomspilman
Copy link
Member

@cra0zy - I merged the dependencies.

@harry-cpp
Copy link
Member Author

@tomspilman @dellis1972 Ok, so there are 2 ways to fix the build:

@tomspilman
Copy link
Member

upgrade mono on Mac build bot to the current stable

I just upgraded the Mac build bot 2 nights ago. I did an update in Xamarin studio which downloaded the latest stable for me and installed it. Also installed VS for Mac as @dellis1972 requested.

Is there something else i need to upgrade?

@harry-cpp
Copy link
Member Author

@tomspilman Should be just a straightforward install of: http://www.mono-project.com/download/stable/#download-mac

Tho I don't mind downgrading the required .NET Framework version of Pipeline Tool for Linux, this bumped it up to 4.7.1 to avoid usage of those stub references.

@tomspilman
Copy link
Member

Should be just a straightforward install

So that is a Mono update and not a Xamarin Studio update (although i would have expected XS to update Mono).

Is there any danger of updating Mono separate from XS? If not i'll update it as soon as i;m in the office today.

@harry-cpp
Copy link
Member Author

harry-cpp commented Feb 23, 2018

Is there any danger of updating Mono separate from XS? If not i'll update it as soon as i;m in the office today.

Not sure how mono stuff gets packaged on Mac, so I don't know. I guess we need @dellis1972 for this.

@tomspilman
Copy link
Member

We can wait for @dellis1972 then.

We got a new Mac build box that i need to setup anyway. It should make our Mac builds as fast if not faster than the Windows builds.

@harry-cpp
Copy link
Member Author

I would still like the mac build bot upgraded, but for now, MonoGame/MonoGame.Dependencies#119

@harry-cpp harry-cpp changed the title [Piepline Tool] Upgrade Eto [DO NOT MERGE] [Piepline Tool] Upgrade Eto Feb 23, 2018
@dellis1972
Copy link
Contributor

dellis1972 commented Feb 23, 2018 via email

@tomspilman
Copy link
Member

@cra0zy - The mac build box now has Mono 5.8 installed.

@harry-cpp
Copy link
Member Author

/Library/Frameworks/Mono.framework/Versions/5.8.0/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(1140,5): error MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.7.1" were not found.

Well that is.. strange...

@tomspilman
Copy link
Member

Nothing can be simple on Mac or Linux. :)

@harry-cpp
Copy link
Member Author

May I take the easy way out? (MonoGame/MonoGame.Dependencies#119)

@tomspilman
Copy link
Member

May I take the easy way out?

I'll let @dellis1972 decide on that. I don't know what the implications are and hate to see us throw more stuff into the dependencies for temp fixes.

@harry-cpp
Copy link
Member Author

https://blogs.msdn.microsoft.com/dotnet/2017/10/17/announcing-the-net-framework-4-7-1/

BCL – .NET Standard 2.0 Support

.NET Framework 4.7.1 has built-in support for .NET Standard 2.0. .NET Framework 4.7.1 adds about 200 missing APIs that were part of .NET Standard 2.0 but not actually implemented by .NET Framework 4.6.1, 4.6.2 or 4.7. You can refer to details on .NET Standard on .NET Standard Microsoft docs.

Applications that target .NET Framework 4.6.1 through 4.7 must deploy additional .NET Standard 2.0 support files in order to consume .NET Standard 2.0 libraries. This situation occurred because the .NET Standard 2.0 spec was finalized after .NET Framework 4.6.1 was released. .NET Framework 4.7.1 is the first .NET Framework release after .NET Standard 2.0, enabling us to provide comprehensive .NET Standard 2.0 support.

Experience in .NET Framework 4.6.1 through 4.7

  • If you use Visual Studio 2017 15.3 or higher, the .NET Standard 2.0 support files are automatically copied to the application’s output folder.
  • If you use Visual Studio 2015 and use NuGet 3.6, we will prompt you to install a support package which will handle copying the support files to the output directory.

Experience in .NET Framework 4.7.1

  • These support files no longer have to be deployed with the application – they are built right into the .NET Framework itself.
  • This also removes the need for binding redirects when using .NET Standard libraries on .NET Framework because the CLR automatically unifies version numbers of assemblies that are part of the platform.

@harry-cpp
Copy link
Member Author

@dellis1972 Ping, waiting on you in here.

@dellis1972
Copy link
Contributor

v4.7.1 looks like its shipping with Mono 5.10 :( Personally I'd rather wait for 4.7.1 and bump the Pipeline tool, having to pull in a ton of assemblies is a bit of a pain.. but I guess we don't have a choice since Mono 5.10 is going to be a while. I'll merge the Dependencies PR so we can at least get a Build here for me to test on Mac.

@harry-cpp
Copy link
Member Author

v4.7.1 looks like its shipping with Mono 5.10 :( Personally I'd rather wait for 4.7.1 and bump the Pipeline tool, having to pull in a ton of assemblies is a bit of a pain.. but I guess we don't have a choice since Mono 5.10 is going to be a while.

It got released 2 days ago

@dellis1972
Copy link
Contributor

It got released 2 days ago
On which channel? Alpha I assume..its still 5.4 on stable here. I'm not sure we should be using Alpha on our bots. I know how many times things are broken at runtime between alpha and stable ;). Anyway I merged the dependencies, so if you bump in your PR we should get a build.

@harry-cpp
Copy link
Member Author

On stable actually: http://www.mono-project.com/download/stable/#download-mac

The latest Stable Mono release is: 5.10.0 Stable (5.10.0.140)

@dellis1972
Copy link
Contributor

Hmm. not appearing for me in VSForMac

@harry-cpp harry-cpp changed the title [DO NOT MERGE] [Piepline Tool] Upgrade Eto [Piepline Tool] Upgrade Eto Mar 1, 2018
@harry-cpp
Copy link
Member Author

This is good to go.

@dellis1972
Copy link
Contributor

OK merging on the provision that once 5.10 is available on stable we upgrade to 4.7.1 and remove those reference libraries from Dependencies. :)

@dellis1972 dellis1972 merged commit 4217dc7 into MonoGame:develop Mar 1, 2018
@harry-cpp harry-cpp deleted the upgradeeto branch March 1, 2018 13:31
@harry-cpp
Copy link
Member Author

OK merging on the provision that once 5.10 is available on stable we upgrade to 4.7.1 and remove those reference libraries from Dependencies. :)

They in total take less than 3 MB so they shouldn't create any problems from downloading perspective.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants