The building of the UI plugin has several things I do not like 1) I need to extract the UI part of the plugin and copy/symlink it to fuel-web 2) I have to run grunt build on the whole fuel-web 3) I have to copy files back to original location to pack them 4) I cannot easily switch between development/production versions (no way to easily change entry point)
The only way to install plugin is `fuel plugins --install`, no matter development or production, so even development plugins should be packed to tar.gz Anton On Mon, Dec 15, 2014 at 3:30 PM, Przemyslaw Kaminski <[email protected] > wrote: > > First of all, compiling of statics shouldn't be a required step. No one > does this during development. > For production-ready plugins, the compiled files should already be > included in the GitHub repos and installation of plugin should just be a > matter of downloading it. The API should then take care of informing the UI > what plugins are installed. > The npm install step is mostly one-time. > The grunt build step for the plugin should basically just compile the > staticfiles of the plugin and not the whole project. Besides with one file > this is not extendable -- for N plugins we would build 2^N files with all > possible combinations of including the plugins? :) > > P. > > > On 12/15/2014 11:35 AM, Anton Zemlyanov wrote: > > My experience with building Fuel plugins with UI part is following. To > build a ui-less plugin, it takes 3 seconds and those commands: > > git clone https://github.com/AlgoTrader/test-plugin.git > cd ./test-plugin > fpb --build ./ > > When UI added, build start to look like this and takes many minutes: > > git clone https://github.com/AlgoTrader/test-plugin.git > git clone https://github.com/stackforge/fuel-web.git > cd ./fuel-web > git fetch https://review.openstack.org/stackforge/fuel-web > refs/changes/00/112600/24 && git checkout FETCH_HEAD > cd .. > mkdir -p ./fuel-web/nailgun/static/plugins/test-plugin > cp -R ./test-plugin/ui/* ./fuel-web/nailgun/static/plugins/test-plugin > cd ./fuel-web/nailgun > npm install && npm update > grunt build --static-dir=static_compressed > cd ../.. > rm -rf ./test-plugin/ui > mkdir ./test-plugin/ui > cp -R ./fuel-web/nailgun/static_compressed/plugins/test-plugin/* > ./test-plugin/ui > cd ./test-plugin > fpb --build ./ > > I think we need something not so complex and fragile > > Anton > > > > > _______________________________________________ > OpenStack-dev mailing > [email protected]http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > _______________________________________________ > OpenStack-dev mailing list > [email protected] > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > >
_______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
