Mike Auty
8b29b1f668
Rework the import ordering for requirements/configurations.
2018-02-12 00:51:05 +00:00
Mike Auty
994bd7c394
Fix up the finding of swap layers so swap actually works.
2018-02-11 21:41:39 +00:00
Mike Auty
b7c68f4e98
Rework LayerListRequirement from a ListRequirement to a MultiRequirement.
2018-02-11 18:35:18 +00:00
Mike Auty
e8212df604
Improve ListRequirement handling (default values, etc).
2018-02-11 02:16:53 +00:00
Mike Auty
cd8f6876ff
Add in LayerListRequirement type.
2018-02-10 22:42:59 +00:00
Mike Auty
7cb0330d04
Fix and correctly type ListRequirements.
2018-02-10 22:41:39 +00:00
Mike Auty
4e7fc078ee
Tidy up the requirements namespace.
2018-02-10 13:45:17 +00:00
Mike Auty
c203663f0b
Refactor requirements to support a list of swap layers.
2018-01-28 14:48:50 +00:00
Mike Auty
f40fae197d
Convert to python3.5 syntax (no local type-annotations).
2017-12-13 20:48:52 +00:00
Mike Auty
50b60c0df6
Add in more interfaces (and fix additional errors now that type information is available).
2017-12-13 20:48:52 +00:00
Mike Auty
2cc456e847
Finish off the automagic directory type annotations.
2017-12-13 20:48:52 +00:00
Mike Auty
d7d13eb19c
Add type annotations to most of the automagic files.
2017-12-13 20:48:52 +00:00
Mike Auty
ab5f4fa3ab
Refactor the List and Choice Requirements
...
These are required by the Automagic interface, and so to prevent
importing from outside the interfaces namespace, these two classes
were moved into interfaces.
2017-08-09 22:44:06 +01:00
Mike Auty
d32fc223e2
Fix up additional imports inconsistent with the coding style.
...
Note: also remove interfaces_configuration where ever possible
(this is not possible in the interfaces directory itself
because it would cause an import loop).
2017-08-09 22:32:44 +01:00
Mike Auty
3a648d75b0
Don't double wrap unsatisifed requirements, each should return its full config path of the requirement checked.
2017-01-08 17:59:04 +00:00
Mike Auty
149e57afee
Change the requirement validation system to return all unsatisfied requirements, to provide more feedback.
2017-01-08 17:26:09 +00:00
Mike Auty
b7b0d9720d
Make choices a public property.
2017-01-08 02:07:44 +00:00
Mike Auty
7b252d8b73
Refactor InstanceRequriement into the interfaces file.
...
This also fixes a minor bug where a property was used in the
initializer, which can't be read before initialization.
2017-01-08 02:04:55 +00:00
Mike Auty
0f811fbe34
Refactor the code to make it easier to find classes, and update documentation.
2016-12-30 02:13:23 +00:00
Mike Auty
5fe078e487
Adapt Automagic to have requirements, and convert the Stacker's single_location parameter to make use of it.
2016-12-29 15:21:39 +00:00
Mike Auty
7f0fb89da5
We don't need to check the element's type twice.
2016-12-29 15:20:44 +00:00
Mike Auty
88e9786967
Improve the requirements documentation.
2016-12-28 22:33:17 +00:00
Mike Auty
698d1c2b4a
Improve the granularity of logging.
2016-12-15 01:38:24 +00:00
Mike Auty
667014a1fd
Attempt to standardize error message display.
2016-10-30 17:51:45 +00:00
Mike Auty
a1b9be74c7
Refactor several configuration/requirement structures to avoid import loops.
2016-08-22 02:15:54 +01:00
Mike Auty
c5139ba568
Stop exposing the config_path for now, and fix the version that's passed in the construction phase.
2016-08-22 00:36:58 +01:00
Mike Auty
db21d4628c
Rework importing of interfaces, a little more verbose in the code, but a little less complex to import and name.
2016-08-16 10:54:57 +01:00
Mike Auty
e02feed16e
Python 3 has a sane super() implementation (no arguments), so convert to using that.
2016-08-14 00:55:02 +01:00
Mike Auty
b92ccd771f
Fix up the DTB finder code and stick it all together.
2016-07-30 02:35:40 +01:00
Mike Auty
43aba96e3f
Minor pylint (alphabetical imports) and refactoring the construct class to work for symbols.
2016-07-30 01:58:29 +01:00
Mike Auty
d3a226d7a8
Remove constraints as a thing, they'll need to come back, but in a different form.
2016-07-30 01:52:44 +01:00
Mike Auty
f8c3019165
Refactor requirements to expose the name ordering for quicker lookups.
2016-07-29 03:28:02 +01:00
Mike Auty
14c0cc262c
Significantly rework the configuration system.
...
So this is where I ripped out the guts of the dependency tree
and made it a little better defined in some ways, and delayed
populating it in others. The validate function signature has
changed and I'm still up in the air whether to validate with
True/False or throw/catch exceptions.
So now, configurables have a list of requirements, these are
then bundled into a single requirement and can be passed to
automagic. Automagic runs a set of things over the deptree
to help build/manage it. These run in order of priority.
The tree is still built from the top down, but now automagic
can build branch from the bottom up and try and splice them
into the tree where appropriate. Hopefully this will make it
easier to see follow.
2016-07-29 03:24:52 +01:00
Mike Auty
4f17143fd3
Add in proper logging statements.
2016-07-29 02:35:07 +01:00
Mike Auty
139a6b610e
Add in an appropriate requirement for BufferLayers.
2016-01-16 22:20:10 +00:00
Mike Auty
78cd3c84c0
Add in a NativeSymbolTable validator.
2016-01-16 21:38:00 +00:00
Mike Auty
00660f2a2b
Refactor requirements to their own file.
2016-01-16 21:04:41 +00:00
Mike Auty
a8d6fd5647
Refactor windows code to windows basic to avoid import loops.
2016-01-16 20:09:18 +00:00