[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15817967#comment-15817967 ] Taher Alkhateeb commented on OFBIZ-7972: In reference to the discussion thread in which we voted to rename /specialpurpose to /plugins found [here|http://markmail.org/message/hpyuxkmftiyn44w2] I have committed the change in r1778271 > 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: 16.11.01 >Reporter: Taher Alkhateeb >Assignee: Taher Alkhateeb >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15493045#comment-15493045 ] Taher Alkhateeb commented on OFBIZ-7972: First commit in r1760917 with minor modifications and fixing of typos. > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15492851#comment-15492851 ] Taher Alkhateeb commented on OFBIZ-7972: Hi Michael, I thought about using these words but I think it might be misleading. the pullPlugin is downloading + activating + installing + doing the same for dependencies. The pushPlugin is packaging into POM, publishing and uploading. So although the words are more familiar I fear people might misinterpret it and think if they call downloadPlugin then it would just download it when it is a very complex operation. This is why I suggest to keep them as pull and push but provide a good explanation in the description, because you'll know that a pull is not just a download so you'll be careful. > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15492626#comment-15492626 ] Michael Brohl commented on OFBIZ-7972: -- That would be ok from a developers view, but maybe the users are more familiar with something like downloadPlugin and uploadPlugin? > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15492598#comment-15492598 ] Jacopo Cappellato commented on OFBIZ-7972: -- I like it. I am looking forward at seeing this code in our repo: after that it will be easier to test it and paly with it and gather further feedback and enhancements from the community. > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15492497#comment-15492497 ] Taher Alkhateeb commented on OFBIZ-7972: Hi Folks, I just had a new idea before committing. I would like to rename publishPlugin to pushPlugin. This way we have a nice consistent naming i.e. pulling from or pushing to a maven Repository. WDYT > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15490013#comment-15490013 ] Taher Alkhateeb commented on OFBIZ-7972: Good catch Jacopo, yeah I deleted 'org.apache.ant:ant-junit4:1.9.7' as it is duplicated and the system works without it. Thank you Jacopo, Michael and Gil for the vote to push the experimental code to Trunk. I'll wait for a while for feedback from others before proceeding. > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15489902#comment-15489902 ] Gil Portenseigne commented on OFBIZ-7972: - +1, no problem with removing createComponent in my opinion, since createPlugin do the same. > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15489889#comment-15489889 ] Michael Brohl commented on OFBIZ-7972: -- +1 for putting it into trunk. That would make it a lot easier to test & play instead of applying patches and reverting. Maybe we should keep the "createComponent" task as long as it is experimental then? > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15489882#comment-15489882 ] Jacopo Cappellato commented on OFBIZ-7972: -- It looks a great start to me. One minor question: are both entries required? {code} +junitReport 'org.apache.ant:ant-junit:1.9.7' +junitReport 'org.apache.ant:ant-junit4:1.9.7' {code} I have voted for this ticket and I would be in favor of committing it into trunk, maybe mentioning (at the beginning of the README file) that is experimental. > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch, OFBIZ-7972.patch, OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15489589#comment-15489589 ] Taher Alkhateeb commented on OFBIZ-7972: Hi Michael, thank you for the help, I will update the patch soon with your feedback as well as that of Gil's You asked me a difficult question on versioning which I was thinking about a lot. In my current design I made OFBiz plugins themselves versioned using [Semantic Versioning 2.0.0|http://semver.org/] and you can have a very complex dependency tree with versions without a problem and it will all be resolved automatically. This is just good old maven combined with the power of Gradle that makes this whole system seamless. OFBiz itself, however, is not versioned, so I do not have at the moment a solution to say that this plugin only works with OFBiz 16 and that plugin works with 15 and so on. The reasons for this problem: - There is no file in OFBiz that tells us what is the current version of OFBiz - Using subversion to keep track of versions in my opinion is a bad idea because it makes the solution brittle and dependent on tools instead of being part of the OFBiz solution. If we switch the version control system in the future then our solution breaks down. - What about trunk? It's hard to make plugins dependent on trunk because trunk is this constantly changing thing. So, I have no clear solution in my mind at the moment, but I am sharing my ideas to brainstorm together > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15488572#comment-15488572 ] Michael Brohl commented on OFBIZ-7972: -- Hi Taher, many thanks for your efforts! I have tested all described steps and everything worked very well. Great documentation apart from the quirks already mentioned. I would also be in favor of a removePlugin task that does uninstall and delete. I'd suggest to rename the existing removePlugin to deactivatePlugin, this would better describe what the task really does. One idea comes to mind: is it planned to have some version checking mechanism? If I want to pull/install a remote plugin it would be nice if the installer would check if the plugin is compatible with the base system. I will play with the plugin system in the next days and report any findings or ideas. Thanks for your great work! > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15488461#comment-15488461 ] Gil Portenseigne commented on OFBIZ-7972: - Another thing i didn't react to when coding createComponent task was done is to have resourceName capitalised if not given in tasks parameters, to avoid myComponentScreens.xml instead of MyComponentScreens.xml... > 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 >Priority: Minor > Labels: plugin, proof-of-concept, system > Attachments: OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15488344#comment-15488344 ] Taher Alkhateeb commented on OFBIZ-7972: Hi Gil, thank you :) I hesitated in making the uninstallPlugin task delete the folder, and I like your idea of remove plugin being equal to uninstall+delete. Maybe we should call it deletePlugin because there is a function in the script called removePlugin that removes it from component-load.xml. I also discovered a few more typos in README.md so I'll fix those in addition to the copy-paste one you caught. I'll patch again soon. There is a lot more to discuss but I'll wait for you to explore some more. Thank you for all the help. > 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 > Attachments: OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15488309#comment-15488309 ] Gil Portenseigne commented on OFBIZ-7972: - Hi Taher, great job so far, I did easily managed to create my own plugin, publish it to my local repos, uninstall it and pull it from my local repo. The README is pretty clear (only copy/paste issue line 496). I feel that a removePlugin that will be a shortcut to uninstallPlugin + rm -Rf speciapurpose/myPluginId, could be good. But while writing it, i'm not sure about me yet... Food for thought :) These for basic test feedback, I continue my tests ! > 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 > Attachments: OFBIZ-7972.patch > > > 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)
[jira] [Commented] (OFBIZ-7972) Create a (PoC) plugin system for OFBiz based on Gradle
[ https://issues.apache.org/jira/browse/OFBIZ-7972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15445394#comment-15445394 ] Taher Alkhateeb commented on OFBIZ-7972: I made a comment on the ML in a new design utilizing maven in [this thread|http://markmail.org/message/j64vdoh2sbisuunh] Also, [this github repo|https://github.com/bintray/bintray-examples] contains useful resources on publishing to bintray (jcenter) > 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 > - 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)