/- Copyright (c) 2021 Sebastian Ullrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich, Mac Malone -/ import Lean.Data.Name import Lean.Elab.Import import Leanpkg2.Package import Leanpkg2.Proc open Lean System namespace Leanpkg2 structure BuildConfig where module : Name leanArgs : List String leanPath : String -- things like `leanpkg.toml` and olean roots of dependencies that should also trigger rebuilds moreDeps : List FilePath namespace BuildConfig def fromPackages (module : Name) (leanArgs : List String) (pkgs : List Package) : BuildConfig := { module, leanArgs, leanPath := SearchPath.toString <| pkgs.map (·.buildDir) moreDeps := pkgs.filter (·.dir.toString != ".") |>.map (·.buildRoot.withExtension "olean") }