Update init to produce package.lean
This commit is contained in:
parent
d066872549
commit
99d458c646
7 changed files with 20 additions and 19 deletions
|
|
@ -62,7 +62,7 @@ This command creates a new Lean package with the given name in the current
|
|||
directory."
|
||||
|
||||
def getRootPkg : IO Package := do
|
||||
let cfg ← PackageConfig.fromLeanFile leanConfigFile
|
||||
let cfg ← PackageConfig.fromLeanFile leanPkgFile
|
||||
if cfg.leanVersion ≠ leanVersionString then
|
||||
IO.eprintln $ "\nWARNING: Lean version mismatch: installed version is " ++
|
||||
leanVersionString ++ ", but package requires " ++ cfg.leanVersion ++ "\n"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Authors: Gabriel Ebner, Sebastian Ullrich, Mac Malone
|
|||
-/
|
||||
import Leanpkg2.Git
|
||||
import Leanpkg2.Proc
|
||||
import Leanpkg2.TomlConfig
|
||||
import Leanpkg2.LeanConfig
|
||||
|
||||
namespace Leanpkg2
|
||||
|
||||
|
|
@ -18,16 +18,19 @@ def mainFileContents :=
|
|||
IO.println \"Hello, world!\"
|
||||
"
|
||||
|
||||
def leanpkgFileContents (pkgName : String) :=
|
||||
s!"[package]
|
||||
name = \"{pkgName}\"
|
||||
version = \"0.1\"
|
||||
lean_version = \"{leanVersionString}\"
|
||||
def leanPkgFileContents (pkgName : String) :=
|
||||
s!"import Leanpkg2.Package
|
||||
|
||||
def package : Leanpkg2.PackageConfig := \{
|
||||
name := \"{pkgName}\"
|
||||
version := \"0.1\"
|
||||
leanVersion := \"{leanVersionString}\"
|
||||
}
|
||||
"
|
||||
|
||||
open Git in
|
||||
def initPkg (pkgName : String) (fromNew : Bool) : IO Unit := do
|
||||
IO.FS.writeFile leanpkgToml (leanpkgFileContents pkgName)
|
||||
def init (pkgName : String) : IO Unit := do
|
||||
IO.FS.writeFile leanPkgFile (leanPkgFileContents pkgName)
|
||||
IO.FS.writeFile ⟨s!"{pkgName.capitalize}.lean"⟩ mainFileContents
|
||||
let h ← IO.FS.Handle.mk ⟨".gitignore"⟩ IO.FS.Mode.append (bin := false)
|
||||
h.putStr initGitignoreContents
|
||||
|
|
@ -38,5 +41,3 @@ def initPkg (pkgName : String) (fromNew : Bool) : IO Unit := do
|
|||
checkoutBranch upstreamBranch
|
||||
) <|>
|
||||
IO.eprintln "WARNING: failed to initialize git repository"
|
||||
|
||||
def init (pkgName : String) := initPkg pkgName false
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ open Lean Elab System
|
|||
|
||||
namespace Leanpkg2
|
||||
|
||||
def leanConfigFile : FilePath := "package.lean"
|
||||
def leanPkgFile : FilePath := "package.lean"
|
||||
|
||||
namespace PackageConfig
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ def solveDepsCore (pkg : Package) : (maxDepth : Nat) → Solver Unit
|
|||
let newDeps ← pkg.dependencies.filterM (notYetAssigned ·.name)
|
||||
for dep in newDeps do
|
||||
let dir ← materialize pkg.dir dep
|
||||
let cfg ← PackageConfig.fromLeanFile <| dir / leanConfigFile
|
||||
let cfg ← PackageConfig.fromLeanFile <| dir / leanPkgFile
|
||||
modify (·.insert dep.name ⟨dir, cfg⟩)
|
||||
for dep in newDeps do
|
||||
let depPkg ← resolvedPackage dep.name
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import Leanpkg2.Package
|
||||
|
||||
def package : Leanpkg2.PackageConfig := {
|
||||
name := "hello",
|
||||
version := "1.0",
|
||||
name := "hello"
|
||||
version := "1.0"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import Leanpkg2.Package
|
||||
|
||||
def package : Leanpkg2.PackageConfig := {
|
||||
name := "a",
|
||||
version := "1.0",
|
||||
name := "a"
|
||||
version := "1.0"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ import Leanpkg2.Build
|
|||
open Leanpkg2 System
|
||||
|
||||
def package : PackageConfig := {
|
||||
name := "b",
|
||||
version := "1.0",
|
||||
name := "b"
|
||||
version := "1.0"
|
||||
dependencies := [
|
||||
{ name := "a", src := Source.path (FilePath.mk ".." / "a") }
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue