Skip to content

Commit b61d78b

Browse files
committed
Enable set_options to supersede default jvm options
This commit enables a user to set the jvm options manually which will supersede the default options. This also supports adding additional options (which are appended to the jvm option string regardless if it is default or user defined).
1 parent a2546f8 commit b61d78b

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

scyjava/config/__init__.py

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
'get_options',
1818
'set_classpath',
1919
'add_classpath',
20-
'get_classpath',
21-
'expand_classpath')
20+
'get_classpath')
2221

2322
import logging
2423
import os
@@ -39,10 +38,15 @@
3938
_manage_deps = True
4039
_cache_dir = pathlib.Path.home() / '.jgo'
4140
_m2_repo = pathlib.Path.home() / '.m2' / 'repository'
42-
_options = ""
41+
_options = ''
42+
_add_options = ''
4343

4444

4545
def start_JVM(options=''):
46+
# set _options to the default options from pyimagej if none are specified
47+
global _options
48+
_options = options
49+
4650
# if jvm JVM is already running -- break
4751
if JVM_status() == True:
4852
_logger.debug('The JVM is already running.')
@@ -132,7 +136,17 @@ def start_JVM(options=''):
132136
jpype.addClassPath(os.path.join(workspace, '*'))
133137

134138
# Initialize JPype JVM
135-
jpype.startJVM(options)
139+
jvm_options = _options
140+
141+
# append any additional options
142+
if _add_options == '':
143+
pass
144+
else:
145+
jvm_options = jvm_options + ' ' + _add_options
146+
147+
# store options used for the jvm in _options -- user can check what was used
148+
_options = jvm_options
149+
jpype.startJVM(jvm_options)
136150

137151
return
138152

@@ -223,9 +237,13 @@ def get_classpath():
223237
return jpype.getClassPath()
224238

225239
def add_options(options):
226-
global _options
227-
_options = options
240+
global _add_options
241+
_add_options = options
228242

229243
def get_options():
230244
global _options
231245
return _options
246+
247+
def set_options(options):
248+
global _options
249+
_options = options

0 commit comments

Comments
 (0)