Idea Details

Add support for Linux and MacOS to the AM v9.3 client launcher

Last activity 15 days ago
Wolfgang Scherer's profile image
04-05-2019 03:21 PM

The Applications Manager v9.3 client launcher (RunClient.jar) currently only works on Windows machines. It makes assumptions like:

-using ";" for the classpath separator

-using JAVA_HOME/bin/javaw to kick off the client.  On Linux/MacOS there is no javaw (nor is it needed)

 

  While we can get around this by writing a wrapper shell script, it would be nice to have this functionality out-of-the-box.

 

It would also be neat to be able to override the settingDir  parameter  (defaults to $HOME/.AppWorx) so that we can bundle the user_keystore and user_keystore_config files along the client jars and .properties files in the same zip file.


Comments

29 days ago

Here's a script we put together to launch the client on Linux machines.  We called it runClient.sh and it goes in the same directory as the runClient.jar file and the properties files.

Don't really like this solution as I would rather have a RunClient.jar that can handle Linux/MacOS/Windows and then the script becomes "java -jar RunClient.jar"

----------------

#/bin/bash

#assumes this script is at the root of the client directory
AW_HOME=$( cd $(dirname "$0") && pwd )
echo "AW_HOME: $AW_HOME"

PROP_FILE="${AW_HOME}/client.properties"
echo "Properties file: $PROP_FILE"

 

function prop {
    #convert line endings to prevent problems with Windows CR-LF and Unix LF
    echo $(grep -i "^${1}" $PROP_FILE|tr -d '\15\32' |cut -d'=' -f2)
}


if [ ! -f "$PROP_FILE" ]; then
    echo "Could not locate the client properties file."
    exit 1
fi

 

#grab the value for JAVA_HOME
JAVA_HOME=$(prop java_home)
echo "Java Home: $JAVA_HOME"

 

#is debug enabled or not
DEBUG=$(prop debug)
echo "Client debug: \"$DEBUG\""

 

#any run options
RUN_OPTS=$(prop runOptions)
echo "Additional options: $RUN_OPTS"

 

#assemble the Classpath
CP=($AW_HOME:$AW_HOME/jars/*)
echo "Classpath: \"$CP\""

 

cd $AW_HOME

 

export PATH=${JAVA_HOME}/bin:$PATH
echo "PATH is: $PATH"

 

echo "Running: nohup java -cp \"$CP\" -Dappworx.debug=${DEBUG} -DAW_HOME=\"$AW_HOME\" $RUN_OPTS com.appworx.client.screen.main.AxMain"

 

nohup java -cp "$CP" -Dappworx.debug=$DEBUG -DAW_HOME=\"$AW_HOME\" $RUN_OPTS com.appworx.client.screen.main.AxMain >/dev/null 2>&1 &

----------------

05-15-2019 12:38 PM

Also, wscherer, can I also get a copy of your wrapper script?

 

Cesar

05-15-2019 12:08 PM

Both are great ideas. I heartily support both.

 

Also,wscherer, can I get a copy of your wrapper script?

 

Thanks,

Mike Lamar

05-07-2019 01:46 PM

wscherer, can you share your wrapper shell script?   TIA

04-25-2019 03:57 PM

I second the second idea. We need to be able to change the location for the keystores. We want to create a central package as well that contains all of our environments. We can't expect our users to jump through all the hoops CA has included on the launcher page.

04-05-2019 03:50 PM

I second this idea. It would be fantastic to have native support of the AM client on MacOS. Thanks for your consideration.

Tim