vget fixes
* refactor(tools): remove trailing spaces in vget.v * refactor(tools): fix mix tabs and spaces * fix(tools): vget should exit non-zero when call with invalid arguments * refactor(tools): extract vmodules directory create and chdir logic * feat(tools): add travis-ci check to vgetpull/2121/head
parent
4b03abdaff
commit
46ac22f3e5
|
@ -87,3 +87,10 @@ script:
|
||||||
git clone https://github.com/vlang/vid
|
git clone https://github.com/vlang/vid
|
||||||
cd vid && ../v -debug -o vid .
|
cd vid && ../v -debug -o vid .
|
||||||
fi
|
fi
|
||||||
|
- |
|
||||||
|
if [[ "${TRAVIS_OS_NAME}" != "windows" ]]; then
|
||||||
|
v install nedpals.args
|
||||||
|
# ensure nedpals.args is installed
|
||||||
|
[[ -d ~/.vmodules/nedpals/args]]
|
||||||
|
git remote -v | grep 'https://github.com/nedpals/v-args (fetch)'
|
||||||
|
fi
|
||||||
|
|
32
tools/vget.v
32
tools/vget.v
|
@ -18,19 +18,33 @@ struct Mod {
|
||||||
nr_downloads int
|
nr_downloads int
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn get_vmodules_dir_path() string {
|
||||||
if os.args.len <= 1 {
|
|
||||||
println('usage: vget module [module] [module] [...]')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
home := os.home_dir()
|
home := os.home_dir()
|
||||||
home_vmodules := '${home}.vmodules'
|
|
||||||
|
return '${home}.vmodules'
|
||||||
|
}
|
||||||
|
|
||||||
|
fn ensure_vmodules_dir_exist() {
|
||||||
|
home_vmodules := get_vmodules_dir_path()
|
||||||
|
|
||||||
if !os.dir_exists( home_vmodules ) {
|
if !os.dir_exists( home_vmodules ) {
|
||||||
println('Creating $home_vmodules/ ...')
|
println('Creating $home_vmodules/ ...')
|
||||||
os.mkdir(home_vmodules)
|
os.mkdir(home_vmodules)
|
||||||
}
|
}
|
||||||
os.chdir(home_vmodules)
|
}
|
||||||
|
|
||||||
|
fn change_to_vmodules_dir() {
|
||||||
|
os.chdir(get_vmodules_dir_path())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
if os.args.len <= 1 {
|
||||||
|
println('usage: vget module [module] [module] [...]')
|
||||||
|
exit(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
ensure_vmodules_dir_exist()
|
||||||
|
change_to_vmodules_dir()
|
||||||
|
|
||||||
mut errors := 0
|
mut errors := 0
|
||||||
names := os.args.slice(1, os.args.len)
|
names := os.args.slice(1, os.args.len)
|
||||||
|
@ -64,7 +78,7 @@ fn main() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
final_module_path := '$home_vmodules/' + mod.name.replace('.', '/')
|
final_module_path := get_vmodules_dir_path() + '/' + mod.name.replace('.', '/')
|
||||||
|
|
||||||
println('Installing module "$name" from $mod.url to $final_module_path ...')
|
println('Installing module "$name" from $mod.url to $final_module_path ...')
|
||||||
_ = os.exec('git clone --depth=1 $mod.url $final_module_path') or {
|
_ = os.exec('git clone --depth=1 $mod.url $final_module_path') or {
|
||||||
|
|
Loading…
Reference in New Issue