Monty Taylor 5936a8f691 Add a tool to build collections with pbr
OpenStack in general uses git tags to drive versioning of artifacts.
This is important because of our code review driven workflow, since
patches don't necessarily land in a predictable sequence, so flows
requiring a version number in a file to be updated at a specific
time are problematic.

By having pbr generate the correct version number then putting that
into the galaxy.yml file, we can match the behavior without too much
undue burden.

Also ignore build_artifact directory.

Change-Id: Id02fee682fb5a4b6fd6dcb0644848e6d1269e19b
2020-02-27 08:20:43 -06:00

48 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python
# Copyright 2019 Red Hat, Inc.
#
# 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.
# The next two lines are pointless for this file, but the collection
# linter freaks out if they are not there.
from __future__ import absolute_import, division, print_function
__metaclass__ = type
import pbr.version
from ruamel.yaml import YAML
def generate_version_info():
version_info = pbr.version.VersionInfo('openstack-cloud')
semantic_version = version_info.semantic_version()
release_string = semantic_version._long_version('-')
yaml = YAML()
yaml.explicit_start = True
yaml.indent(sequence=4, offset=2)
config = yaml.load(open('galaxy.yml.in'))
config['version'] = release_string
with open('galaxy.yml', 'w') as fp:
yaml.dump(config, fp)
def main():
generate_version_info()
if __name__ == '__main__':
main()