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

Commit c37362b

Browse files
committed
feat: none package facet to avoid warnings in scripts example
1 parent 71455c8 commit c37362b

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

Diff for: Lake/CLI/Build.lean

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def Package.defaultTarget (self : Package) : OpaqueTarget :=
1616
| .staticLib => self.staticLibTarget.withoutInfo
1717
| .sharedLib => self.sharedLibTarget.withoutInfo
1818
| .leanLib | .oleans => self.libTarget.withoutInfo
19+
| .none => Target.nil
1920

2021
def parsePackageSpec (ws : Workspace) (spec : String) : Except CliError Package :=
2122
if spec.isEmpty then

Diff for: Lake/Config/Load.lean

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ unsafe def loadUnsafe (dir : FilePath) (args : List String := [])
111111
let exes ← leanExeAttr.ext.getState env |>.foldM (init := {}) fun m d =>
112112
let eval := env.evalConstCheck LeanExeConfig leanOpts ``LeanExeConfig d
113113
return m.insert d <| ← IO.ofExcept eval.run.run
114-
if libs.isEmpty && exes.isEmpty then
114+
if libs.isEmpty && exes.isEmpty && !config.defaultFacet = .none then
115115
logWarning <| "Package targets are deprecated. " ++
116116
"Add a `lean_exe` and/or `lean_lib` default target to the package instead."
117117
let defaultTargets := defaultTargetAttr.ext.getState env |>.toArray

Diff for: Lake/Config/Package.lean

+9
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ inductive PackageFacet
5252
| /-- The package's shared library. -/ sharedLib
5353
| /-- The package's lean library (e.g. `olean` / `ilean` files). -/ leanLib
5454
| /-- The package's `.olean` files. **DEPRECATED:** Use `leanLib` instead. -/ oleans
55+
| /-- The package has no buildable component. -/ none
5556
deriving BEq, DecidableEq, Repr
5657
instance : Inhabited PackageFacet := ⟨PackageFacet.exe⟩
5758

@@ -221,6 +222,14 @@ structure PackageConfig extends WorkspaceConfig where
221222
-/
222223
moreLinkArgs : Array String := #[]
223224

225+
/--
226+
Marks the package as only containing scripts.
227+
228+
Used to turn off deprecation warnings about package facets in packages
229+
not intended to have any targets.
230+
-/
231+
scriptsOnly : Bool := false
232+
224233
deriving Inhabited
225234

226235
namespace PackageConfig

Diff for: examples/scripts/lakefile.lean

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import Lake
22
open Lake DSL
33

4-
package scripts
4+
package scripts where
5+
defaultFacet := .none
56

67
/--
78
Display a greeting

0 commit comments

Comments
 (0)