[1/4] incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-39-Genericize-storage-models 3cca6f5ed -> 6e1f1260f (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/04c9bd07 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/04c9bd07 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/04c9bd07 Branch: refs/heads/ARIA-39-Genericize-storage-models Commit: 04c9bd07916f957ddd88b933067266177a242a42 Parents: c6c92ae Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Sun Dec 11 19:26:28 2016 +0200 -- aria/__init__.py| 25 +-- aria/cli/commands.py| 9 +- aria/extension.py | 125 +++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 --- .../events/builtin_event_handler.py | 123 --- .../events/workflow_engine_event_handler.py | 74 - aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/events_handler.py| 113 ++ aria/orchestrator/workflows/events_logging.py | 65 aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/storage/structures.py | 4 +- aria/utils/plugin.py| 39 - aria/utils/threading.py | 7 +- extensions/aria_extension_tosca/__init__.py | 52 --- .../simple_v1_0/data_types.py | 5 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 +++ tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +- tests/test_extension.py | 156 +++ 29 files changed, 602 insertions(+), 390 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index b000397..0f7bec6 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,13 +17,18 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from . import ( +extension, utils, parser, storage, @@ -41,19 +46,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(api, api_kwargs=None): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..141da07 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension
[1/2] incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-26-plugin-mechanism 4e30e09b7 -> 5c3bee47d (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/04c9bd07 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/04c9bd07 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/04c9bd07 Branch: refs/heads/ARIA-26-plugin-mechanism Commit: 04c9bd07916f957ddd88b933067266177a242a42 Parents: c6c92ae Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Sun Dec 11 19:26:28 2016 +0200 -- aria/__init__.py| 25 +-- aria/cli/commands.py| 9 +- aria/extension.py | 125 +++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 --- .../events/builtin_event_handler.py | 123 --- .../events/workflow_engine_event_handler.py | 74 - aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/events_handler.py| 113 ++ aria/orchestrator/workflows/events_logging.py | 65 aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/storage/structures.py | 4 +- aria/utils/plugin.py| 39 - aria/utils/threading.py | 7 +- extensions/aria_extension_tosca/__init__.py | 52 --- .../simple_v1_0/data_types.py | 5 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 +++ tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +- tests/test_extension.py | 156 +++ 29 files changed, 602 insertions(+), 390 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index b000397..0f7bec6 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,13 +17,18 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from . import ( +extension, utils, parser, storage, @@ -41,19 +46,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(api, api_kwargs=None): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..141da07 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 8533f4814 -> 04c9bd079 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/04c9bd07 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/04c9bd07 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/04c9bd07 Branch: refs/heads/ARIA-31-extensions Commit: 04c9bd07916f957ddd88b933067266177a242a42 Parents: c6c92ae Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Sun Dec 11 19:26:28 2016 +0200 -- aria/__init__.py| 25 +-- aria/cli/commands.py| 9 +- aria/extension.py | 125 +++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 --- .../events/builtin_event_handler.py | 123 --- .../events/workflow_engine_event_handler.py | 74 - aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/events_handler.py| 113 ++ aria/orchestrator/workflows/events_logging.py | 65 aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/storage/structures.py | 4 +- aria/utils/plugin.py| 39 - aria/utils/threading.py | 7 +- extensions/aria_extension_tosca/__init__.py | 52 --- .../simple_v1_0/data_types.py | 5 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 +++ tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +- tests/test_extension.py | 156 +++ 29 files changed, 602 insertions(+), 390 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index b000397..0f7bec6 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,13 +17,18 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from . import ( +extension, utils, parser, storage, @@ -41,19 +46,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(api, api_kwargs=None): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/04c9bd07/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..141da07 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions b5c300db3 -> d559deab3 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/d559deab Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/d559deab Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/d559deab Branch: refs/heads/ARIA-31-extensions Commit: d559deab3b8d326f13a20a28540506ed6ee2b2e6 Parents: c6c92ae Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Sun Dec 11 17:44:11 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 123 + aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 -- aria/orchestrator/workflows/__init__.py | 4 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/events_logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- aria/utils/threading.py | 7 +- extensions/aria_extension_tosca/__init__.py | 52 +++ .../simple_v1_0/data_types.py | 5 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 135 +++ 28 files changed, 578 insertions(+), 388 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d559deab/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index b000397..0f7bec6 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,13 +17,18 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from . import ( +extension, utils, parser, storage, @@ -41,19 +46,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(api, api_kwargs=None): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/d559deab/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..141da07 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import (application_model_storage, application_resource_storage)
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 32f26b480 -> 59e315268 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/59e31526 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/59e31526 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/59e31526 Branch: refs/heads/ARIA-31-extensions Commit: 59e315268b7af8b9376b610c1ea92c6c906d40d7 Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Thu Dec 8 10:30:19 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 126 ++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 --- aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- aria/utils/threading.py | 7 +- extensions/aria_extension_tosca/__init__.py | 52 .../simple_v1_0/data_types.py | 5 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 132 +++ 28 files changed, 577 insertions(+), 388 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/59e31526/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..cd27c25 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +extension, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/59e31526/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..dd893d6 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions e2c1d29da -> c07af3ea0 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/c07af3ea Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/c07af3ea Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/c07af3ea Branch: refs/heads/ARIA-31-extensions Commit: c07af3ea00521f8022183f9f0e0fc53faab66704 Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Wed Dec 7 19:01:39 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 126 ++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 --- aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- extensions/aria_extension_tosca/__init__.py | 52 .../simple_v1_0/data_types.py | 5 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 132 +++ 27 files changed, 571 insertions(+), 387 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/c07af3ea/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..cd27c25 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +extension, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/c07af3ea/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..dd893d6 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import (application_model_storage,
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 6d6a7b971 -> e2c1d29da (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/e2c1d29d Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/e2c1d29d Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/e2c1d29d Branch: refs/heads/ARIA-31-extensions Commit: e2c1d29da78de3baa26cd5e82afb9d8e194545a9 Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Wed Dec 7 19:01:04 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 126 ++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 --- aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- extensions/aria_extension_tosca/__init__.py | 52 .../simple_v1_0/data_types.py | 6 +- requirements.txt| 1 + tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 132 +++ 27 files changed, 572 insertions(+), 387 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e2c1d29d/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..cd27c25 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +extension, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/e2c1d29d/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..dd893d6 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import (application_model_storage,
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 82d6b6402 -> 6d6a7b971 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/6d6a7b97 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/6d6a7b97 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/6d6a7b97 Branch: refs/heads/ARIA-31-extensions Commit: 6d6a7b971f6830a8415725bfd36705f64ab86698 Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Wed Dec 7 18:57:57 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 126 ++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 --- aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- extensions/aria_extension_tosca/__init__.py | 52 requirements.txt| 1 + tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 132 +++ 26 files changed, 567 insertions(+), 386 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6d6a7b97/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..cd27c25 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +extension, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/6d6a7b97/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..dd893d6 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import (application_model_storage, application_resource_storage) from ..logger import LoggerMixin from
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 0e2ccf001 -> 82d6b6402 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/82d6b640 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/82d6b640 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/82d6b640 Branch: refs/heads/ARIA-31-extensions Commit: 82d6b6402ccc991526d588a660f3225f1d714145 Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Wed Dec 7 18:01:54 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 126 ++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 --- aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- extensions/aria_extension_tosca/__init__.py | 52 tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 132 +++ 25 files changed, 566 insertions(+), 386 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/82d6b640/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..cd27c25 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +extension, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/82d6b640/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..dd893d6 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import (application_model_storage, application_resource_storage) from ..logger import LoggerMixin from ..storage import (FileSystemModelDriver,
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 7bbcb8be3 -> 0e2ccf001 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/0e2ccf00 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/0e2ccf00 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/0e2ccf00 Branch: refs/heads/ARIA-31-extensions Commit: 0e2ccf001c7f66601754c6d45584403ed3ce5f71 Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Wed Dec 7 17:53:17 2016 +0200 -- aria/__init__.py| 25 ++-- aria/cli/commands.py| 9 +- aria/extension.py | 128 ++ aria/orchestrator/events.py | 36 + aria/orchestrator/events/__init__.py| 57 .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 --- aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 + aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/utils/plugin.py| 39 -- extensions/aria_extension_tosca/__init__.py | 52 tests/orchestrator/conftest.py | 23 tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +-- tests/test_extension.py | 132 +++ 25 files changed, 568 insertions(+), 386 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0e2ccf00/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..cd27c25 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +extension, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then invokes all registered extension functions. """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +extension.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/0e2ccf00/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..dd893d6 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import extension from .. import (application_model_storage, application_resource_storage) from ..logger import LoggerMixin from ..storage import (FileSystemModelDriver,
incubator-ariatosca git commit: ARIA-31 Add registry mechanism for extensions [Forced Update!]
Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-31-extensions 17d75d495 -> 7bbcb8be3 (forced update) ARIA-31 Add registry mechanism for extensions Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/7bbcb8be Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/7bbcb8be Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/7bbcb8be Branch: refs/heads/ARIA-31-extensions Commit: 7bbcb8be392657f52836c39ec0cd43b8e5cff7bf Parents: fe974e4 Author: Dan KilmanAuthored: Mon Dec 5 15:28:29 2016 +0200 Committer: Dan Kilman Committed: Tue Dec 6 14:28:39 2016 +0200 -- aria/__init__.py| 25 +-- aria/cli/commands.py| 9 +- aria/orchestrator/events.py | 36 aria/orchestrator/events/__init__.py| 57 -- .../events/builtin_event_handler.py | 123 - .../events/workflow_engine_event_handler.py | 74 aria/orchestrator/workflows/__init__.py | 3 + aria/orchestrator/workflows/core/engine.py | 2 + .../workflows/core/event_handler.py | 113 aria/orchestrator/workflows/logging.py | 65 +++ aria/parser/__init__.py | 5 +- aria/parser/loading/__init__.py | 3 +- aria/parser/loading/uri.py | 5 +- aria/parser/presentation/__init__.py| 3 +- aria/parser/presentation/source.py | 7 +- aria/parser/specification.py| 6 +- aria/registry.py| 114 aria/utils/plugin.py| 39 extensions/aria_extension_tosca/__init__.py | 50 ++--- tests/orchestrator/conftest.py | 23 +++ tests/orchestrator/events/__init__.py | 14 -- .../events/test_builtin_event_handlers.py | 14 -- .../test_workflow_enginge_event_handlers.py | 0 .../workflows/executor/test_executor.py | 16 +- tests/test_registry.py | 181 +++ 25 files changed, 602 insertions(+), 385 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7bbcb8be/aria/__init__.py -- diff --git a/aria/__init__.py b/aria/__init__.py index 3f81f98..2d8ba9d 100644 --- a/aria/__init__.py +++ b/aria/__init__.py @@ -17,14 +17,19 @@ Aria top level package """ -import sys import pkgutil +try: +import pkg_resources +except ImportError: +pkg_resources = None + from .VERSION import version as __version__ from .orchestrator.decorators import workflow, operation from .storage import ModelStorage, ResourceStorage, models, ModelDriver, ResourceDriver from . import ( +registry, utils, parser, storage, @@ -43,19 +48,17 @@ _resource_storage = {} def install_aria_extensions(): """ -Iterates all Python packages with names beginning with :code:`aria_extension_` and calls -their :code:`install_aria_extension` function if they have it. +Iterates all Python packages with names beginning with :code:`aria_extension_` and all +:code:`aria_extension` entry points and loads them. +It then calls all functions registered to the on_init registry """ - for loader, module_name, _ in pkgutil.iter_modules(): if module_name.startswith('aria_extension_'): -module = loader.find_module(module_name).load_module(module_name) - -if hasattr(module, 'install_aria_extension'): -module.install_aria_extension() - -# Loading the module has contaminated sys.modules, so we'll clean it up -del sys.modules[module_name] +loader.find_module(module_name).load_module(module_name) +if pkg_resources: +for entry_point in pkg_resources.iter_entry_points(group='aria_extension'): +entry_point.load() +registry.on_init.init() def application_model_storage(driver): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/7bbcb8be/aria/cli/commands.py -- diff --git a/aria/cli/commands.py b/aria/cli/commands.py index 3426bb0..8e73a71 100644 --- a/aria/cli/commands.py +++ b/aria/cli/commands.py @@ -28,13 +28,14 @@ from importlib import import_module from yaml import safe_load, YAMLError +from .. import registry from .. import (application_model_storage, application_resource_storage) from ..logger import LoggerMixin from ..storage import (FileSystemModelDriver, FileSystemResourceDriver)