-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup.py
77 lines (63 loc) · 1.86 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/env python3
from ast import Raise
import subprocess
import warnings
import sys
from setuptools import setup
from setuptools.command.build_py import build_py
from setuptools.command.develop import develop
import os
import urllib
import shutil
ENHSP_dst = './up_enhsp/ENHSP'
ENHSP_PUBLIC = 'ENHSP-Public'
COMPILE_CMD = './compile'
ENHSP_TAG = 'enhsp-20-0.15.0'
ENHSP_REPO = 'https://gitlab.com/enricos83/ENHSP-Public'
JDK_REQUIRE = 17
long_description = \
"""============================================================
UP_ENHSP
============================================================
"""
def check_version_jdk():
result = subprocess.check_output(['java', '--version']).decode('utf-8')
versione = result.split(" ")[1].split(".")[0]
if int(versione) >= JDK_REQUIRE:
return True
else:
return False
def install_ENHSP():
if not check_version_jdk():
raise ValueError(f'ENHSP require jdk version >= {JDK_REQUIRE}')
subprocess.run(['git', 'clone', '-b', ENHSP_TAG, ENHSP_REPO])
shutil.rmtree(ENHSP_dst,ignore_errors=True)
shutil.move(ENHSP_PUBLIC, ENHSP_dst)
curr_dir = os.getcwd()
os.chdir(ENHSP_dst)
subprocess.run(COMPILE_CMD)
os.chdir(curr_dir)
class InstallENHSP(build_py):
"""Custom install command."""
def run(self):
install_ENHSP()
build_py.run(self)
class InstallENHSPdevelop(develop):
"""Custom install command."""
def run(self):
install_ENHSP()
develop.run(self)
setup(name='up_enhsp',
version='0.0.27',
description='up_enhsp',
author='UNIBS Team',
author_email='[email protected]',
packages=['up_enhsp'],
package_data={
"": ["ENHSP/enhsp.jar","ENHSP/libs/*"],
},
cmdclass={
'build_py': InstallENHSP,
'develop': InstallENHSPdevelop,
},
license='APACHE')