Update for use with oslo libraries

Oslo libraries are always in the oslo namespace, so they
need the namespace package configured.

Change-Id: Ib1077622c82cc771c39ab3e9d3ea58d2eb00c94f
This commit is contained in:
Doug Hellmann 2014-01-31 15:21:31 -08:00
parent 12da3a53af
commit f8753c13f3
34 changed files with 59 additions and 68 deletions

View File

@ -1,8 +1,9 @@
====================== ===========================
cookiecutter-openstack oslo-cookiecutter-openstack
====================== ===========================
Cookiecutter template for an OpenStack project. See https://github.com/audreyr/cookiecutter. Cookiecutter template for an Oslo library (part of the OpenStack
project). See https://github.com/audreyr/cookiecutter.
* Free software: Apache license * Free software: Apache license
* pbr_: Set up to use Python Build Reasonableness * pbr_: Set up to use Python Build Reasonableness
@ -17,12 +18,12 @@ Usage
Generate a Python package project:: Generate a Python package project::
cookiecutter https://git.openstack.org/openstack-dev/cookiecutter.git cookiecutter https://git.openstack.org/openstack-dev/oslo-cookiecutter.git
OpenStack projects require a working git repo for pbr to work, so you need to Oslo libraries require a working git repo for pbr to work, so you need
init a repo and commit to it before doing anything else:: to init a repo and commit to it before doing anything else::
cd $repo_name cd oslo.$module_name
git init git init
git add . git add .
git commit -a git commit -a

View File

@ -1,6 +1,5 @@
{ {
"module_name": "replace with the name of the python module", "module_name": "replace with the name of the package under oslo",
"repo_group": "openstack", "repo_group": "openstack",
"repo_name": "replace with the name for the git repo", "project_short_description": "Oslo Boilerplate contains all the boilerplate you need to create an Oslo-branded library."
"project_short_description": "OpenStack Boilerplate contains all the boilerplate you need to create an OpenStack package."
} }

View File

@ -0,0 +1,4 @@
[gerrit]
host=review.openstack.org
port=29418
project=openstack/oslo.{{cookiecutter.module_name}}.git

View File

@ -14,4 +14,4 @@ Pull requests submitted through GitHub will be ignored.
Bugs should be filed on Launchpad, not GitHub: Bugs should be filed on Launchpad, not GitHub:
https://bugs.launchpad.net/{{ cookiecutter.repo_name }} https://bugs.launchpad.net/oslo.{{ cookiecutter.module_name }}

View File

@ -0,0 +1,13 @@
===================================
oslo.{{ cookiecutter.module_name }}
===================================
{{ cookiecutter.project_short_description}}
* Free software: Apache license
* Documentation: http://docs.openstack.org/developer/oslo.{{ cookiecutter.module_name }}
Features
--------
* TODO

View File

@ -37,8 +37,8 @@ source_suffix = '.rst'
master_doc = 'index' master_doc = 'index'
# General information about the project. # General information about the project.
project = u'{{cookiecutter.repo_name}}' project = u'oslo.{{cookiecutter.module_name}}'
copyright = u'2013, OpenStack Foundation' copyright = u'2014, OpenStack Foundation'
# If true, '()' will be appended to :func: etc. cross-reference text. # If true, '()' will be appended to :func: etc. cross-reference text.
add_function_parentheses = True add_function_parentheses = True

View File

@ -0,0 +1,15 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
__import__('pkg_resources').declare_namespace(__name__)

View File

@ -0,0 +1 @@
Babel>=0.9.6

View File

@ -1,5 +1,5 @@
[metadata] [metadata]
name = {{ cookiecutter.repo_name }} name = oslo.{{ cookiecutter.module_name }}
summary = {{ cookiecutter.project_short_description }} summary = {{ cookiecutter.project_short_description }}
description-file = description-file =
README.rst README.rst
@ -21,7 +21,10 @@ classifier =
[files] [files]
packages = packages =
{{ cookiecutter.module_name }} oslo
oslo.{{ cookiecutter.module_name }}
namespace_packages =
oslo
[build_sphinx] [build_sphinx]
source-dir = doc/source source-dir = doc/source
@ -32,15 +35,15 @@ all_files = 1
upload-dir = doc/build/html upload-dir = doc/build/html
[compile_catalog] [compile_catalog]
directory = {{cookiecutter.module_name}}/locale directory = oslo.{{cookiecutter.module_name}}/locale
domain = {{cookiecutter.repo_name}} domain = oslo.{{cookiecutter.module_name}}
[update_catalog] [update_catalog]
domain = {{cookiecutter.repo_name}} domain = oslo.{{cookiecutter.module_name}}
output_dir = {{cookiecutter.module_name}}/locale output_dir = oslo.{{cookiecutter.module_name}}/locale
input_file = {{cookiecutter.module_name}}/locale/{{cookiecutter.repo_name}}.pot input_file = oslo.{{cookiecutter.module_name}}/locale/oslo.{{cookiecutter.module_name}}.pot
[extract_messages] [extract_messages]
keywords = _ gettext ngettext l_ lazy_gettext keywords = _ gettext ngettext l_ lazy_gettext
mapping_file = babel.cfg mapping_file = babel.cfg
output_file = {{cookiecutter.module_name}}/locale/{{cookiecutter.repo_name}}.pot output_file = oslo.{{cookiecutter.module_name}}/locale/oslo.{{cookiecutter.module_name}}.pot

View File

@ -18,5 +18,5 @@
import setuptools import setuptools
setuptools.setup( setuptools.setup(
setup_requires=['pbr>=0.5.21,<1.0'], setup_requires=['pbr'],
pbr=True) pbr=True)

View File

@ -1,4 +0,0 @@
[gerrit]
host=review.openstack.org
port=29418
project={{cookiecutter.repo_group}}/{{cookiecutter.repo_name}}.git

View File

@ -1,13 +0,0 @@
===============================
{{ cookiecutter.repo_name }}
===============================
{{ cookiecutter.project_short_description}}
* Free software: Apache license
* Documentation: http://docs.openstack.org/developer/{{ cookiecutter.repo_name }}
Features
--------
* TODO

View File

@ -1,7 +0,0 @@
[DEFAULT]
# The list of modules to copy from oslo-incubator.git
module=install_venv_common
# The base module to hold the copy of openstack.common
base={{cookiecutter.module_name}}

View File

@ -1,2 +0,0 @@
pbr>=0.5.21,<1.0
Babel>=0.9.6

View File

@ -1,19 +0,0 @@
# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import pbr.version
__version__ = pbr.version.VersionInfo(
'{{cookiecutter.module_name}}').version_string()