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

Add full rebuild option #145

Open
GAMMACASE opened this issue Jul 23, 2023 · 1 comment
Open

Add full rebuild option #145

GAMMACASE opened this issue Jul 23, 2023 · 1 comment

Comments

@GAMMACASE
Copy link
Member

AMBuild option that triggers full rebuild of the project.

Practical use case as of right now: there are numerous cases I've encountered myself, but not able to condense into a small repro case (thus file a proper bug report), where the build system doesn't hook up updated header files from an include directories, leading to having old debug and run time information about the structs/classes etc. At the very least I can tell that it mostly happen via working on metamod and updating the hl2sdk include files (specifically to name a few are convar.h, datamap.h), so if that could count as a repro case, then here you have it.

Also as a general note regarding having this feature available even if the idea behind ambuild is to cover all cases and have it detect relevant changes automatically etc, is that it's highly impossible to have a high percentage of these cases covered due to the limited/small usage of this build system by the public and not really highly active development of it, which leads to the cases above and more. So just as a general routine way of solving these cases and not waiting for a long time for the bug to be resolved, again due to the constraints of low public usage and low development interest, it's preferred in my eyes to have this option available.

@dvander
Copy link
Member

dvander commented Nov 9, 2023

I'm not 100% against this, but probably more like 85% against. It'd probably be a diagnostic command that is annoying to invoke and marks every node in the graph as dirty. But then we'd be masking real bugs, which are very hard to diagnose without repro steps.

What I'd probably prefer to do is add some kind of diagnostic file that gets generated on every build. Basically a snapshot of the old database and all the timestamps it reads. Then if you encounter a problem, you could attach that information to a bug report after the fact.

Note, I use AMBuild probably more than any other person and I never encounter rebuild issues. We also don't see these issues on our own build servers, which rely heavily on minimal rebuild (the VMs are dog slow), and are cross-platform. I'm willing to believe they exist, but in that case, I'd want to track them down.

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

No branches or pull requests

2 participants