system-config/modules/jenkins/files/slave_scripts/pypi-extract-name.py
Jeremy Stanley 7a9fe8a9d0 Determine the package name when uploading to PyPI
* modules/jenkins/files/slave_scripts/pypi-extract-name.py: Short
new script to safely parse the sdist package name out of a setup.cfg
file.

* modules/jenkins/files/slave_scripts/pypi-upload.sh: Subsume the
guts of the first shell builder from the pypi-upload job, extended
to call pypi-extract-name.py and fall back to the name of the Git
project if it fails--this is needed for cases where those names
differ, for example in capitalization.

* .../jenkins_job_builder/config/pypi-jobs.yaml: Clone and checkout
the Git tag which triggered this upload to PyPI, and then only call
the modified pypi-upload.sh script since it should now analyze the
state of the setup.cfg to determine how to retrieve the
corresponding tarball.

Change-Id: I43843e6e74b918e9c68f4b27958ec605774668ff
2013-09-27 19:28:23 +00:00

24 lines
783 B
Python

#!/usr/bin/python
#
# 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.
#
# Extract Python package name from setup.cfg
import ConfigParser
setup_cfg = ConfigParser.SafeConfigParser()
setup_cfg.read("setup.cfg")
distname = setup_cfg.get("metadata", "name")
assert distname
print(distname)