Skip to content

Commit

Permalink
Add a simple demo for gogo
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Nov 17, 2016
1 parent dbf7363 commit 99ded1b
Show file tree
Hide file tree
Showing 4 changed files with 186 additions and 1 deletion.
80 changes: 80 additions & 0 deletions demo/jline-gogo.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
@echo off

set DIRNAME=%~dp0%
set ROOTDIR=%DIRNAME%\..
set TARGETDIR=%ROOTDIR%\target

set JLINE_VERSION=3.0.2-SNAPSHOT
set JANSI_VERSION=1.14
set JNA_VERSION=4.2.2
set GOGO_RUNTIME_VERSION=1.0.0
set GOGO_JLINE_VERSION=1.0.0

rem initialization
if not exist %TARGETDIR%\jline-%JLINE_VERSION%.jar (
echo Build jline with maven before running the demo
goto END
)
if not exist %TARGETDIR%\lib (
mkdir %TARGETDIR%\lib
)

rem JLINE
set cp=%TARGETDIR%\jline-%JLINE_VERSION%.jar

rem JANSI
if not exist %TARGETDIR%\lib\jansi-%JANSI_VERSION%.jar (
echo "Downloading Jansi..."
%DIRNAME%\wget.exe -O %TARGETDIR%\lib\jansi-%JANSI_VERSION%.jar http://repo1.maven.org/maven2/org/fusesource/jansi/jansi/%JANSI_VERSION%/jansi-%JANSI_VERSION%.jar
)

rem JNA
if not exist %TARGETDIR%\lib\jna-%JNA_VERSION%.jar (
echo "Downloading JNA..."
%DIRNAME%\wget.exe -O %TARGETDIR%\lib\jna-%JNA_VERSION%.jar http://repo1.maven.org/maven2/net/java/dev/jna/jna/%JNA_VERSION%/jna-%JNA_VERSION%.jar
)

rem Gogo Runtime
if not exist %TARGETDIR%\lib\org.apache.felix.gogo.runtime-%GOGO_RUNTIME_VERSION%.jar (
echo "Downloading Gogo Runtime..."
%DIRNAME%\wget.exe -O %TARGETDIR%\lib\org.apache.felix.gogo.runtime-%GOGO_RUNTIME_VERSION%.jar http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.gogo.runtime/%GOGO_RUNTIME_VERSION%/org.apache.felix.gogo.runtime-%GOGO_RUNTIME_VERSION%.jar
)
set cp=%cp%;%TARGETDIR%\lib\org.apache.felix.gogo.runtime-%GOGO_RUNTIME_VERSION%.jar

rem Gogo JLine
if not exist %TARGETDIR%\lib\org.apache.felix.gogo.jline-%GOGO_JLINE_VERSION%.jar (
echo "Downloading Gogo JLine..."
%DIRNAME%\wget.exe -O %TARGETDIR%\lib\org.apache.felix.gogo.jline-%GOGO_JLINE_VERSION%.jar http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.gogo.jline/%GOGO_JLINE_VERSION%/org.apache.felix.gogo.jline-%GOGO_JLINE_VERSION%.jar
)
set cp=%cp%;%TARGETDIR%\lib\org.apache.felix.gogo.jline-%GOGO_JLINE_VERSION%.jar


set opts=
:RUN_LOOP
if "%1" == "jansi" goto :EXECUTE_JANSI
if "%1" == "jna" goto :EXECUTE_JNA
if "%1" == "debug" goto :EXECUTE_DEBUG
goto :EXECUTE

:EXECUTE_JANSI
set cp=%cp%;%TARGETDIR%/lib/jansi-%JANSI_VERSION%.jar
shift
goto :RUN_LOOP

:EXECUTE_JNA
set cp=%cp%;%TARGETDIR%/lib/jna-%JNA_VERSION%.jar
shift
goto :RUN_LOOP

:EXECUTE_DEBUG
set opts=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
shift
goto :RUN_LOOP

:EXECUTE
rem Launch gogo shell
echo "Classpath: %cp%"
echo "Launching Gogo JLine..."
java -cp %cp% %opts% org.apache.felix.gogo.jline.Main

:END
104 changes: 104 additions & 0 deletions demo/jline-gogo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#!/bin/sh

realpath() {
OURPWD=${PWD}
cd "$(dirname "${1}")"
LINK=$(readlink "$(basename "${1}")")
while [ "${LINK}" ]; do
cd "$(dirname "${LINK}")"
LINK=$(readlink "$(basename "${1}")")
done
REALPATH="${PWD}/$(basename "${1}")"
cd "${OURPWD}"
echo "${REALPATH}"
}

REALNAME=$(realpath "$0")
DIRNAME=$(dirname "${REALNAME}")
PROGNAME=$(basename "${REALNAME}")
ROOTDIR=${DIRNAME}/..
TARGETDIR=${ROOTDIR}/target

if [ ! -e ${TARGETDIR} ] ; then
echo "Build jline with maven before running the demo"
exit
fi;
if [ ! -e ${TARGETDIR}/lib ] ; then
mkdir ${TARGETDIR}/lib
fi;

JLINE_VERSION=$(ls ${TARGETDIR}/jline-*-SNAPSHOT.jar | sed -e 's#.*/jline-## ; s#SNAPSHOT.*#SNAPSHOT#')
JANSI_VERSION=$(cat ${ROOTDIR}/pom.xml| grep jansi.version\> | sed -e 's#^.*<jansi.version>## ; s#</jansi.*##')
JNA_VERSION=$(cat ${ROOTDIR}/pom.xml| grep jna.version\> | sed -e 's#^.*<jna.version>## ; s#</jna.*##')
GOGO_RUNTIME_VERSION=1.0.0
GOGO_JLINE_VERSION=1.0.0

# JLINE
cp=${TARGETDIR}/jline-${JLINE_VERSION}.jar

# JANSI
if [ ! -f ${TARGETDIR}/lib/jansi-${JANSI_VERSION}.jar ] ; then
echo "Downloading Jansi..."
wget -O ${TARGETDIR}/lib/jansi-${JANSI_VERSION}.jar http://repo1.maven.org/maven2/org/fusesource/jansi/jansi/${JANSI_VERSION}/jansi-${JANSI_VERSION}.jar
fi
cp=$cp:${TARGETDIR}/lib/jansi-${JANSI_VERSION}.jar

# Gogo Runtime
if [ ! -f ${TARGETDIR}/lib/org.apache.felix.gogo.runtime-${GOGO_RUNTIME_VERSION}.jar ] ; then
echo "Downloading Gogo Runtime..."
wget -O ${TARGETDIR}/lib/org.apache.felix.gogo.runtime-${GOGO_RUNTIME_VERSION}.jar http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.gogo.runtime/${GOGO_RUNTIME_VERSION}/org.apache.felix.gogo.runtime-${GOGO_RUNTIME_VERSION}.jar
fi
cp=$cp:${TARGETDIR}/lib/org.apache.felix.gogo.runtime-${GOGO_RUNTIME_VERSION}.jar

# Gogo JLine
if [ ! -f ${TARGETDIR}/lib/org.apache.felix.gogo.jline-${GOGO_JLINE_VERSION}.jar ] ; then
echo "Downloading Gogo JLine..."
wget -O ${TARGETDIR}/lib/org.apache.felix.gogo.jline-${GOGO_JLINE_VERSION}.jar http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.gogo.jline/${GOGO_JLINE_VERSION}/org.apache.felix.gogo.jline-${GOGO_JLINE_VERSION}.jar
fi
cp=$cp:${TARGETDIR}/lib/org.apache.felix.gogo.jline-${GOGO_JLINE_VERSION}.jar

# Jansi
if [ ! -f ${TARGETDIR}/lib/jansi-${JANSI_VERSION}.jar ] ; then
echo "Downloading Jansi..."
wget -O ${TARGETDIR}/lib/jansi-${JANSI_VERSION}.jar http://repo1.maven.org/maven2/org/fusesource/jansi/jansi/${JANSI_VERSION}/jansi-${JANSI_VERSION}.jar
fi

# JNA
if [ ! -f ${TARGETDIR}/lib/jna-${JNA_VERSION}.jar ] ; then
echo "Downloading JNA..."
wget -O ${TARGETDIR}/lib/jna-${JNA_VERSION}.jar http://repo1.maven.org/maven2/net/java/dev/jna/jna/${JNA_VERSION}/jna-${JNA_VERSION}.jar
fi

opts=""
while [ "${1}" != "" ]; do
case ${1} in
'debug')
opts="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
shift
;;
'jansi')
cp=$cp:${TARGETDIR}/lib/jansi-${JANSI_VERSION}.jar
shift
;;
'jna')
cp=$cp:${TARGETDIR}/lib/jna-${JNA_VERSION}.jar
shift
;;
esac
done

cygwin=false
case "$(uname)" in
CYGWIN*)
cygwin=true
;;
esac
if ${cygwin}; then
cp=$(cygpath --path --windows "${cp}")
fi

# Launch gogo shell
echo "Classpath: $cp"
echo "Launching Gogo JLine..."
set mouse=a
java -cp $cp $opts org.apache.felix.gogo.jline.Main
Binary file added demo/wget.exe
Binary file not shown.
3 changes: 2 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

<jna.version>4.2.2</jna.version>
<jansi.version>1.14</jansi.version>
<juniversalchardet.version>1.0.3</juniversalchardet.version>
</properties>
Expand All @@ -109,7 +110,7 @@
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.2.2</version>
<version>${jna.version}</version>
<optional>true</optional>
</dependency>

Expand Down

0 comments on commit 99ded1b

Please sign in to comment.