This PR begins to remove the builder pattern from XML construction in a step towards adding a scoping interface for workflow construction (as demonstrated in https://github.com/Shopify/pyoozie/pull/26). Specifically, this PR:
Renames the pyoozie.builder module to pyoozie.xml
Renames pyoozie.tags.Coordinator to pyoozie.tags.CoordinatorApp to avoid potential name collisions and to be more specific (since it does create an XML document with a root tag of coordinator-app)
Adds deprecation warnings to the constructors of WorkflowBuilder and CoordinatorBuilder
A future PR will remove xml.WorkflowBuilder and replace it with tags.WorkflowApp to construct XML (by calling e.g. workflow_app.xml())
CoordinatorBuilder can at present be replaced by directly using tags.CoordinatorApp
This PR begins to remove the builder pattern from XML construction in a step towards adding a scoping interface for workflow construction (as demonstrated in https://github.com/Shopify/pyoozie/pull/26). Specifically, this PR:
pyoozie.builder
module topyoozie.xml
pyoozie.tags.Coordinator
topyoozie.tags.CoordinatorApp
to avoid potential name collisions and to be more specific (since it does create an XML document with a root tag ofcoordinator-app
)WorkflowBuilder
andCoordinatorBuilder
xml.WorkflowBuilder
and replace it withtags.WorkflowApp
to construct XML (by calling e.g.workflow_app.xml()
)CoordinatorBuilder
can at present be replaced by directly usingtags.CoordinatorApp
Subsequent PRs will:
CoordinatorBuilder
and its tests;WorkflowApp
with an implementation sufficient to replaceWorkflowBuilder
(based upon the interface prototyped in https://github.com/Shopify/pyoozie/pull/26);WorkflowBuilder
and its tests;WorkflowApp
to support multiple actions and forks/joins.