@@ -39,10 +39,9 @@ main() {
39
39
esac
40
40
done
41
41
42
-
43
42
case " $1 " in
44
43
add)
45
- may_reset_bpm_vars " $is_global "
44
+ must_reset_bpm_vars " $is_global "
46
45
47
46
shift
48
47
do-add " $@ "
@@ -52,6 +51,8 @@ main() {
52
51
do-complete " $@ "
53
52
;;
54
53
echo)
54
+ may_reset_bpm_vars " $is_global "
55
+
55
56
shift
56
57
do-echo " $@ "
57
58
;;
@@ -60,37 +61,37 @@ main() {
60
61
do-init " $@ "
61
62
;;
62
63
link)
63
- may_reset_bpm_vars " $is_global "
64
+ must_reset_bpm_vars " $is_global "
64
65
65
66
shift
66
67
do-link " $@ "
67
68
;;
68
69
list)
69
- may_reset_bpm_vars " $is_global "
70
+ must_reset_bpm_vars " $is_global "
70
71
71
72
shift
72
73
do-list " $@ "
73
74
;;
74
75
outdated)
75
- may_reset_bpm_vars " $is_global "
76
+ must_reset_bpm_vars " $is_global "
76
77
77
78
shift
78
79
bpm-outdated " $@ "
79
80
;;
80
81
package-path)
81
- may_reset_bpm_vars " $is_global "
82
+ must_reset_bpm_vars " $is_global "
82
83
83
84
shift
84
85
bpm-package-path " $@ "
85
86
;;
86
87
remove)
87
- may_reset_bpm_vars " $is_global "
88
+ must_reset_bpm_vars " $is_global "
88
89
89
90
shift
90
91
do-remove " $@ "
91
92
;;
92
93
upgrade)
93
- may_reset_bpm_vars " $is_global "
94
+ must_reset_bpm_vars " $is_global "
94
95
95
96
shift
96
97
do-upgrade " $@ "
@@ -104,31 +105,35 @@ main() {
104
105
esac
105
106
}
106
107
107
- may_reset_bpm_vars () {
108
+ must_reset_bpm_vars () {
108
109
local is_global=" $1 "
109
110
110
- if [ " $is_global " = ' no' ]; then
111
- if ! project_root_directory=" $(
112
- while [[ ! -f " bpm.toml" && " $PWD " != / ]]; do
113
- cd ..
114
- done
111
+ local project_root_dir=
112
+ if ! project_root_dir=" $( util.get_project_root_dir) " ; then
113
+ die " No 'bpm.toml' file found. Please create one to install local packages or pass the '--global' option"
114
+ fi
115
115
116
- if [[ $PWD == / ]]; then
117
- die " No 'bpm.toml' file found. Please create one to install local packages or pass the '--global' option"
118
- fi
116
+ do_set_bpm_vars " $project_root_dir "
117
+ }
119
118
120
- printf " %s" " $PWD "
121
- ) " ; then
122
- exit 1
123
- fi
119
+ may_reset_bpm_vars () {
120
+ local is_global=" $1 "
124
121
125
- BPM_ROOT=" $project_root_directory "
126
- BPM_PREFIX=" $project_root_directory /bpm_packages"
127
- BPM_PACKAGES_PATH=" $BPM_PREFIX /packages"
128
- BPM_INSTALL_BIN=" $BPM_PREFIX /bin"
129
- BPM_INSTALL_MAN=" $BPM_PREFIX /man"
130
- BPM_INSTALL_COMPLETIONS=" $BPM_PREFIX /completions"
122
+ local project_root_dir=
123
+ if project_root_dir=" $( util.get_project_root_dir) " ; then
124
+ do_set_bpm_vars " $project_root_dir "
131
125
fi
132
126
}
133
127
128
+ do_set_bpm_vars () {
129
+ local project_root_dir=" $1 "
130
+
131
+ BPM_ROOT=" $project_root_dir "
132
+ BPM_PREFIX=" $project_root_dir /bpm_packages"
133
+ BPM_PACKAGES_PATH=" $BPM_PREFIX /packages"
134
+ BPM_INSTALL_BIN=" $BPM_PREFIX /bin"
135
+ BPM_INSTALL_MAN=" $BPM_PREFIX /man"
136
+ BPM_INSTALL_COMPLETIONS=" $BPM_PREFIX /completions"
137
+ }
138
+
134
139
main " $@ "
0 commit comments