This adds Reset() method to KIFACE to reload global libs stored in
global static vars.
Also refactors some lib reload code in various frames to have
common MAIL_RELOAD_LIB handler.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12500
(cherry picked from commit 2975f53647)
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h. Also adds an error directive to prevent re-introduction
of define dependencies
When running from the build directory, the schema must be present in the
build directory. This wasn't working on out-of-tree builds though, since
it was never copied there.
wxASSERT is removed in release mode (which most users run), so this will
not prevent future code from possibly using an invalid iterator if the
package version can't actually be found.
Pinned packages don't affect available update notification and will not
be updated with "Update All" button. Manual update is still possible but
will trigger a confirmation dialog.
at() can throw when it doesn't find the proper reference. This catches
the errors and attempts to properly handle them assuming the user
initiated the removal. Warns the developer (wxLogDebug) when this is
not the case
Fixes https://gitlab.com/kicad/code/kicad/issues/12241
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize(). This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
Adds package update available state, package update operation and all
the corresponding logic around it to make updating package to another
version easy.
The json schema for packages implies that kicad min/max version
restriction takes major.minor.patch string but actual logic
only checks major and minor.
This fixes the logic to work with full major.minor.patch tuple.
Additionally the version max logic will substitute missing portions
with 999 for a reasonable default so that say 7.1 is still considered
as >= 7.1.5 when checking for max version.
Reported here
https://forum.kicad.info/t/updating-already-installed-plugins-using-content-manager/35532/5?u=qu1ck