@@ -20,12 +20,14 @@ def defaultConfigFile : FilePath := "lakefile.lean"
20
20
/-- Evaluate a `package` declaration to its respective `PackageConfig`. -/
21
21
unsafe def evalPackageDecl (env : Environment) (declName : Name)
22
22
(dir : FilePath) (args : List String := []) (leanOpts := Options.empty)
23
- : IO PackageConfig := do
23
+ : LogT IO PackageConfig := do
24
24
let m := env.evalConstCheck IOPackager leanOpts ``IOPackager declName
25
25
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."
26
27
return ← ioPackager dir args
27
28
let m := env.evalConstCheck Packager leanOpts ``Packager declName
28
29
if let Except.ok packager := m.run.run then
30
+ logWarning "Package parameters have been deprecated. Use __dir__ or __args__ instead."
29
31
return packager dir args
30
32
let m := env.evalConstCheck PackageConfig leanOpts ``PackageConfig declName
31
33
if let Except.ok config := m.run.run then
@@ -94,6 +96,12 @@ unsafe def loadUnsafe (dir : FilePath) (args : List String := [])
94
96
| [] => error s! "configuration file is missing a `package` declaration"
95
97
| [pkgDeclName] =>
96
98
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`."
97
105
let config := {config with dependencies := depsExt.getState env ++ config.dependencies}
98
106
let scripts ← scriptAttr.ext.getState env |>.foldM (init := {})
99
107
fun m d => return m.insert d <| ← evalScriptDecl env d leanOpts
0 commit comments