mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-08-05 17:38:35 +02:00
Optional: Move optional-lite to the include/third-party directory
This fixes the use case of adding the include folder manually to an outside project.
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright 2019-2019 by Martin Moene
|
||||
#
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
#
|
||||
# script/upload-conan.py
|
||||
#
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
# Configuration:
|
||||
|
||||
def_conan_project = 'optional-lite'
|
||||
def_conan_user = 'nonstd-lite'
|
||||
def_conan_channel = 'stable'
|
||||
cfg_conanfile = 'conanfile.py'
|
||||
|
||||
tpl_conan_create = 'conan create . {usr}/{chn}'
|
||||
tpl_conan_upload = 'conan upload --remote {usr} {prj}/{ver}@{usr}/{chn}'
|
||||
|
||||
# End configuration.
|
||||
|
||||
def versionFrom( filename ):
|
||||
"""Obtain version from conanfile.py"""
|
||||
with open( filename ) as f:
|
||||
content = f.read()
|
||||
version = re.search(r'version\s=\s"(.*)"', content).group(1)
|
||||
return version
|
||||
|
||||
def createConanPackage( args ):
|
||||
"""Create conan package and upload it."""
|
||||
cmd = tpl_conan_create.format(usr=args.user, chn=args.channel)
|
||||
if args.verbose:
|
||||
print( "> {}".format(cmd) )
|
||||
if not args.dry_run:
|
||||
subprocess.call( cmd, shell=False )
|
||||
|
||||
def uploadConanPackage( args ):
|
||||
"""Create conan package and upload it."""
|
||||
cmd = tpl_conan_upload.format(prj=args.project, usr=args.user, chn=args.channel, ver=args.version)
|
||||
if args.verbose:
|
||||
print( "> {}".format(cmd) )
|
||||
if not args.dry_run:
|
||||
subprocess.call( cmd, shell=False )
|
||||
|
||||
def uploadToConan( args ):
|
||||
"""Create conan package and upload it."""
|
||||
print( "Updating project '{prj}' to user '{usr}', channel '{chn}', version {ver}:".
|
||||
format(prj=args.project, usr=args.user, chn=args.channel, ver=args.version) )
|
||||
createConanPackage( args )
|
||||
uploadConanPackage( args )
|
||||
|
||||
def uploadToConanFromCommandLine():
|
||||
"""Collect arguments from the commandline and create conan package and upload it."""
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Create conan package and upload it to conan.',
|
||||
epilog="""""",
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
||||
|
||||
parser.add_argument(
|
||||
'-n', '--dry-run',
|
||||
action='store_true',
|
||||
help='do not execute conan commands')
|
||||
|
||||
parser.add_argument(
|
||||
'-v', '--verbose',
|
||||
action='count',
|
||||
default=0,
|
||||
help='level of progress reporting')
|
||||
|
||||
parser.add_argument(
|
||||
'--project',
|
||||
metavar='p',
|
||||
type=str,
|
||||
default=def_conan_project,
|
||||
help='conan project')
|
||||
|
||||
parser.add_argument(
|
||||
'--user',
|
||||
metavar='u',
|
||||
type=str,
|
||||
default=def_conan_user,
|
||||
help='conan user')
|
||||
|
||||
parser.add_argument(
|
||||
'--channel',
|
||||
metavar='c',
|
||||
type=str,
|
||||
default=def_conan_channel,
|
||||
help='conan channel')
|
||||
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar='v',
|
||||
type=str,
|
||||
default=versionFrom( cfg_conanfile ),
|
||||
help='version number [from conanfile.py]')
|
||||
|
||||
uploadToConan( parser.parse_args() )
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
uploadToConanFromCommandLine()
|
||||
|
||||
# end of file
|
||||
Reference in New Issue
Block a user