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

More settings for maintaining consistency between AOT and non-AOT mode #82368

Closed
stevefan1999-personal opened this issue Feb 19, 2023 · 5 comments
Labels
area-NativeAOT-coreclr needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity question Answer questions and provide assistance, not an issue with source code or documentation.
Milestone

Comments

@stevefan1999-personal
Copy link

I want to make something that works consistently with PublishAot, so that we can have a fast development cycle in Debug mode, while in Release and Publish we use AOT. 

This mean I want the entire project to:

  1. Disable reflection, treat it as a build error when any of my dependencies are using reflection. 
    1. I do understand the consequences that 80% of the C# pacakges aren't going to build, but if you are going to build a game engine, you are probably going to reinvent most of the wheels yourself anyway
  2. Have the ability to build debug AOT binaries, without much of the optimization in the normal situation
  3. Have the ability to cache incremental AOT artifacts so we can produce development builds faster as test for AOT compatibilies

All of which is not easily achivable or simply isn't possible in the current AOT mode yet. Let's fix that.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Feb 19, 2023
@ghost
Copy link

ghost commented Feb 19, 2023

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

I want to make something that works consistently with PublishAot, so that we can have a fast development cycle in Debug mode, while in Release and Publish we use AOT. 

This mean I want the entire project to:

  1. Disable reflection, treat it as a build error when any of my dependencies are using reflection. 
    1. I do understand the consequences that 80% of the C# pacakges aren't going to build, but if you are going to build a game engine, you are probably going to reinvent most of the wheels yourself anyway
  2. Have the ability to build debug AOT binaries, without much of the optimization in the normal situation
  3. Have the ability to cache incremental AOT artifacts so we can produce development builds faster as test for AOT compatibilies

All of which is not easily achivable or simply isn't possible in the current AOT mode yet. Let's fix that.

Author: stevefan1999-personal
Assignees: -
Labels:

untriaged, area-NativeAOT-coreclr

Milestone: -

@MichalStrehovsky MichalStrehovsky added question Answer questions and provide assistance, not an issue with source code or documentation. needs-author-action An issue or pull request that requires more info or actions from the author. labels Feb 19, 2023
@MichalStrehovsky
Copy link
Member

We have Roslyn static analyzers that help with flagging trimming and AOT issues before you build the source code. They're enabled by default with PublishAot. More here: #67193 (comment)

Typically, you shouldn't see AOT-specific issues that were not flagged by the analyzers ahead of time and if you do, please let us know about them.

Do you see issues that were not flagged by the analyzers?

We don't currently have plans for incremental AOT rebuilds because one should only need them rarely.

@ghost
Copy link

ghost commented Feb 19, 2023

This issue has been marked needs-author-action and may be missing some important information.

@MichalStrehovsky MichalStrehovsky added this to the Future milestone Feb 19, 2023
@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Feb 19, 2023
@ghost ghost added the no-recent-activity label Mar 6, 2023
@ghost
Copy link

ghost commented Mar 6, 2023

This issue has been automatically marked no-recent-activity because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove no-recent-activity.

@agocke agocke added this to AppModel Mar 6, 2023
@ghost
Copy link

ghost commented Mar 20, 2023

This issue will now be closed since it had been marked no-recent-activity but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days.

@ghost ghost closed this as completed Mar 20, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Apr 19, 2023
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-NativeAOT-coreclr needs-author-action An issue or pull request that requires more info or actions from the author. no-recent-activity question Answer questions and provide assistance, not an issue with source code or documentation.
Projects
Archived in project
Development

No branches or pull requests

3 participants