ui-cookiecutter/README.rst
Shu Muto c6de8b68c8 Fix cookiecutter command option
Change-Id: I593c15cecad0edeba1033cb6665db109cfab83d2
2018-01-22 19:45:20 +09:00

84 lines
3.4 KiB
ReStructuredText

===============
ui-cookiecutter
===============
Cookiecutter template for an OpenStack Dashboard UI plugin project. This
generate UI plugin project using Horizon Angular framework and the generated
project includes sample panel with CRUD operations.
See also https://github.com/audreyr/cookiecutter.
* Free software: Apache license
* pbr_: Set up to use Python Build Reasonableness
* hacking_: Enforces the OpenStack Hacking Guidelines
* eslint_: Enfoces the JavaScript Guidelines
* testrepository_: Runs tests using testrepository
* OpenStack-Infra_: Ready for OpenStack Continuous Integration testing
* Tox_ testing: Setup to easily test for Python 2.7, 3.4
* karma_ testing: Setup to easily test for JavaScript
* Sphinx_ docs: Documentation ready for generation and publication
* reno_ : Sphinx extension for Release Notes
Usage
-----
Generate a Python package project::
cookiecutter https://github.com/openstack/ui-cookiecutter.git
This command prompts interactive input. Please check these parameters::
* "repo_group": The name for the git repo group. e.g. "openstack"
* "repo_name": The name for the git repo. e.g. "cafe-ui", This is used as python package name too.
* "launchpad_project": The name of the project on launchpad. e.g. "cafe-ui",
* "project_short_description": The short descriptions for your UI. e.g. "Cafe User Interface",
* "help_name": The name for the help. e.g. "Cafe-UI",
* "call_by_name": The name of this UI to write texts such as README or Help. e.g. "Cafe UI",
* "module_name": The name of the python module. e.g. "cafe_ui"
* "dashboard": The slug of the "dashboard" you want to add this plugin into. e.g. "project",
* "panel_group": The slug for the "panel_group". e.g. "cafe",
* "panel_group_name": The caption for the "panel_group". e.g. "Cafe",
* "panel": The slug of the "panel", in singular. e.g. "drink",
* "panel_func": The function name for the "panel", in singular. e.g. "Drink",
* "api_module": The name of the API service module. e.g. "cafe",
* "api_name": The caption for the "api_module". e.g. "Cafe"
If you want to generate without interactive input, you can use example values for these parameters as follow::
cookiecutter https://github.com/openstack/ui-cookiecutter.git --no-input
Run with OpenStack Horizon::
cd <repo_name>
pip install
cp <repo_name>/<module_name>/enabled/_90_project_<panel_group>_panelgroup.py <horizon-dir>/openstack_dashboard/local/enabled
cp <repo_name>/<module_name>/enabled/_91_project_<panel_group>_<panel>s.py <horizon-dir>/openstack_dashboard/local/enabled
then reboot the Horizon.
OpenStack projects require a working git repo for pbr to work, on newer
versions of cookiecutter (>= 0.7.0 released 2013-11-09) this inital commit will
be done automatically. Otherwise you will need to init a repo and commit to it
before doing anything else::
cd $repo_name
git init
git add .
git commit -a
Then::
* Add the project to the OpenStack Infrastructure
.. _pbr: https://docs.openstack.org/pbr/latest/
.. _hacking: https://git.openstack.org/cgit/openstack-dev/hacking/plain/HACKING.rst
.. _eslint: http://eslint.org/
.. _OpenStack-Infra: https://docs.openstack.org/infra/system-config
.. _testrepository: https://testrepository.readthedocs.org/
.. _Tox: http://testrun.org/tox/
.. _karma: https://github.com/karma-runner/karma
.. _Sphinx: http://sphinx-doc.org/
.. _reno: https://docs.openstack.org/reno/latest/