Hi Michal,
In Kepler trunk, if I run command like ./kepler.sh
-D"arg1"="value1", the workflow can get the new value. You can get its
value in the workflow by using property("arg1") in Expression actor. I
also tried ./kepler.sh -D"user.home"="$HOME/test-home", which also works
for me. Please try whether this way works for you.
Your patch looks good. Just it is not general. Users may also want
to pass other properties. Luckily, the current kepler trunk support any
property to be set after kepler.sh. At least in my tests.
Best wishes
Sincerely yours
Jianwu Wang, Ph.D.
[email protected]
http://users.sdsc.edu/~jianwu/
Assistant Project Scientist
Scientific Workflow Automation Technologies (SWAT) Laboratory
San Diego Supercomputer Center
University of California, San Diego
San Diego, CA, U.S.A.
On 5/25/12 1:21 AM, Michal Owsiak wrote:
Hello Matt,
I have prepared patch for the trunk version. File is attached to the
e-mail.
I have tested it with most recent Kepler version (trunk version from
SVN).
I hope you will find it useful and will incorporate it into main release.
To apply it, simply execute:
patch Run.java < Run.java.trunk.patch
inside
kepler/build-area/src/org/kepler/build
Regards
Michal
Michal,
This change looks fairly innocuous and seems to be a reasonable change.
Thanks. Please let us know how your testing against trunk goes, and
if it
goes well, it seems reasonable to commit it so that it can be part of
the
Kepler 2.4 release.
Matt
On Thu, May 24, 2012 at 3:25 AM, Michal Owsiak
<[email protected]>wrote:
Hello Kepler team,
it looks like Kepler has a bug in Run.java file.
In this description I refer to Kepler 2.2 - as I have patch for this
version.
At the moment it is not possible to spawn Kepler with custom HOME
location. This is due to bug in file:
./build-area/src/org/kepler/**build/Run.java
Inside this file new Java process is spawn. However, user.home
property is
not correctly passed to this sub-process. That means, even though user
executes Kepler following way:
java -D"user.home"="$USER_HOME/**kepler_local" -classpath
$KEPLER/build-area/lib/ant.**jar:$KEPLER/kepler.jar
org.kepler.build.runner.Kepler
these settings are not passed to new process and new Java process uses
original $HOME location instead of location specified by -Duser.home
- in
that case
-D"user.home"="$USER_HOME/**kepler_local"
To make it possible to run Kepler in custom HOME locations, one must
update Run.java with the patch attached to the e-mail.
As soon as I test this solution for trunk version I will post the
message
to the group with proper patch.
Why this bug exists:
Java Virtual Machine doesn't use $HOME environment variable to set
user.home. Instead it gets it from system directly. Each new Java
Virtual
Machine must be provided with user.home variable set in order to change
default settings.
Regards
Michal
--
Michal Owsiak<[email protected]>
Institute of Bioorganic Chemistry PAS
Poznan Supercomputing and Networking Center
Noskowskiego 12/14, 61-704 Poznan, POLAND
http://www.man.poznan.pl
_______________________________________________
Kepler-dev mailing list
[email protected]
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
_______________________________________________
Kepler-dev mailing list
[email protected]
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
_______________________________________________
Kepler-dev mailing list
[email protected]
http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev