[jira] [Updated] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle

Nicolas Malin (Jira)

     [ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Taher Alkhateeb updated OFBIZ-7972:
-----------------------------------
    Description:
This JIRA houses the attempt to create a plugin system for OFBiz based on gradle. The plugin system should have the following features:

- It is independent of the version control system, file system, operating system and any other environment tools surrounding OFBiz. Instead, it should be fully integrated with OFBiz.
- It should unify the way OFBiz is extended, both for official supported plugins and for third party plugins
- The plugin system takes advantage of the concept of a "component" in OFBiz and utilize it as the building block for plugins
- The plugin system supports the concepts of "Repository" and "Dependency Management". If possible, the plugin system will utilize these concepts directly from Gradle instead of writing them from scratch.

The initial API for the plugin system will be small and expands as needed. The API should include the following gradle tasks:
- createPlugin: creates a new plugin based on templates and place it in the plugins directory
- installPlugin: Activate a plugin and run Install. Plugin must exist in /specialpurpose
- uninstallPlugin: Deactivate a plugin and run its uninstall script
- publishPlugin: publish a plugin to local maven repository
- pullPlugin: download a plugin with its dependencies (plugins) from a repository and install them

  was:
This JIRA houses the attempt to create a plugin system for OFBiz based on gradle. The plugin system should have the following features:

- It is independent of the version control system, file system, operating system and any other environment tools surrounding OFBiz. Instead, it should be fully integrated with OFBiz.
- It should unify the way OFBiz is extended, both for official supported plugins and for third party plugins
- The plugin system takes advantage of the concept of a "component" in OFBiz and utilize it as the building block for plugins
- The plugin system supports the concepts of "Repository" and "Dependency Management". If possible, the plugin system will utilize these concepts directly from Gradle instead of writing them from scratch.

The initial API for the plugin system will be small and expands as needed. The API should include the following gradle tasks:
- createPlugin: creates a new plugin based on templates and place it in the plugins directory
- activatePlugin: Make an inactive plugin active (compile and start with the system).
- deactivatePlugin: Make an active plugin inactive (does not compile nor start with the system)
- installPlugin: either install an existing plugin in the filesystem, or download and install the plugin from a remote repository. Installation happens by running the install script which is designed by the plugin author. By default installPlugin also activates the plugin.
- uninstallPlugin: Uninstall an already installed plugin by running its uninstall script. By default uninstallPlugin also deactivates the plugin, but does not delete it.


> Create a (PoC) plugin system for OFBiz based on Gradle
> ------------------------------------------------------
>
>                 Key: OFBIZ-7972
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7972
>             Project: OFBiz
>          Issue Type: Improvement
>    Affects Versions: Upcoming Branch
>            Reporter: Taher Alkhateeb
>            Assignee: Taher Alkhateeb
>              Labels: plugin, proof-of-concept, system
>
> This JIRA houses the attempt to create a plugin system for OFBiz based on gradle. The plugin system should have the following features:
> - It is independent of the version control system, file system, operating system and any other environment tools surrounding OFBiz. Instead, it should be fully integrated with OFBiz.
> - It should unify the way OFBiz is extended, both for official supported plugins and for third party plugins
> - The plugin system takes advantage of the concept of a "component" in OFBiz and utilize it as the building block for plugins
> - The plugin system supports the concepts of "Repository" and "Dependency Management". If possible, the plugin system will utilize these concepts directly from Gradle instead of writing them from scratch.
> The initial API for the plugin system will be small and expands as needed. The API should include the following gradle tasks:
> - createPlugin: creates a new plugin based on templates and place it in the plugins directory
> - installPlugin: Activate a plugin and run Install. Plugin must exist in /specialpurpose
> - uninstallPlugin: Deactivate a plugin and run its uninstall script
> - publishPlugin: publish a plugin to local maven repository
> - pullPlugin: download a plugin with its dependencies (plugins) from a repository and install them



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)