Skip to content
This repository was archived by the owner on Oct 25, 2023. It is now read-only.

Commit b276fb8

Browse files
committed
chore: warnings on deprecated features
1 parent b90f018 commit b276fb8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

Diff for: Lake/Config/Load.lean

+9-1
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ def defaultConfigFile : FilePath := "lakefile.lean"
2020
/-- Evaluate a `package` declaration to its respective `PackageConfig`. -/
2121
unsafe def evalPackageDecl (env : Environment) (declName : Name)
2222
(dir : FilePath) (args : List String := []) (leanOpts := Options.empty)
23-
: IO PackageConfig := do
23+
: LogT IO PackageConfig := do
2424
let m := env.evalConstCheck IOPackager leanOpts ``IOPackager declName
2525
if let Except.ok ioPackager := m.run.run then
26+
logWarning "Support for IO in package declarations may be dropped. Raise an issue if you disagree."
2627
return ← ioPackager dir args
2728
let m := env.evalConstCheck Packager leanOpts ``Packager declName
2829
if let Except.ok packager := m.run.run then
30+
logWarning "Package parameters have been deprecated. Use __dir__ or __args__ instead."
2931
return packager dir args
3032
let m := env.evalConstCheck PackageConfig leanOpts ``PackageConfig declName
3133
if let Except.ok config := m.run.run then
@@ -94,6 +96,12 @@ unsafe def loadUnsafe (dir : FilePath) (args : List String := [])
9496
| [] => error s!"configuration file is missing a `package` declaration"
9597
| [pkgDeclName] =>
9698
let config ← evalPackageDecl env pkgDeclName dir args leanOpts
99+
unless config.dependencies.isEmpty do
100+
logWarning "Syntax for package dependencies has changed. Use the new require syntax."
101+
if config.defaultFacet = PackageFacet.bin then
102+
logWarning "The `bin` package facet has been deprecated in favor of `exe`."
103+
if config.defaultFacet = PackageFacet.oleans then
104+
logWarning "The `oleans` package facet has been deprecated in favor of `leanLib`."
97105
let config := {config with dependencies := depsExt.getState env ++ config.dependencies}
98106
let scripts ← scriptAttr.ext.getState env |>.foldM (init := {})
99107
fun m d => return m.insert d <| ← evalScriptDecl env d leanOpts

0 commit comments

Comments
 (0)