-
-
Notifications
You must be signed in to change notification settings - Fork 23.7k
Re-write mono module editor code in C# #30282
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
Conversation
akien-mga
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-Mono changes seem good.
|
I forgot to commit one file, will fix soon. |
14b4184 to
c49f9ee
Compare
aaronfranke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't get to look through everything, but here's a few things I noticed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should any of these be added to https://github.com/github/gitignore/blob/master/Godot.gitignore ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, that repository is for project-specific .gitignore files, so it should only be for files generated in normal use of Godot.
Third party code editors are outside that scope, and github/gitignore already provides .gitignore files for them. I don't know if they provide a feature to merge several .gitignore files when you have a project using different software, but if they don't, they should :)
modules/mono/editor/GodotTools/GodotTools.BuildLogger/GodotBuildLogger.cs
Outdated
Show resolved
Hide resolved
modules/mono/editor/GodotTools/GodotTools.BuildLogger/GodotBuildLogger.cs
Outdated
Show resolved
Hide resolved
modules/mono/editor/GodotTools/GodotTools.Core/StringExtensions.cs
Outdated
Show resolved
Hide resolved
e6a1521 to
2f5c1b9
Compare
|
|
7d6ac9a to
588c0a3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like Travis' mono doesn't like this: https://travis-ci.org/godotengine/godot/jobs/554433349
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like we're still running 5.10.1.20 from the debian wheezy upstream repo on Travis:
Get:2 http://download.mono-project.com/repo/debian wheezy/main amd64 mono-runtime-sgen amd64 5.10.1.20-0xamarin1+debian7b1 [1,760 kB]
I don't know if there's a more recent repo compatible with Travis' Ubuntu Xenial.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah the mono source is wheezy:
https://github.com/travis-ci/apt-source-safelist/blob/0c2267bff66def573d31a8240ff7d31795e1f6fa/ubuntu.json#L418-L423
I'll see if they could add http://download.mono-project.com/repo/debian/dists/stable-xenial/ to the whitelist, but I don't have high hopes of Travis acting fast, so we should likely keep this define for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well there's my own year old issue: travis-ci/apt-source-safelist#384
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a travis workaround:
is_travis = os.environ.get('TRAVIS') == 'true'
if is_travis:
# Travis CI may have a Mono version lower than 5.12
env_mono.Append(CPPDEFINES=['NO_PENDING_EXCEPTIONS'])There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. So for non-Travis we would now require a version >= 5.12 I suppose?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've had that requirement for a year :P https://github.com/godotengine/godot-docs/blame/82963cf7055bad24694d88d3ecc6a4da04f14fa7/development/compiling/compiling_with_mono.rst#L11
Make the build system automatically build the C# Api assemblies to be shipped with the editor. Make the editor, editor player and debug export templates use Api assemblies built with debug symbols. Always run MSBuild to build the editor tools and Api assemblies when building Godot. Several bugs fixed related to assembly hot reloading and restoring state. Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
ptrcall assumes methods that return a Reference type do so with Ref<T>. Returning Reference* from a method exposed to the scripting API completely breaks ptrcalls to this method (it can be quite hard to debug!).
We make sure the resource dir path ends with a trailing '/' for safety reasons, so we must make sure the path we compare it to does so as well.
588c0a3 to
0639946
Compare
|
Thanks! |
No description provided.