76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
#conan create . novoline/stable
|
|
|
|
from conans import ConanFile, CMake, tools, MSBuild
|
|
import yaml
|
|
import os
|
|
import glob
|
|
import shutil
|
|
import subprocess
|
|
import csv
|
|
from io import StringIO
|
|
from pathlib import Path
|
|
|
|
class {{package_name}}Conan(ConanFile):
|
|
license = "© Copyright 2020 | Inspired Entertainment, Inc."
|
|
url = "https://bitbucket.ingg.com/projects/NOV/repos/multipackage_repos/browse"
|
|
#description = "<Description of {{package_name}} here>"
|
|
topics = ("gds", "multipackage", "novoline")
|
|
settings = "os", "compiler", "build_type", "arch"
|
|
pkg_folder_name = "NovoLine.MultiSystem.Base.Pkg"
|
|
scm = {
|
|
"type": "git",
|
|
"url": "auto",
|
|
"revision": "auto",
|
|
}
|
|
|
|
def requirements(self):
|
|
self.requires("gds-tool/1.0.6@novoline/stable")
|
|
|
|
def copy__(self, file, src, dst, fromSrc=False):
|
|
os.makedirs(dst, exist_ok=True)
|
|
|
|
srcFullPath = ''
|
|
if fromSrc:
|
|
srcFullPath = os.path.join(self.pkg_folder_name, src, file)
|
|
shutil.copy(srcFullPath, dst)
|
|
else:
|
|
srcFullPath = os.path.join(src, file)
|
|
self.copy(file, src=src, dst=dst)
|
|
|
|
dstFullPath = os.path.join(dst, file)
|
|
if not Path(dstFullPath).is_file():
|
|
raise FileNotFoundError(f'{srcFullPath} {dst}')
|
|
|
|
def imports(self):
|
|
MODULE_DIR = 'DIR/'
|
|
DST_DIR = f'{MODULE_DIR}/bin_enc'
|
|
|
|
os.makedirs(os.path.dirname(MODULE_DIR), exist_ok=True)
|
|
shutil.copy(f"{pkg_folder_name}/{MODULE_DIR}.nsi",MODULE_DIR)
|
|
|
|
self.copy("*", src="gds")
|
|
|
|
def run_command(self, command):
|
|
data = StringIO(command)
|
|
reader = csv.reader(data, delimiter=' ')
|
|
args = list(reader)
|
|
print(args)
|
|
|
|
ret = subprocess.run(args[0]).returncode
|
|
if ret != 0:
|
|
raise Exception(f"Error: {command}")
|
|
|
|
def build(self):
|
|
#use single quote outside and double quotes inside
|
|
self.run_command(f'python createGdsPackage.py --pname "{self.name}" --pver "{self.version}" --pfolder "{pkg_folder_name}" --btype "{self.settings.build_type}"')
|
|
|
|
def package(self):
|
|
self.copy("*.gds", src=f"outputs")
|
|
|
|
def set_version(self):
|
|
self.version = "{{version}}"
|
|
|
|
def set_name(self):
|
|
self.name = "{{name}}"
|
|
|