Skip to content

Commit 5b90215

Browse files
committed
Add post-install command to get Java dependencies
1 parent 801b9d5 commit 5b90215

File tree

4 files changed

+32
-7
lines changed

4 files changed

+32
-7
lines changed

setup.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,30 @@
11
import os
22
from setuptools import setup
3+
from setuptools.command.install import install
4+
import site
35

46
here = os.path.abspath(os.path.dirname(__file__))
57
with open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
68
long_description = f.read()
79

10+
TRUSTY_VERSION = "1.12.0.Final"
11+
12+
13+
class PostInstall(install):
14+
"""Fetch TrustyAI explainability JARs from Maven Central"""
15+
16+
def run(self):
17+
install.run(self)
18+
_ROOT = os.path.join(site.getsitepackages()[0], "trustyai", "dep")
19+
print(f"Installing Maven dependencies into {_ROOT}")
20+
os.system(f"mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get "
21+
f"-DremoteRepositories=https://repository.sonatype.org/content/repositories/central "
22+
f"-Dartifact=org.kie.kogito:explainability-core:{TRUSTY_VERSION} -Dmaven.repo.local={_ROOT} -q")
23+
_TESTS_FILE = os.path.join("org", "kie", "kogito", "explainability-core", TRUSTY_VERSION,
24+
f"explainability-core-{TRUSTY_VERSION}-tests.jar")
25+
os.system(f"wget -O {os.path.join(_ROOT, _TESTS_FILE)} https://repo1.maven.org/maven2/{_TESTS_FILE}")
26+
27+
828
setup(
929
name="trustyai",
1030
version="0.0.5",
@@ -29,4 +49,5 @@
2949
packages=['trustyai', 'trustyai.model', 'trustyai.utils', 'trustyai.local'],
3050
include_package_data=False,
3151
install_requires=['Jpype1'],
52+
cmdclass={"install": PostInstall},
3253
)

tests/common.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
if not INITIALISED:
1515
trustyai.init(
1616
path=trustyai.CORE_DEPS + [
17-
"./dep/org/optaplanner/optaplanner-core/8.12.0.Final/optaplanner-core-8.12.0.Final.jar",
18-
"./dep/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar",
19-
"./dep/org/kie/kie-api/7.59.0.Final/kie-api-7.59.0.Final.jar",
20-
"./dep/io/micrometer/micrometer-core/1.7.4/micrometer-core-1.7.4.jar",
17+
f"{trustyai.DEFAULT_DEP_PATH}/org/optaplanner/optaplanner-core/8.12.0.Final/optaplanner-core-8.12.0.Final.jar",
18+
f"{trustyai.DEFAULT_DEP_PATH}/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar",
19+
f"{trustyai.DEFAULT_DEP_PATH}/org/kie/kie-api/7.59.0.Final/kie-api-7.59.0.Final.jar",
20+
f"{trustyai.DEFAULT_DEP_PATH}/io/micrometer/micrometer-core/1.7.4/micrometer-core-1.7.4.jar",
2121
]
2222
)
2323

trustyai/__init__.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@
55
import jpype
66
import jpype.imports
77
from jpype import _jcustomizer, _jclass
8+
import site
9+
import os
810

911
TRUSTY_VERSION = "1.12.0.Final"
12+
DEFAULT_DEP_PATH = os.path.join(site.getsitepackages()[0], "trustyai", "dep")
13+
1014
CORE_DEPS = [
11-
f"./dep/org/kie/kogito/explainability-core/{TRUSTY_VERSION}/*",
12-
"./dep/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar",
13-
"./dep/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar",
15+
f"{DEFAULT_DEP_PATH}/org/kie/kogito/explainability-core/{TRUSTY_VERSION}/*",
16+
f"{DEFAULT_DEP_PATH}/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar",
17+
f"{DEFAULT_DEP_PATH}/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar",
1418
]
1519

1620

trustyai/deps/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)