Commit Graph
92 Commits
Author SHA1 Message Date
Mike Auty 1e8c55bfdd Remove all the visitor pattern stuff, that's likely to bloat rather than help. 2016-02-20 21:35:31 +00:00
Mike Auty ba2083fc7c Refactor the RequirementTreeNode to put it in the interfaces file. 2016-02-20 21:35:05 +00:00
Mike Auty da7774ee92 Refactor and add in a node type for multiple requirements. Lays the groundwork for the hierarchical visitor pattern. 2016-02-20 20:19:36 +00:00
Mike Auty 03cb131260 Add a priority ordering for testing layers (high priority trumps lower priority). 2016-01-21 00:06:39 +01:00
Mike Auty 139a6b610e Add in an appropriate requirement for BufferLayers. 2016-01-16 22:20:10 +00:00
Mike Auty 590304ed1f Improve debugging in the dependency resolver. 2016-01-16 22:00:16 +00:00
Mike Auty 78cd3c84c0 Add in a NativeSymbolTable validator. 2016-01-16 21:38:00 +00:00
Mike Auty 84815d204e Refactor and clarify exactly what the dependency resolver's doing.
Also includes requirements and a provider to support adding the
symbol spaces required for XP SP2.
2016-01-16 21:05:37 +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
Mike Auty 7db739279f Refactor configuration interfaces. 2016-01-16 13:24:25 +00:00
Mike Auty dc066d3d29 Add in validate function for symbol requirements. 2016-01-15 02:10:50 +00:00
Mike Auty 8e1602c02e Refactor constrained to constraint. 2016-01-15 01:53:08 +00:00
Mike Auty cc2770e88c Make build_caches private. 2016-01-15 01:51:59 +00:00
Mike Auty 21cdc08092 Remove the last traces of metadata. 2016-01-15 01:51:17 +00:00
Mike Auty b36d84ab0d Move metadata to providers variable, and genericize the rudimentary resolver. 2016-01-15 01:50:02 +00:00
Mike Auty 3a8decd57c Add in the interfaces for constraints/providers. 2016-01-15 01:49:18 +00:00
Mike Auty 1c2cb77ea3 Refactor the DataLayerDepResolver into just a generic DepResolver. 2016-01-15 01:47:58 +00:00
Mike Auty 1e48527096 Refactor Leaf/Node structures. 2016-01-13 00:50:51 +00:00
Mike Auty 603769cd3d Tidy up useful debugging output. 2016-01-13 00:49:12 +00:00
Mike Auty ffcacaec7d Refactor SchemaNodes into RequirementInterface. 2016-01-13 00:48:54 +00:00
Mike Auty 5697428770 Move accessing the configuration to an attribute of the configurable itself. 2016-01-13 00:41:17 +00:00
Mike Auty 55a93073eb Use the data level to produce the class initialization variables. 2016-01-13 00:11:30 +00:00
Mike Auty 415a0948a0 Rename the SCHEMA_NAME_DIVIDER, and ensure all paths are flat strings. 2016-01-12 23:44:55 +00:00
Mike Auty 629dfe2653 Remove paths from the DepTree structures, since we don't actually use them (save for debugging) and we're trying to minimize the use of the separator constant. 2016-01-12 23:20:53 +00:00
Mike Auty 56710a3483 Fix up a small set logic issue. 2016-01-12 23:16:46 +00:00
Mike Auty cb3f42f0e9 Rework the CLI a little to actually call the plugin, but the config system needs improving/fixing/rewriting. 5:S 2016-01-11 00:18:16 +00:00
Mike Auty 321064f387 Improve documentation. 2016-01-11 00:09:04 +00:00
Mike Auty 62eff8242d Include an initial version of the dependency resolver. 2016-01-11 00:03:54 +00:00
Mike Auty 3e9ae60d15 Remove the no-longer needed layer requirements. 2016-01-11 00:01:26 +00:00
Mike Auty 3bf336df41 Rework the dependency section and contemplate how to thread it all together a little more. 2016-01-10 16:29:47 +00:00
Mike Auty 82a145200f Add in the next tasks for the dep resolver. 2016-01-10 12:36:28 +00:00
Mike Auty f49f047e55 Clear up the dependency resolver. 2016-01-05 23:26:20 +00:00
Mike Auty b2be217a13 Add in an initial draft of the dependency resolver
Some gotchas:

* Classes can't update attributes that they inherit, because the
  inheritance happens after class construction
* The dep resolver can go in circle if the constraints in a layer are
  too permissive
2016-01-04 01:17:51 +00:00
Mike Auty bef0689982 Add in constraints for dependency solving. 2016-01-04 01:17:23 +00:00
Mike Auty ff1e326a9c Rip out layer factories, and replace them with a single dependency resolver. 2015-12-30 21:58:41 +00:00
Mike Auty bcbfee9016 Refactor the validity function names to make it easier for autocomplete to find. 2015-12-29 22:24:32 +00:00
Mike Auty cf66d0b447 Start building a dependency resolver for translation layers. 2015-12-29 22:13:10 +00:00
Mike Auty f7cc2ef00e Add a third layer to the requirement system
Now:

1. ConfigSchemaNode Class (pre-plugin instantiation)
2. ConfigSchemaNode Instance (plugin instantiated)
3. ConfigurationItem Instance (tree linking schema nodes to configuration value locations)
2015-12-27 01:12:38 +00:00
Mike Auty cf2b7b7c01 Update more ideas, getting closer to a suitable setup. 2015-12-07 09:23:20 +00:00
Mike Auty 2028c26557 Uncomment Conjunction/Disjunction Requirements and add initial windows translation layers, etc 2015-12-03 00:17:55 +00:00
Mike Auty 6a5f3ca7a3 Relocate the configuration classes. 2015-12-03 00:11:42 +00:00