-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinstall_dev_deps.jl
61 lines (53 loc) · 2.07 KB
/
install_dev_deps.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using Pkg
"""
Install all required dependencies for AISH.jl in development mode.
The script clones repositories if needed and adds them as dev dependencies.
"""
function install_dev_deps()
Pkg.activate()
repos = [
("[email protected]:Sixzero/EasyRAGStore.jl.git", "EasyRAGStore.jl"),
("[email protected]:sixzero/LLMRateLimiters.jl.git", "LLMRateLimiters.jl"),
("[email protected]:SixZero/StreamCallbacksExt.jl.git", "StreamCallbacksExt.jl"),
("[email protected]:Sixzero/EasyContext.jl.git", "EasyContext.jl"),
("[email protected]:Cvikli/AISH.jl.git", "AISH.jl"),
]
# Create base directory based on OS
base_path = Sys.iswindows() ? "c:\\repo" : expanduser("~/repo")
mkpath(base_path)
# Update existing repos in parallel
existing_repos = filter(((_, name),) -> isdir(joinpath(base_path, name)), repos)
if !isempty(existing_repos)
@info "Updating existing repositories..."
asyncmap(existing_repos) do (_, name)
dir_path = joinpath(base_path, name)
cd(dir_path) do
println("Rebase now disabled")
# run(`git pull --rebase`)
end
@info "Updated $name"
end
end
# Clone missing repos
missing_repos = filter(((_, name),) -> !isdir(joinpath(base_path, name)), repos)
for (url, name) in missing_repos
dir_path = joinpath(base_path, name)
@info "Cloning $name..."
run(`git clone $url $dir_path`)
end
# Add all repos as dev dependencies
for (_, name) in repos
dir_path = joinpath(base_path, name)
@info "Adding $name in dev mode..."
Pkg.develop(path=dir_path)
end
# Add Revise for development
Pkg.add("Revise")
@info "All dependencies have been set up successfully!"
@info "Make sure you have one of the diff tools installed:"
@info "- meld a diff view available on all OS"
@info "- monaco-meld an AISH developed electron based diff view: https://github.com/Sixzero/monaco-meld)"
Pkg.resolve()
end
# Run installation
install_dev_deps()