<property name="dist" value="dist" />
<property name="lib" value="lib" />
<property name="nativelib" value="native-lib" />
+
+ <!--Start: new cli properties-->
+ <property name="newcli-project" value="org.tizen.ncli.ide" />
+ <property name="newcli-lib" value="new-lib" />
+ <property name="newcli-jar" value="tizen-new-cli.jar" />
+ <property name="newcli-autocomplete" value="TizenAutoComplete" />
+ <property name="newcli-autocomplete-path" value="org/tizen/ncli/ide/autocomplete" />
+ <property name="newcli-autocomplete-jar" value="tizen-autocomplete.jar" />
+ <!--End: new cli properties-->
<target name="dist">
<delete dir="${build}" quiet="true" />
<jar basedir="${build}" destfile="${dist}/tizen-cli.jar">
</jar>
<delete dir="${build}" quiet="true" />
+
+ <!-- Start: new cli-->
+ <mkdir dir="${build}" />
+ <copy todir="${build}" >
+ <fileset dir="${newcli-project}/src" />
+ </copy>
+ <javac srcdir="${build}" encoding="utf-8" debug="true" verbose="false">
+ <classpath>
+ <dirset dir="${lib}" />
+ <fileset dir="${lib}" />
+ <fileset dir="${newcli-lib}"/>
+ </classpath>
+ </javac>
+ <!-- jar: new cli -->
+ <jar basedir="${build}" destfile="${dist}/${newcli-jar}" />
+ <!-- jar: new cli autocomplete -->
+ <manifest file="MANIFEST.MF">
+ <attribute name="Main-Class" value="${newcli-autocomplete-path}/${newcli-autocomplete}"/>
+ </manifest>
+ <jar basedir="${build}" manifest="MANIFEST.MF" includes="**/${newcli-autocomplete}.class" destfile="${dist}/${newcli-autocomplete-jar}">
+ </jar>
+ <delete dir="${build}" quiet="true"/>
+ <!-- End: new cli-->
</target>
</project>
-#Should be fix binary name and path before to test this.
-#1. move this file to /etc/bash_completion.d
-#2. execute ". /etc/bash_completion"
-#3. test after "tizen" command
_tizen()
{
- local cur prev args
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- args=""
+ local cur prev args path next
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ args=""
- for ((i=0; i < ${COMP_CWORD} ; i++))
- do
- args="${args} ${COMP_WORDS[i]}"
- done
-
- next=$(java -cp /home/hyunsik/workspace_pde_develop/test/bin TizenAutoComplete "${args}")
- COMPREPLY=($(compgen -W "${next}" -- ${cur}))
+ for ((i=0; i < ${COMP_CWORD} ; i++))
+ do
+ args="${args} ${COMP_WORDS[i]}"
+ done
+ next=$(java -jar SCRIPT "${args}")
+ COMPREPLY=($(compgen -W "${next}" -- ${cur}))
- return 0
-
+ return 0
+
}
complete -F _tizen tizen
+kill -SIGINT $$
PLATFORM=$TARGET_OS
TARGET=package/web-cli.package.$PLATFORM/data/tools/ide
NATIVE_TARGET=package/native-cli.package.$PLATFORM/data/tools/ide
-
LIB=$SRCDIR/lib
NATIVE_LIB=${SRCDIR}/native-lib
-
+#newcli
+NCLI_PROJECT_HOME="org.tizen.ncli.ide"
+NCLI_TARGET=package/new-cli.package.$PLATFORM/data/tools/ide
+NCLI_LIB=${SRCDIR}/new-lib
# clean
clean()
{
echo "$SRCDIR"
rm -rf dist lib package/web-cli.package.linux
rm -rf ${NATIVE_LIB} package/native-cli.package.${TARGET_OS}
+ rm -rf ${NCLI_LIB} package/new-cli.package.${TARGET_OS}
}
# build
esac
done
}
+
+newcli_build() {
+ mkdir -p ${NCLI_LIB}
+ mkdir -p ${NCLI_TARGET}/bin
+
+ SRC_LIST="
+ org.eclipse.cdt.core_*
+ "
+
+ for SRC in ${SRC_LIST}
+ do
+ TARGET=`find $ROOTDIR -name "${SRC}" | head -1`
+ cp ${TARGET} ${NCLI_LIB}
+ done
+
+ INCLUDING_LIB_SRC_LIST="
+ org.tizen.common_*
+ org.tizen.common.sign_*
+ org.tizen.nativecommon_*
+ org.tizen.nativecpp.misc_*
+ "
+ for SRC in ${INCLUDING_LIB_SRC_LIST}
+ do
+ TARGET=`find $ROOTDIR -name "${SRC}" | head -1`
+ case "${TARGET}" in
+ *.jar)
+ cp ${TARGET} ${NCLI_LIB}
+ jar -xvf ${TARGET} lib
+ ;;
+ *)
+ cp -rf ${TARGET} ${NCLI_LIB}
+ find -name '*.jar' -exec cp {} ${NCLI_LIB} \;
+ ;;
+ esac
+ done
+
+ cp $NCLI_PROJECT_HOME/lib/*.jar $LIB
+ mkdir -p $BUILD
+ cp -r $NCLI_PROJECT_HOME/src/* $BUILD
+}
build()
{
echo $LIB
mkdir -p $BUILD
cp -r $PROJECT_HOME/src/* $BUILD
-
# native-cli build
native_build
-
+ # newcli build
+ newcli_build
ant
}
}
+#ncli install
+newcli_install() {
+ mkdir -p $NCLI_TARGET/lib
+ cp -r $NCLI_LIB/* $NCLI_TARGET/lib || true
+ cp ${SRCDIR}/dist/tizen-new-cli.jar $NCLI_TARGET/lib || true
+
+
+ case ${TARGET_OS} in
+ ubuntu-32|ubuntu-64|macos-64)
+ cp -r $NCLI_PROJECT_HOME/tizen.sh $NCLI_TARGET/bin || true
+ cp ${SRCDIR}/dist/tizen-autocomplete.jar $NCLI_TARGET/bin || true
+ cp -r $NCLI_PROJECT_HOME/tizen-autocomplete $NCLI_TARGET/bin || true
+
+ ;;
+ windows-32|windows-64)
+ cp -r $NCLI_PROJECT_HOME/tizen.bat $NCLI_TARGET/bin || true
+ ;;
+ *)
+ echo "${TARGET_OS} is not support yet."
+ exit 1
+ ;;
+ esac
+
+dependency_jars="
+HashSign.jar
+commons-cli-*.jar
+log4j-*.jar
+slf4j-api-*.jar
+slf4j-log4j*.jar
+xmlsec-*.jar
+"
+ for i in ${dependency_jars}
+ do
+ cp -rf ${LIB}/${i} ${NCLI_TARGET}/lib
+ done
+}
+
install()
cp dist/*.jar $TARGET/lib || true
# native-cli install
native_install
+ # ncli install
+ newcli_install
}
[ "$1" = "clean" ] && clean
[ "$1" = "install" ] && install
echo "success"
+
--- /dev/null
+TIZEN_SDK_INSTALL_PATH=${INSTALLED_PATH}
+TOOLS_PATH=${TIZEN_SDK_INSTALL_PATH}/tools
+CLI_PATH=${TOOLS_PATH}/ide/bin
+AUTOCOMPLETE_SCRIPT=tizen
+AUTOCOMPLETE_SRC=tizen-autocomplete
+AUTOCOMPLETE_PATH=/etc/bash_completion.d
+AUTOCOMPLETE_JAR=${CLI_PATH}/${AUTOCOMPLETE_SRC}.jar
+AUTOCOMPLETE_SRC_SCRIPT=${CLI_PATH}/${AUTOCOMPLETE_SRC}
+
+sed -i "s:SCRIPT:\"${AUTOCOMPLETE_PATH}/${AUTOCOMPLETE_SCRIPT}\":g" ${AUTOCOMPLETE_SRC_SCRIPT}
+cat ${AUTOCOMPLETE_SRC_SCRIPT} ${AUTOCOMPLETE_JAR} > ${AUTOCOMPLETE_SCRIPT}
+rm ${AUTOCOMPLETE_JAR}
+rm ${AUTOCOMPLETE_SRC_SCRIPT}
+gksudo mv ${AUTOCOMPLETE_SCRIPT} ${AUTOCOMPLETE_PATH}
+
+
+exit 0
+
--- /dev/null
+TIZEN_SDK_INSTALL_PATH=${INSTALLED_PATH}
+TOOLS_PATH=${TIZEN_SDK_INSTALL_PATH}/tools
+CLI_PATH=${TOOLS_PATH}/ide/bin
+
+AUTOCOMPLETE_SCRIPT=tizen
+AUTOCOMPLETE_PATH=/etc/bash_completion.d
+
+rm ${CLI_PATH}/tizen.sh
+gksudo rm ${AUTOCOMPLETE_PATH}/${AUTOCOMPLETE_SCRIPT}
+complete -r _tizen tizen
+
+ exit 0;
+
Build-host-os: ubuntu-64
Build-dependency: nativecommon-eplugin [macos-64], base-ide-product [macos-64], common-eplugin [macos-64], nativecpp-ext-eplugin [macos-64]
Install-dependency: sdb [macos-64]
+Description: Tizen IDE Command Line Interface
+
+Package: new-cli
+OS: ubuntu-32
+Build-host-os: ubuntu-32
+Build-dependency: nativecommon-eplugin [ubuntu-32], base-ide-product [ubuntu-32], common-eplugin [ubuntu-32], nativecpp-ext-eplugin [ubuntu-32]
+Install-dependency: sdb [ubuntu-32]
+Description: New Tizen IDE Command Line Interface
+
+Package: new-cli
+OS: ubuntu-64
+Build-host-os: ubuntu-64
+Build-dependency: nativecommon-eplugin [ubuntu-64], base-ide-product [ubuntu-64], common-eplugin [ubuntu-64], nativecpp-ext-eplugin [ubuntu-64]
+Install-dependency: sdb [ubuntu-64]
+Description: New Tizen IDE Command Line Interface
+
+Package: new-cli
+OS: windows-32
+Build-host-os: ubuntu-32
+Build-dependency: nativecommon-eplugin [windows-32], base-ide-product [windows-32], common-eplugin [windows-32], nativecpp-ext-eplugin [windows-32]
+Install-dependency: sdb [windows-32]
+Description: New Tizen IDE Command Line Interface
+
+Package: new-cli
+OS: windows-64
+Build-host-os: ubuntu-64
+Build-dependency: nativecommon-eplugin [windows-64], base-ide-product [windows-64], common-eplugin [windows-64], nativecpp-ext-eplugin [windows-64]
+Install-dependency: sdb [windows-64]
+Description: New Tizen IDE Command Line Interface
+
+Package: new-cli
+OS: macos-64
+Build-host-os: ubuntu-64
+Build-dependency: nativecommon-eplugin [macos-64], base-ide-product [macos-64], common-eplugin [macos-64], nativecpp-ext-eplugin [macos-64]
+Install-dependency: sdb [macos-64]
+Description: New Tizen IDE Command Line Interface