@@ -28,9 +28,11 @@ add_or_develop(pkg::Union{String, PackageSpec}; kwargs...) = add_or_develop([pkg
2828add_or_develop (pkgs:: Vector{String} ; kwargs... ) = add_or_develop ([check_package_name (pkg) for pkg in pkgs]; kwargs... )
2929add_or_develop (pkgs:: Vector{PackageSpec} ; kwargs... ) = add_or_develop (Context (), pkgs; kwargs... )
3030
31- function add_or_develop (ctx:: Context , pkgs:: Vector{PackageSpec} ; mode:: Symbol , devdir:: Union{String,Nothing} = nothing , kwargs... )
31+ function add_or_develop (ctx:: Context , pkgs:: Vector{PackageSpec} ; mode:: Symbol , devdir:: Bool = false , kwargs... )
3232 Context! (ctx; kwargs... )
3333
34+ devdir = devdir ? joinpath (dirname (ctx. env. project_file), " dev" ) : nothing
35+
3436 # All developed packages should go through handle_repos_develop so just give them an empty repo
3537 for pkg in pkgs
3638 mode == :develop && pkg. repo == nothing && (pkg. repo = Types. GitRepo ())
@@ -67,7 +69,12 @@ rm(pkg::Union{String, PackageSpec}; kwargs...) = rm([pkg]; kwargs...)
6769rm (pkgs:: Vector{String} ; kwargs... ) = rm ([PackageSpec (pkg) for pkg in pkgs]; kwargs... )
6870rm (pkgs:: Vector{PackageSpec} ; kwargs... ) = rm (Context (), pkgs; kwargs... )
6971
70- function rm (ctx:: Context , pkgs:: Vector{PackageSpec} ; kwargs... )
72+ function rm (ctx:: Context , pkgs:: Vector{PackageSpec} ; mode= PKGMODE_PROJECT, kwargs... )
73+ for pkg in pkgs
74+ # TODO only overwrite pkg.mode is default value ?
75+ pkg. mode = mode
76+ end
77+
7178 Context! (ctx; kwargs... )
7279 ctx. preview && preview_info ()
7380 project_deps_resolve! (ctx. env, pkgs)
@@ -144,6 +151,12 @@ up(pkgs::Vector{PackageSpec}; kwargs...) = up(Context(), pkgs; kwargs...)
144151
145152function up (ctx:: Context , pkgs:: Vector{PackageSpec} ;
146153 level:: UpgradeLevel = UPLEVEL_MAJOR, mode:: PackageMode = PKGMODE_PROJECT, do_update_registry= true , kwargs... )
154+ for pkg in pkgs
155+ # TODO only override if they are not already set
156+ pkg. mode = mode
157+ pkg. version = level
158+ end
159+
147160 Context! (ctx; kwargs... )
148161 ctx. preview && preview_info ()
149162 do_update_registry && update_registry (ctx)
0 commit comments