mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
57 lines
1.8 KiB
Python
Executable File
57 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you 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.
|
|
|
|
# wrapper around setup.py which injects the version number provided as a
|
|
# command line argument called from maven (see pom.xml)
|
|
|
|
import sys
|
|
import re
|
|
import subprocess
|
|
|
|
import os.path
|
|
|
|
basedir = os.path.dirname(__file__)
|
|
setupScript = os.path.join(basedir, 'setup.py')
|
|
|
|
|
|
def replaceVersion(fname, version):
|
|
"""replace VERSION in setup.py"""
|
|
with open(fname, 'r') as f:
|
|
content = f.read()
|
|
needle = '\nVERSION\s*=\s*[\'"][^\'"]*[\'"]'
|
|
# Ensure the version is PEP440 compliant
|
|
version = version.replace('-', '+', 1)
|
|
replacement = '\nVERSION = "%s"' % version
|
|
content = re.sub(needle, replacement, content, 1)
|
|
with open(fname, 'w') as f:
|
|
f.write(content)
|
|
|
|
|
|
def runSetupScript(args):
|
|
"""Invoke setup.py with the provided arguments"""
|
|
cmd = ['python3', setupScript] + args
|
|
exitCode = subprocess.call(cmd)
|
|
return exitCode
|
|
|
|
|
|
if __name__ == "__main__":
|
|
version = sys.argv[1].replace("-SNAPSHOT", "")
|
|
remainingArgs = sys.argv[2:]
|
|
replaceVersion(setupScript, version)
|
|
runSetupScript(remainingArgs)
|