Skip to content

Commit 18c5d29

Browse files
authored
Merge pull request #43 from ruivieira/FAI-705
Add post-install command to get Java dependencies
2 parents 801b9d5 + 95b6ce0 commit 18c5d29

File tree

5 files changed

+35
-16
lines changed

5 files changed

+35
-16
lines changed

.github/workflows/workflow.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@ jobs:
2828
python -m pip install --upgrade pip
2929
pip install -r requirements.txt
3030
pip install -r requirements-dev.txt
31-
- name: Download JARs
32-
run: |
33-
chmod +x ./deps.sh
34-
./deps.sh
31+
python setup.py build install
3532
- name: Lint
3633
run: |
3734
pylint --ignore-imports=yes $(find trustyai -type f -name "*.py")

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: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,7 @@
1212
INITIALISED = False
1313

1414
if not INITIALISED:
15-
trustyai.init(
16-
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",
21-
]
22-
)
23-
15+
trustyai.init()
2416
INITIALISED = True
2517

2618
from trustyai.model import (

trustyai/__init__.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,25 @@
11
# pylint: disable = import-error, import-outside-toplevel, dangerous-default-value, invalid-name, R0801
22
"""Main TrustyAI Python bindings"""
33
from typing import List
4+
import site
5+
import os
46
import uuid
57
import jpype
68
import jpype.imports
79
from jpype import _jcustomizer, _jclass
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",
18+
f"{DEFAULT_DEP_PATH}/org/optaplanner/optaplanner-core/8.12.0.Final/"
19+
f"optaplanner-core-8.12.0.Final.jar",
20+
f"{DEFAULT_DEP_PATH}/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar",
21+
f"{DEFAULT_DEP_PATH}/org/kie/kie-api/7.59.0.Final/kie-api-7.59.0.Final.jar",
22+
f"{DEFAULT_DEP_PATH}/io/micrometer/micrometer-core/1.7.4/micrometer-core-1.7.4.jar",
1423
]
1524

1625

trustyai/deps/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)