41 Commits (e04f87fe9510d3f7576ec9563f9cbfbd3a86d28b)

Author SHA1 Message Date
Adriaan de Groot e04f87fe95 [libcalamaresui] Refactor moduleFromDescriptor
- this function lives in Module -- and is the only thing typing
  Module to the ViewSteps and JobTypes. Split it out into its
  own funciton. Nothing else in Module needs to befriend the
  ViewSteps, so we move the friend declaration around a bit
  as well.
- while here, apply coding style.

This is prep-work for moving module to libcalamares.
5 years ago
Adriaan de Groot 4ddd1ecceb [libcalamares] Move Requirement to libcalamares
- This isn't a UI component: a requirement can be checked and
  reported-on without a UI entirely.
5 years ago
Adriaan de Groot 94f5b13db0 [libcalamaresui] Restore previous DLLEXPORT names
- Different libraries should have different EXPORTs, so that
   you can IMPORT one while building the other. Reported (and
   kindly explained) by Kevin Kofler.
 - Stick to one header file, though.

While here, update copyright on file.
5 years ago
Adriaan de Groot aaa6f6bd55 [libcalamaresui] Drop UiDllMacro.h
- The scattering of DLL export macro's is kind of useless;
   there are several headers, and then the export macro isn't
   even applied consistently. Just drop the one for UI exports,
   which was only used in libcalamaresui.
5 years ago
Adriaan de Groot 00deeec8c8 [libcalamaresui] Use InstanceKey instead of strings
- Replace return type of Module::instanceKey() by the structured
   ModuleSystem::InstanceKey type
 - Chase API breakage
5 years ago
Adriaan de Groot 6530c889f0 Merge remote-tracking branch 'origin/use-idkey' into no-config
- Join to a single branch that does a bunch of tidying
   in the type-strictness of module interfaces.
5 years ago
Adriaan de Groot 155db29ccf [libcalamares] Add a ModuleSystem::Descriptor
- this is currently just an alias for QVariantMap, which is
   the type already in use.
 - future plan is to tighten this up and have an actual
   Descriptor class that carries only the information
   actually needed for the module descriptor.
5 years ago
Adriaan de Groot ed4127f661 [libcalamaresui] Shuffle the module interface
- introduce NamedEnum lookup tables for interface and type
 - drop "final" and "virtual" from methods that don't make
   sense as virtual
 - shuffle declaration order so the virtual API for modules
   sits together
6 years ago
Adriaan de Groot f89c137c90 [libcalamaresui] Migrate module to using InstanceKey
- Trying to get away from untyped strings with special meaning.
 - The "split identifier" branch tried the same thing, but
   was duplicating the existing InstanceKey.h work.
6 years ago
Adriaan de Groot a7e1a1f9fc [libcalamaresui] Refactor Module::initFrom()
- generic initFrom() also sets the instance id
 - subclass-specific initFrom() now pure virtual in base
 - chase changes in subclasses
6 years ago
Adriaan de Groot 20cf0c8f3d [libcalamaresui] Remove unused code
- This operator is declared, yet never defined or used. The definition
   was removed in fb44fb97b6.
6 years ago
Adriaan de Groot 0bd2bfa708 CI: apply coding style to libcalamaresui/modulesystem 6 years ago
Adriaan de Groot 9331a25905 [libcalamares] Remove Typedefs.h
- This small header file contained a few unrelated typedefs.
   Move those typedefs to the classes they relate to. This
   **does** mean that some consumers need to #include something
   else instead.
 - Use type names more consistently.

Editorial: why are **pages** responsible for creating the jobs?
6 years ago
Adriaan de Groot 169159f888 [libcalamaresui] Switch to enum classes for Type, Interface
- Somewhat gratuitous change, but brings more enums into modern style.
6 years ago
Adriaan de Groot bf40f3bd23 Merge branch 'master' into requirements-checking 7 years ago
Adriaan de Groot 731594fb40 [libcalamaresui] Remove the requiredModules setting
- The value set in module.desc was never stored for use,
   but isn't an attribute of the instance, either. It belongs
   with the descriptor, in ModuleManager.
7 years ago
Adriaan de Groot 1a097f8c49 Style: run modulesystem through the style guide 7 years ago
Adriaan de Groot 3ed6f13fa8 [libcalamaresui] Adjust the emergency-ness of modules
A potentially emergency module is one that has EMERGENCY
(in CMake) or emergency: true (in module.desc) set.
Any such module must also set emergency: true in the
configuration of the module. This is to allow for
instances of a module that **don't** run as emergency
modules, alongside actual emergency ones.
7 years ago
Adriaan de Groot def459a29d [libcalamaresui] Read emergency setting from module.desc
- Read setting from the module descriptor
 - Document optional settings
 - Add EMERGENCY keyword to the CMake helper functions
7 years ago
Adriaan de Groot eddee7d76a [libcalamaresui] No point in isLoaded() being virtual. 7 years ago
Adriaan de Groot a04915e6fa [libcalamaresui] Add 'emergency' concept to modules. 7 years ago
Adriaan de Groot a72bdfac52 Merge branch 'master' into requirements-checking 7 years ago
Adriaan de Groot 762ad54344 Documentation: change http links to GitHub to https 8 years ago
Adriaan de Groot 27b921bde1 [libcalamaresui] Move requirements information out of welcome module.
- Move type and rename it; put in Calamares namespace
 - Emit signals from the viewmanager as results come in
 - Remove state changing from welcome view step based on its internal
   requirements checking (for now this breaks progressing past the
   welcome page)
 - Log checking of the requirements
8 years ago
Adriaan de Groot 24e04645b6 [libcalamaresui] Stub requirements checking.
Introduce a method checkRequirements() into the module system so that
individual modules can do their own checking (as opposed to stuffing
it all into the welcome module).
8 years ago
Adriaan de Groot 5a07f6ef8a Merge branch 'master' into requirements-checking 8 years ago
Adriaan de Groot 2d31e987c0 [libcalamaresui] Unrelated typedef for JobList 8 years ago
Adriaan de Groot 8917d153da Drop the (inter-)module dependencies system.
- Was marked incomplete and unused; none of the existing modules
   set any requirements, and the descriptors are not set up to
   hold the requirements information anyway.
 - Dependencies are generally through globalStorage values, or if
   there are dependent jobs they should be created in-order by one
   source (e.g. though a View or a subclass of CppJob which overrides
   jobs() ).
 - It is the responsibility of deployers to formulate a settings.conf
   that includes all the required modules.
 - A 'real' dependency system is going to lead to the introduction
   of interface-definitions and a great deal of complexity, for a
   use case that can be handled with careful deployment instead.
8 years ago
Adriaan de Groot 764fb742ba Clang: clean up documentation markup 8 years ago
Teo Mrnjavac 99a1c2245f Documentation++ 8 years ago
Teo Mrnjavac 2736ad6e09 User-visible Type and Interface strings in Module. 9 years ago
Teo Mrnjavac 2c3b56c803 Link against PythonQt; new PythonQtViewModule stub. 9 years ago
Teo Mrnjavac fb44fb97b6 Massive refactor of module loading, configuration, startup, management. 10 years ago
Teo Mrnjavac 8e16bea3d9 Remove unused members. 10 years ago
Teo Mrnjavac 4e2e964503 Return configurationMap from Module. 10 years ago
Teo Mrnjavac 8f10c21e5b Big configuration overhaul.
Module descriptors are now module.desc, no configuration allowed inside.
Module config files are <modulename>.conf, installed in
share/calamares/modules.
settings.conf is read from /etc/calamares, then share/calamares, and if
running with --debug also in the current dir.
Module config files are read from /etc/calamares/modules, then
share/calamares/modules, and if running with --debug also in
src/modules/<modulename> relative to the current dir.
11 years ago
Aurélien Gâteau b5b72855c3 Queue module jobs in the order they are listed in the "install" section of settings.conf 11 years ago
Teo Mrnjavac 2ef5df314b Make extra configuration map protected in Module. 11 years ago
Teo Mrnjavac c7c4e52849 Load additional module-specific configuration into a Module object. 11 years ago
Teo Mrnjavac 7894bb9462 Module type Core ==> Job, plus const correctness. 11 years ago
Teo Mrnjavac 4ec72f4afb Refactored calamares_bin into calamares_bin and libcalamaresui.
Now linking with -Wl,--no-undefined!
Moved find_package KF5 from the root CMakeLists.txt to the partitioning
module where it belongs. KF5 deps should be limited to plugins.
Lots of random fixage to make stuff link.
Removed CalamaresApplication reference from Settings.
Removed the use of AbstractPage, we don't need it right now.
11 years ago