Skip to content

Commit

Permalink
some more steps towards reexporting
Browse files Browse the repository at this point in the history
  • Loading branch information
mb706 committed Jun 7, 2024
1 parent ef3e445 commit 050b6a3
Showing 1 changed file with 28 additions and 10 deletions.
38 changes: 28 additions & 10 deletions R/zzz.R
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ paradox_context_available = FALSE
paradox_s3 = FALSE

# make these point to whatever bbotk happens to name its classes today

Optimizer = NULL
OptimInstanceSingleCrit = NULL
OptimInstanceMultiCrit = NULL

# the following actually becomes an active binding, so the mlr3tuning
# package does not get loaded prematurely.
## TunerFromOptimizer = NULL
Expand Down Expand Up @@ -74,19 +78,33 @@ reg_mlr3tuning = function(...) { # nocov start
if (!"set_id" %in% names(ps())) {
assign("paradox_s3", TRUE, envir = parent.env(environment()))
}
## backward compatibility with bbotk
replacing = c("Optimizer%s", "OptimInstance%sSingleCrit", "OptimInstance%sMultiCrit")
localnames = sprintf(replacing, "")
if (exists("OptimizerBatch", envir = asNamespace("bbotk"))) {
assign("Optimizer", get("OptimizerBatch", envir = asNamespace("bbotk")), envir = parent.env(environment()))
bbotknames = sprintf(replacing, "Batch")
} else {
assign("Optimizer", get("Optimizer", envir = asNamespace("bbotk")), envir = parent.env(environment()))
bbotknames = sprintf(replacing, "")
}
for (i in seq_along(replacing)) {
assign(localnames[[i]], get(bbotknames[[i]], envir = asNamespace("bbotk")), envir = parent.env(environment()))
}

replacing = c("TunerFromOptimizer%s", "TuningInstance%sSingleCrit", "TuningInstance%sMultiCrit")
localnames = sprintf(replacing, "")
newnames = sprintf(replacing, "Batch")
for (i in seq_along(replacing)) {
lname = localnames[[i]]
newname = newnames[[i]]
makeActiveBinding("TunerFromOptimizer", env = parent.env(environment()), fun = crate(function() {
if (!requireNamespace("mlr3tuning", quiet = TRUE)) return(NULL)
if (exists(newname, envir = asNamespace("mlr3tuning"))) {
get(newname, envir = asNamespace("mlr3tuning"))
} else {
get(lname, envir = asNamespace("mlr3tuning"))
}
}, lname, newname))
}
makeActiveBinding("TunerFromOptimizer", env = parent.env(environment()), fun = function() {
if (!requireNamespace("mlr3tuning", quiet = TRUE)) return(NULL)
if (exists("TunerBatchFromOptimizerBatch", envir = asNamespace("mlr3tuning"))) {
get("TunerBatchFromOptimizerBatch", envir = asNamespace("mlr3tuning"))
} else {
get("TunerFromOptimizer", envir = asNamespace("mlr3tuning"))
}
})

assign("lg", lgr::get_logger(pkgname), envir = parent.env(environment()))
setHook(packageEvent("bbotk", "onLoad"), reg_bbotk, action = "append")
Expand Down

0 comments on commit 050b6a3

Please sign in to comment.