Skip to content

Commit 26ed007

Browse files
authored
Merge pull request #281 from scenerygraphics/conda
Conda packaging
2 parents 0244e95 + 3b4b156 commit 26ed007

File tree

9 files changed

+521
-26
lines changed

9 files changed

+521
-26
lines changed

.travis.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ branches:
77
install: true
88
script:
99
#- ".travis/build.sh"
10-
- "python .travis/ci.py"
10+
- "python3 .travis/pre_ci.py"
11+
# .travis/ci.py is now called from travis_build.sh, which is called by pre_ci.py ^^^
12+
#- "conda activate scijava-conda; python3 .travis/ci.py"
1113
cache:
1214
directories:
1315
- "~/.m2/repository"
@@ -18,13 +20,13 @@ env:
1820
- secure: AhDAOBC/KNkU6JBh3wXNhs6ExY6WaqQEKxfZ15nTsiHy1ZuTTEkGy26lTx1GD+Cp19QpzaO6u9KxrE8jLPioTEd1424s+82LjBnoyM2oL8eir+lkEWnGkdLRxWG1q1coY124wXiklGRpfo5fLxuDvLMzq1QQAJ4CytryK3ODhfuIDCSy9sjZlyqLz9nnZ2pJKG/EqBq3/u1n4J+/TsBjoWFaKX/wMT+PsdBGjCCpsVD9Zun6LzV4hwXT6MRBG0gT8wEM1kMgjlDUpIGV7VO/h05wSttYqOwqRMNXvWo6A4T4IB2zMKnVqFRNIFKWX5E8XpgccP1h+PCt2hjsJkYHnK4oeIWfgvLU6hkaMg5VlhbxQ+LlcTqG4dOm9zyz3wShYG4OcwTe7OjCjoPxbnHnFS56LAGHXWsH/VkzwPBOqyzhr7Mo6EMQPKcNTTJnK6xmty/i8/2A/Q24bEvjwZJMQ6JZpU2jBX4RyWHRhnbIgEMjWR4EvLVID/SbfYiUBB9eks4WvcZ2T9jMXd9WEr2PBjAqaprZ7Z9+qmPkT5W8AnMK8yJC4X5nOcDTidwopE9YiHJlnlEAB+3fiNqqHikIpx2bnNZAYFTDaZmazIJuYPnUMCPjW0fMA3FNjXb0iXs4L2KnACZFpyFHDT8GOawKXkH7ej+gqKvCn8p3cycB9PA=
1921
- secure: YuUwyKl4sl/TQFmj1NW7RNC4qk0mzo1ihXKVU3AukYb3UFQ2JaEz6xuv6V9idLPggJjXVPqqVfi1pzirL1JR6EeeYOGCzq1Qu8shYJptr39+SxLXAUz3iqyktroPpQJLFjUYHBoflkulKRK5HkIghJ5o8FGk+8WzyxTivL4As7Ks7793Y2UIrqlzuaSFIdsrnYbEcDZmWnBQ1fS19Nat23tGGrHD0MlaHgGv4uQHWz/yaj04l8ishdRb3XqQADf7JbJ/DzKYUN77xOOebV/mfJuvHQt4tRu9t7gtmwfNzar4m928mLIYXDDTsJPZfpp83gUGdhjDwx1bQ9gE9rG7JSp+zEOK0FvvOYcEQrwiuHWLvHbUX0riJsO0uxRcsQ5E6btm9VdmuT10mXaIz2ljgDYL2fbeM63Vl3C/jGv+ivh6bcaDlTQMMj5JDs8iqIwtTo6uiEd1r7ez0gccj1WODhrxMx0wr/c3FF3D9VZlJBNTa6Cxk3xXHhb8C89QAUnI6IvaweHEeesInB43w0ciRhwA7BUd/x0+/poBZoXhePwBM6r+VJBWR4vu9wgzkl11O98znvOlKGvl8Mx4JgYwmcS7wEfGRuwOYj+WAYzcWGcSXRE3RE3Ls8ojDiA76TvvdtzDsR2DFJmOkmTo0G5iRsGNjhgShXUWe+d1IL0fWDA=
2022
- secure: N4sCMFTnQnOWRH3+7TtivIYZegTpkiLX5dOuJNwv28/hfL65mmrR6yEfPWO939wymuMNtfafRuVpNMyHTXnrKrBRoUrjtXyIyRdUCCejFrem2NT6KZAdOmRIPZ3KyP2IUOwSgSeZqrEFjmYWOmV2cPiY8hD/41cw2BTTeGUBHHa90ORTPPHeEztD/9aZbahAbZZ4Y9Y125EArW0gAVXkInOS482jlq5nAzZ5kjtAEfcsOHlbr7PMGKy6mceU6eVq+pCzme6B4W1BB21p/bdeH1gE34AY49WrBsAvfSu0UG2dd5nLpFIYq1j2p8K+QxRF49KbqOptmnlHm/TQPCCQALjlsaGZqEoarIY3HbT6aQJpl620vUuUKNcvuxogFE3rj1N09yRdmuJJkODk0rLV+FSfKRrGuNPuwfJ9OVM+uKIL86kqvr6vuQ8in1jDMlHiq4pp0xnuaVWaXn/qjWKrVdtRdaB3Eehleha3cBJ5aHgcW5tvt3uMwGr7ULhhLKRFqo+Kx6y7PgPBQLViRrcn4wKG3MRGyOIeuxeXFKYMLdD1ffDlKznkC94Tby+ZMbG6KONJaOryewUNO/eEsQveq3ZHA4B8rnPbnpPzYmXeiNHkGBgahXoKoGze1waRXHJw1IYt3NG31zjjET+kc/0XdrWxFRxnjudpEcjWWwtXj/o=
21-
#deploy:
22-
# provider: releases
23-
# api_key:
24-
# secure: aiqqiUxuF4Sw7heg3DkflU6XDZ9iTvf8CTRvo7/UNJRREfh57umUXsay1BIapMAQsb29ZHAnDD4B2G/6YP1ODHhJR2l+P/w42oMWoPdmZY+cC34/JbIv5snA9eUjCtqvrRMpwlW+W52ZD8eCMGe05eMsodG3QZB4pdCE6blaOLHswq/bgpm9fb3E1XxEFHi2GHaygJvfJb1qvMB70NvD+I5mlbGoHuLsyqoTg7wQMc73dh9q9hSmsS8RIic8oY7mW6usxWJXA9P576F+ZwjTe34xMnqGfLaeoxP/WLXU/zzdPIvt+0hlCkgPBH1TJbGsGrwO0cJ3GG+cs/wf2sZd4x8VTzrihnVHejsdUTWtzJjRS+KRB5Bb/c7tpMm3nZ94N/n/U4sZNHPGL2nGq2RmWCloP4v2iMEYGAD7WXIHwYINI10skoB8N6RX0SIr09IStFu098vASHWrVIAjV2d64ZqgtOnQz+B6nCBHO6s5sNy4tetF3EQsDGF3b+1NugQFNXW+6lacDMutHuQBXoSDa9FT8v7w8nkUC32RXq4G0HRny2SxSAGzPjsRk8y0ZrXNKW6myGMnBVe8Tey4rja0gXndtXLSt9G24Vnfal9QdvGynmYSmb5tnEqXnn6DZnuAbuIFZzO8jtLrulmmPB02bItnOYhHa9m0nfIV7t0/wic=
25-
# file: SciView_Fiji.zip
26-
# on:
27-
# repo: scenerygraphics/sciview
23+
deploy:
24+
provider: releases
25+
api_key:
26+
secure: aiqqiUxuF4Sw7heg3DkflU6XDZ9iTvf8CTRvo7/UNJRREfh57umUXsay1BIapMAQsb29ZHAnDD4B2G/6YP1ODHhJR2l+P/w42oMWoPdmZY+cC34/JbIv5snA9eUjCtqvrRMpwlW+W52ZD8eCMGe05eMsodG3QZB4pdCE6blaOLHswq/bgpm9fb3E1XxEFHi2GHaygJvfJb1qvMB70NvD+I5mlbGoHuLsyqoTg7wQMc73dh9q9hSmsS8RIic8oY7mW6usxWJXA9P576F+ZwjTe34xMnqGfLaeoxP/WLXU/zzdPIvt+0hlCkgPBH1TJbGsGrwO0cJ3GG+cs/wf2sZd4x8VTzrihnVHejsdUTWtzJjRS+KRB5Bb/c7tpMm3nZ94N/n/U4sZNHPGL2nGq2RmWCloP4v2iMEYGAD7WXIHwYINI10skoB8N6RX0SIr09IStFu098vASHWrVIAjV2d64ZqgtOnQz+B6nCBHO6s5sNy4tetF3EQsDGF3b+1NugQFNXW+6lacDMutHuQBXoSDa9FT8v7w8nkUC32RXq4G0HRny2SxSAGzPjsRk8y0ZrXNKW6myGMnBVe8Tey4rja0gXndtXLSt9G24Vnfal9QdvGynmYSmb5tnEqXnn6DZnuAbuIFZzO8jtLrulmmPB02bItnOYhHa9m0nfIV7t0/wic=
27+
file: sciview-linux64
28+
on:
29+
repo: scenerygraphics/sciview
2830
# branches:
2931
# only:
3032
# - master

.travis/ci.py

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
release_properties_exists = os.path.exists('release.properties')
2727

28-
print('')
28+
print('travis ci.py')
2929
print('')
3030
print('')
3131
print('Repo: %s' % os.environ['TRAVIS_REPO_SLUG'])
@@ -34,12 +34,29 @@
3434
print('Is Pull Request?: %s' % is_PR)
3535
print('Commit: %s' % commit_message)
3636

37-
# Perform main build
38-
print('Starting build')
39-
subprocess.call(['curl', '-fsLO', 'https://raw.githubusercontent.com/scijava/scijava-scripts/master/travis-build.sh'])
40-
build_var1 = os.environ['encrypted_eb7aa63bf7ac_key']
41-
build_var2 = os.environ['encrypted_eb7aa63bf7ac_iv']
42-
subprocess.call(['sh', 'travis-build.sh', build_var1, build_var2])
37+
def package_conda():
38+
subprocess.call(['sh', 'populate_fiji.sh'])
39+
subprocess.call(['pyinstaller', '--onefile', '--add-data', 'Fiji.app/jars:jars', 'src/main/python/sciview.py'])
40+
41+
platform = subprocess.check_output(['uname', '-s']).decode('UTF-8')
42+
arch = subprocess.check_output(['uname', '-m']).decode('UTF-8')
43+
44+
print(['platform, arch', platform, arch])
45+
46+
if 'Linux' in platform and 'x86_64' in arch:
47+
exe_name = 'sciview-linux64'
48+
elif 'Linux' in platform:
49+
exe_name = 'sciview-linux32'
50+
elif 'Darwin' in platform:
51+
exe_name = 'sciview-macos'
52+
elif 'MING' in platform:
53+
exe_name = 'sciview-win32'
54+
elif 'MSYS_NT' in platform:
55+
exe_name = 'sciview-win32'
56+
57+
subprocess.call(['mv', 'dist/sciview', exe_name])
58+
59+
package_conda()
4360

4461
# Update sites
4562
print('')
@@ -54,6 +71,7 @@
5471

5572
if ( branch == 'master' and not is_PR and travis_secure ) or \
5673
( '[SV_IJ_DEPLOY_UNSTABLE]' in commit_message ):
74+
5775
print('Upload to SciView-Unstable')
5876
subprocess.call(['sh', 'sciview_deploy_unstable.sh'])
5977

.travis/pre_ci.py

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
2+
import os
3+
import subprocess
4+
5+
travis_secure = os.environ['TRAVIS_SECURE_ENV_VARS']
6+
PR = os.environ['TRAVIS_PULL_REQUEST']
7+
is_PR = ( PR != 'false' )
8+
9+
# If this is a PR we use the source branch name, and last commit message
10+
if is_PR:
11+
print('Fetching PR information')
12+
branch = os.environ['TRAVIS_PULL_REQUEST_BRANCH']
13+
14+
import requests
15+
import json
16+
r = requests.get('https://api.github.com/repos/scenerygraphics/sciview/pulls/%d/commits' % int(PR))
17+
18+
if r.ok:
19+
commits = json.loads(r.text or r.content)
20+
commit_message = commits[-1]['commit']['message']
21+
print('Commit message: %s' % commit_message)
22+
else:
23+
branch = os.environ['TRAVIS_BRANCH']
24+
commit_message = os.environ['TRAVIS_COMMIT_MESSAGE']
25+
26+
release_properties_exists = os.path.exists('release.properties')
27+
28+
print('travis pre_ci.py')
29+
print('')
30+
print('')
31+
print('Repo: %s' % os.environ['TRAVIS_REPO_SLUG'])
32+
print('Branch: %s' % branch)
33+
print('Release?: %s' % str(release_properties_exists))
34+
print('Is Pull Request?: %s' % is_PR)
35+
print('Commit: %s' % commit_message)
36+
37+
# Perform main build
38+
print('Starting build')
39+
# we now have our own version of travis-build.sh
40+
#subprocess.call(['curl', '-fsLO', 'https://raw.githubusercontent.com/scijava/scijava-scripts/master/travis-build.sh'])
41+
build_var1 = os.environ['encrypted_eb7aa63bf7ac_key']
42+
build_var2 = os.environ['encrypted_eb7aa63bf7ac_iv']
43+
subprocess.call(['bash', 'travis-build.sh', build_var1, build_var2])
44+
45+
# Setup conda environment
46+
# def build_conda():
47+
# from pathlib import Path
48+
# home = str(Path.home())
49+
50+
# print('------ BUILD CONDA -----')
51+
52+
# script_name = 'Miniconda3-latest-Linux-x86_64.sh'
53+
# miniconda_dir = '%s/miniconda' % home
54+
# subprocess.call(['curl', '-fsLO', 'https://repo.continuum.io/miniconda/%s' % script_name])
55+
# subprocess.call(['bash', script_name, '-b', '-p', miniconda_dir])
56+
# subprocess.call(['source', '%s/etc/profile.d/conda.sh' % miniconda_dir])
57+
# subprocess.call(['hash', '-r'])
58+
# subprocess.call(['conda', 'config', '--set', 'always_yes', 'yes', '--set', 'changeps1', 'no'])
59+
# subprocess.call(['conda', 'update', '-q', 'conda'])
60+
# # Useful for debugging any issues with conda
61+
# subprocess.call(['conda', 'info', '-a'])
62+
63+
# # Replace dep1 dep2 ... with your dependencies
64+
# subprocess.call(['conda', 'env', 'create', '-f', 'environment.yml'])
65+
# subprocess.call(['conda', 'activate', 'sciview'])
66+
# build_conda()

.travis/pre_ci.py~

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
2+
import os
3+
import subprocess
4+
5+
travis_secure = os.environ['TRAVIS_SECURE_ENV_VARS']
6+
PR = os.environ['TRAVIS_PULL_REQUEST']
7+
is_PR = ( PR != 'false' )
8+
9+
# If this is a PR we use the source branch name, and last commit message
10+
if is_PR:
11+
print('Fetching PR information')
12+
branch = os.environ['TRAVIS_PULL_REQUEST_BRANCH']
13+
14+
import requests
15+
import json
16+
r = requests.get('https://api.github.com/repos/scenerygraphics/sciview/pulls/%d/commits' % int(PR))
17+
18+
if r.ok:
19+
commits = json.loads(r.text or r.content)
20+
commit_message = commits[-1]['commit']['message']
21+
print('Commit message: %s' % commit_message)
22+
else:
23+
branch = os.environ['TRAVIS_BRANCH']
24+
commit_message = os.environ['TRAVIS_COMMIT_MESSAGE']
25+
26+
release_properties_exists = os.path.exists('release.properties')
27+
28+
print('')
29+
print('')
30+
print('')
31+
print('Repo: %s' % os.environ['TRAVIS_REPO_SLUG'])
32+
print('Branch: %s' % branch)
33+
print('Release?: %s' % str(release_properties_exists))
34+
print('Is Pull Request?: %s' % is_PR)
35+
print('Commit: %s' % commit_message)
36+
37+
# Perform main build
38+
print('Starting build')
39+
# we now have our own version of travis-build.sh
40+
#subprocess.call(['curl', '-fsLO', 'https://raw.githubusercontent.com/scijava/scijava-scripts/master/travis-build.sh'])
41+
build_var1 = os.environ['encrypted_eb7aa63bf7ac_key']
42+
build_var2 = os.environ['encrypted_eb7aa63bf7ac_iv']
43+
subprocess.call(['sh', 'travis-build.sh', build_var1, build_var2])
44+
45+
# Setup conda environment
46+
def build_conda():
47+
from pathlib import Path
48+
home = str(Path.home())
49+
50+
print('------ BUILD CONDA -----')
51+
52+
script_name = 'Miniconda3-latest-Linux-x86_64.sh'
53+
miniconda_dir = '%s/miniconda' % home
54+
subprocess.call(['curl', '-fsLO', 'https://repo.continuum.io/miniconda/%s' % script_name])
55+
subprocess.call(['bash', script_name, '-b', '-p', miniconda_dir])
56+
subprocess.call(['source', '%s/etc/profile.d/conda.sh' % miniconda_dir])
57+
subprocess.call(['hash', '-r'])
58+
subprocess.call(['conda', 'config', '--set', 'always_yes', 'yes', '--set', 'changeps1', 'no'])
59+
subprocess.call(['conda', 'update', '-q', 'conda'])
60+
# Useful for debugging any issues with conda
61+
subprocess.call(['conda', 'info', '-a'])
62+
63+
# Replace dep1 dep2 ... with your dependencies
64+
subprocess.call(['conda', 'env', 'create', '-f', 'environment.yml'])
65+
subprocess.call(['conda', 'activate', 'sciview'])
66+
build_conda()
67+
68+
def package_conda():
69+
subprocess.call(['sh', 'populate_fiji.sh'])
70+
subprocess.call(['pyinstaller', '--onefile', '--add-data', 'Fiji.app/jars:jars', 'src/main/python/sciview.py'])
71+
72+
platform = subprocess.check_output(['uname', '-s'])
73+
arch = subprocess.check_output(['uname', '-m'])
74+
75+
if platform == 'Linux' and arch == 'x86_64':
76+
exe_name = 'sciview-linux64'
77+
elif platform == 'Linux':
78+
exe_name = 'sciview-linux32'
79+
elif platform == 'Darwin':
80+
exe_name = 'sciview-macos'
81+
elif platform.startswith('MING'):
82+
exe_name = 'sciview-win32'
83+
elif platform.startswith('MSYS_NT'):
84+
exe_name = 'sciview-win32'
85+
86+
subprocess.call(['mv', 'dist/sciview', exe_name])
87+
package_conda()
88+
89+
# Update sites
90+
print('')
91+
print('')
92+
print('')
93+
print('Checking if upload to update site needed')
94+
95+
## Unstable
96+
## Commit message trigger requires one of these conditions:
97+
## - message begin with SV_IJ_DEPLOY_UNSTABLE
98+
## - push/merge to master
99+
100+
if ( branch == 'master' and not is_PR and travis_secure ) or \
101+
( '[SV_IJ_DEPLOY_UNSTABLE]' in commit_message ):
102+
103+
print('Upload to SciView-Unstable')
104+
subprocess.call(['sh', 'sciview_deploy_unstable.sh'])
105+
106+
## Primary
107+
## Commit message trigger requires one of these conditions:
108+
## - message begin with SV_IJ_DEPLOY_PRIMARY
109+
## - release
110+
111+
# TODO: check branch == <pom-release-version>
112+
if ( not is_PR and travis_secure and release_properties_exists ) or \
113+
( '[SV_IJ_DEPLOY_PRIMARY]' in commit_message ):
114+
print('Upload to SciView')
115+
subprocess.call(['sh', 'sciview_deploy.sh'])
116+

environment.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: sciview
2+
channels:
3+
- conda-forge
4+
- defaults
5+
dependencies:
6+
- python >=3.8
7+
# - pyyaml
8+
# - numpy
9+
# - Pillow
10+
# - pyimagej
11+
# - opencv
12+
# - matplotlib
13+
# - openjdk
14+
- maven
15+
- git
16+
- openjdk >=8.0.192,<8.1.0a0
17+
- pip
18+
- pip:
19+
- pathlib
20+
- requests
21+
- pyinstaller
22+
# - tensorflow
23+
# - keras

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.scijava</groupId>
77
<artifactId>pom-scijava</artifactId>
8-
<version>29.0.0-beta-3</version>
8+
<version>29.2.1</version>
99
<relativePath />
1010
</parent>
1111

populate_fiji.sh

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,23 @@ deleteNatives() {
3939
die "Delete failed"
4040
}
4141

42+
case "$(uname -s),$(uname -m)" in
43+
Linux,x86_64) launcher=ImageJ-linux64 ;;
44+
Linux,*) launcher=ImageJ-linux32 ;;
45+
Darwin,*) launcher=Contents/MacOS/ImageJ-macosx ;;
46+
MING*,*) launcher=ImageJ-win32.exe ;;
47+
MSYS_NT*,*) launcher=ImageJ-win32.exe ;;
48+
*) die "Unknown platform" ;;
49+
esac
50+
4251
# -- Check if we have a path given, in that case we do not download a new Fiji, but use the path given --
4352
if [ -z "$1" ]
4453
then
4554
echo "--> Installing into pristine Fiji installation"
4655
echo "--> If you want to install into a pre-existing Fiji installation, run as"
4756
echo " $0 path/to/Fiji.app"
4857
# -- Determine correct ImageJ launcher executable --
49-
50-
case "$(uname -s),$(uname -m)" in
51-
Linux,x86_64) launcher=ImageJ-linux64 ;;
52-
Linux,*) launcher=ImageJ-linux32 ;;
53-
Darwin,*) launcher=Contents/MacOS/ImageJ-macosx ;;
54-
MING*,*) launcher=ImageJ-win32.exe ;;
55-
MSYS_NT*,*) launcher=ImageJ-win32.exe ;;
56-
*) die "Unknown platform" ;;
57-
esac
58+
5859

5960
# -- Roll out a fresh Fiji --
6061

@@ -121,6 +122,7 @@ installWithGroupId "$ffmpegGAV:jar:macosx-x86_64" $FijiDirectory/jars/macosx
121122
wget "https://maven.scijava.org/service/local/repositories/releases/content/net/imagej/imagej-launcher/5.0.2/imagej-launcher-5.0.2-linux64.exe" -O $FijiDirectory/ImageJ-linux64 ||
122123
die "Could not get linux64 launcher"
123124
chmod +x $FijiDirectory/ImageJ-linux64
125+
mkdir -p $FijiDirectory/Contents/MacOS/
124126
wget "https://maven.scijava.org/service/local/repositories/releases/content/net/imagej/imagej-launcher/5.0.2/imagej-launcher-5.0.2-macosx.exe" -O $FijiDirectory/Contents/MacOS/ImageJ-macosx ||
125127
die "Could not get macOS launcher"
126128
chmod +x $FijiDirectory/Contents/MacOS/ImageJ-macosx
@@ -186,7 +188,8 @@ done
186188

187189
echo
188190
echo "--> Testing installation with command: sc.iview.commands.help.About"
189-
OUT_TEST=$(Fiji.app/$launcher --headless --run sc.iview.commands.help.About)
191+
EXE="$FijiDirectory//$launcher"
192+
OUT_TEST=$($EXE --headless --run sc.iview.commands.help.About)
190193
echo $OUT_TEST
191194

192195
if [ -z "$OUT_TEST" ]

src/main/python/sciview.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import subprocess
2+
import os
3+
import sys
4+
5+
# https://stackoverflow.com/questions/7674790/bundling-data-files-with-pyinstaller-onefile
6+
def resource_path(relative_path):
7+
""" Get absolute path to resource, works for dev and for PyInstaller """
8+
try:
9+
# PyInstaller creates a temp folder and stores path in _MEIPASS
10+
base_path = sys._MEIPASS
11+
except Exception:
12+
base_path = os.path.abspath(".")
13+
14+
return os.path.join(base_path, relative_path)
15+
16+
classpath = resource_path('./jars/*')
17+
classpath += ':%s' % resource_path( './jars/bio-formats/*' )
18+
classpath += ':%s' % resource_path( './jars/linux32/*' )
19+
classpath += ':%s' % resource_path( './jars/linux64/*' )
20+
classpath += ':%s' % resource_path( './jars/macosx/*' )
21+
classpath += ':%s' % resource_path( './jars/win32/*' )
22+
classpath += ':%s' % resource_path( './jars/win64/*' )
23+
24+
subprocess.call(['java', '-cp', classpath, 'sc.iview.Main'])

0 commit comments

Comments
 (0)