@@ -11,6 +11,8 @@ if [ ! -d "${LXC_REPOSITORY_PATH}" ] && [ -d "${HOME}/dev/projects/liferay-lxc"
1111 LXC_REPOSITORY_PATH=" ${HOME} /dev/projects/liferay-lxc"
1212fi
1313
14+ PROJECT_DIRECTORY=" "
15+
1416#
1517# Helper function for fzf
1618#
@@ -249,16 +251,29 @@ _getProjectRoot() {
249251 return 1
250252}
251253
252- CWD_PROJECT_ROOT=" $( _getProjectRoot) "
254+ _getProjectDir () {
255+ local projectDir
256+ local projectLocator=" ${1} "
253257
254- #
255- # Check to see if the script is called from a Composer project
256- #
258+ projectDir=" $( _getProjectRoot " ${projectLocator} " ) "
259+ if [[ -d " ${projectDir} " ]]; then
260+ echo " ${projectDir} "
261+ return
262+ fi
257263
258- _checkCWDProject () {
259- if [[ ! -d " ${CWD_PROJECT_ROOT} " ]]; then
260- _errorExit " Not inside of a Liferay Environment Composer project"
264+ projectDir=" $( _getWorktreeDir " ${projectLocator} " ) "
265+ if [[ -d " ${projectDir} " ]]; then
266+ echo " ${projectDir} "
267+ return
268+ fi
269+
270+ projectDir=" $( _getRunningProjectDir " ${projectLocator} " ) "
271+ if [[ -d " ${projectDir} " ]]; then
272+ echo " ${projectDir} "
273+ return
261274 fi
275+
276+ return 1
262277}
263278
264279#
@@ -921,14 +936,44 @@ cmd_version() {
921936
922937_check_dependencies
923938
924- COMMAND=" ${1} "
939+ COMMAND=" "
940+ OPTION_PROJECT=" ${PWD} "
941+ REST_ARGS=()
942+
943+ while [[ $# -gt 0 ]]; do
944+ case " ${1} " in
945+ -p|--project)
946+ OPTION_PROJECT=" ${2} "
947+ [[ " ${2} " ]] || _errorExit " ${1} requires a value"
948+ shift
949+ shift
950+ ;;
951+ * )
952+ if [[ -z " ${COMMAND} " ]]; then
953+ COMMAND=" ${1} "
954+ else
955+ REST_ARGS+=(" ${1} " )
956+ fi
957+ shift
958+ ;;
959+ esac
960+ done
961+
962+ _checkProjectDirectory () {
963+ PROJECT_DIRECTORY=" $( _getProjectDir " ${OPTION_PROJECT} " ) "
964+
965+ test -d " ${PROJECT_DIRECTORY} " || _errorExit " Cannot get a valid project for ${OPTION_PROJECT} "
966+
967+ echo " Project directory: ${C_BOLD}${PROJECT_DIRECTORY}${C_RESET} " 1>&2
968+ }
969+
925970if [[ -z " ${COMMAND} " ]]; then
926971 _printHelpAndExit
927972fi
928973
929974PRIVATE_COMMAND=" _cmd_${COMMAND} "
930975if [[ $( type -t " ${PRIVATE_COMMAND} " ) == function ]]; then
931- " ${PRIVATE_COMMAND} " " ${@: 2 } "
976+ " ${PRIVATE_COMMAND} " " ${REST_ARGS[@] } "
932977 exit
933978fi
934979
@@ -946,4 +991,4 @@ if ! _verifyCommand "${COMMAND}"; then
946991 _printHelpAndExit
947992fi
948993
949- " cmd_${COMMAND} " " ${@: 2 } "
994+ " cmd_${COMMAND} " " ${REST_ARGS[@] } "
0 commit comments