From 2370681a42525930c0e728c7f8b6c0c6ab8aac1e Mon Sep 17 00:00:00 2001 From: Dmitry Zuikov Date: Sat, 28 Sep 2024 06:28:44 +0300 Subject: [PATCH] wip, hbs2-git-dashboard to toplevel to untie dependencies with hbs2-git --- flake.nix | 24 +- .../app}/GitDashBoard.hs | 0 .../HBS2/Git/Web/Assets.hs | 0 .../assets/css/custom.css | 0 .../assets/css/pico.min.css | 0 .../HBS2/Git/DashBoard/Fixme.hs | 0 .../HBS2/Git/DashBoard/Manifest.hs | 0 .../HBS2/Git/DashBoard/Prelude.hs | 0 .../HBS2/Git/DashBoard/State.hs | 0 .../HBS2/Git/DashBoard/State/Commits.hs | 0 .../HBS2/Git/DashBoard/State/Index.hs | 0 .../Git/DashBoard/State/Index/Channels.hs | 0 .../HBS2/Git/DashBoard/State/Index/Peer.hs | 0 .../HBS2/Git/DashBoard/Types.hs | 0 .../HBS2/Git/Web/Html/Root.hs | 0 hbs2-git-dashboard/hbs2-git-dashboard.cabal | 207 ++++++++++++++++++ hbs2-git/hbs2-git.cabal | 63 ------ 17 files changed, 220 insertions(+), 74 deletions(-) rename {hbs2-git/hbs2-git-dashboard => hbs2-git-dashboard/app}/GitDashBoard.hs (100%) rename {hbs2-git => hbs2-git-dashboard}/hbs2-git-dashboard-assets/HBS2/Git/Web/Assets.hs (100%) rename {hbs2-git => hbs2-git-dashboard}/hbs2-git-dashboard-assets/assets/css/custom.css (100%) rename {hbs2-git => hbs2-git-dashboard}/hbs2-git-dashboard-assets/assets/css/pico.min.css (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/Fixme.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/Manifest.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/Prelude.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/State.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/State/Commits.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/State/Index.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/State/Index/Channels.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/State/Index/Peer.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/DashBoard/Types.hs (100%) rename {hbs2-git/hbs2-git-dashboard/src => hbs2-git-dashboard/hbs2-git-dashboard-core}/HBS2/Git/Web/Html/Root.hs (100%) create mode 100644 hbs2-git-dashboard/hbs2-git-dashboard.cabal diff --git a/flake.nix b/flake.nix index df5dd018..f2255341 100644 --- a/flake.nix +++ b/flake.nix @@ -49,6 +49,7 @@ outputs = { self, nixpkgs, haskell-flake-utils, ... }@inputs: "hbs2-core" "hbs2-storage-simple" "hbs2-git" + "hbs2-git-dashboard" "hbs2-qblf" "hbs2-keyman" "hbs2-keyman-direct-lib" @@ -71,18 +72,19 @@ outputs = { self, nixpkgs, haskell-flake-utils, ... }@inputs: inherit packageNames; packageDirs = { - "hbs2" = "./hbs2"; - "hbs2-tests" = "./hbs2-tests"; - "hbs2-core" = "./hbs2-core"; - "hbs2-storage-simple" = "./hbs2-storage-simple"; - "hbs2-peer" = "./hbs2-peer"; - "hbs2-keyman" = "./hbs2-keyman/hbs2-keyman"; + "hbs2" = "./hbs2"; + "hbs2-tests" = "./hbs2-tests"; + "hbs2-core" = "./hbs2-core"; + "hbs2-storage-simple" = "./hbs2-storage-simple"; + "hbs2-peer" = "./hbs2-peer"; + "hbs2-keyman" = "./hbs2-keyman/hbs2-keyman"; "hbs2-keyman-direct-lib" = "./hbs2-keyman/hbs2-keyman-direct-lib"; - "hbs2-git" = "./hbs2-git"; - "hbs2-fixer" = "./hbs2-fixer"; - "hbs2-cli" = "./hbs2-cli"; - "hbs2-sync" = "./hbs2-sync"; - "fixme-new" = "./fixme-new"; + "hbs2-git" = "./hbs2-git"; + "hbs2-git-dashboard" = "./hbs2-git-dashboard"; + "hbs2-fixer" = "./hbs2-fixer"; + "hbs2-cli" = "./hbs2-cli"; + "hbs2-sync" = "./hbs2-sync"; + "fixme-new" = "./fixme-new"; }; hpPreOverrides = {pkgs, ...}: final: prev: ((with pkgs; { diff --git a/hbs2-git/hbs2-git-dashboard/GitDashBoard.hs b/hbs2-git-dashboard/app/GitDashBoard.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/GitDashBoard.hs rename to hbs2-git-dashboard/app/GitDashBoard.hs diff --git a/hbs2-git/hbs2-git-dashboard-assets/HBS2/Git/Web/Assets.hs b/hbs2-git-dashboard/hbs2-git-dashboard-assets/HBS2/Git/Web/Assets.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard-assets/HBS2/Git/Web/Assets.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-assets/HBS2/Git/Web/Assets.hs diff --git a/hbs2-git/hbs2-git-dashboard-assets/assets/css/custom.css b/hbs2-git-dashboard/hbs2-git-dashboard-assets/assets/css/custom.css similarity index 100% rename from hbs2-git/hbs2-git-dashboard-assets/assets/css/custom.css rename to hbs2-git-dashboard/hbs2-git-dashboard-assets/assets/css/custom.css diff --git a/hbs2-git/hbs2-git-dashboard-assets/assets/css/pico.min.css b/hbs2-git-dashboard/hbs2-git-dashboard-assets/assets/css/pico.min.css similarity index 100% rename from hbs2-git/hbs2-git-dashboard-assets/assets/css/pico.min.css rename to hbs2-git-dashboard/hbs2-git-dashboard-assets/assets/css/pico.min.css diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Fixme.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Fixme.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Fixme.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Fixme.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Manifest.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Manifest.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Manifest.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Manifest.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Prelude.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Prelude.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Prelude.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Prelude.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Commits.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Commits.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Commits.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Commits.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Index.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Index.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Index.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Index.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Index/Channels.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Index/Channels.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Index/Channels.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Index/Channels.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Index/Peer.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Index/Peer.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/State/Index/Peer.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/State/Index/Peer.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Types.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Types.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/DashBoard/Types.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/DashBoard/Types.hs diff --git a/hbs2-git/hbs2-git-dashboard/src/HBS2/Git/Web/Html/Root.hs b/hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/Web/Html/Root.hs similarity index 100% rename from hbs2-git/hbs2-git-dashboard/src/HBS2/Git/Web/Html/Root.hs rename to hbs2-git-dashboard/hbs2-git-dashboard-core/HBS2/Git/Web/Html/Root.hs diff --git a/hbs2-git-dashboard/hbs2-git-dashboard.cabal b/hbs2-git-dashboard/hbs2-git-dashboard.cabal new file mode 100644 index 00000000..430b6669 --- /dev/null +++ b/hbs2-git-dashboard/hbs2-git-dashboard.cabal @@ -0,0 +1,207 @@ +cabal-version: 3.0 +name: hbs2-git-dashboard +version: 0.24.1.2 +license: BSD-3-Clause +author: Dmitry Zuikov +category: System +build-type: Simple + +common shared-properties + ghc-options: + -Wall + -fno-warn-type-defaults + -fno-warn-unused-matches + -O2 + + default-language: GHC2021 + + default-extensions: + ApplicativeDo + , BangPatterns + , BlockArguments + , ConstraintKinds + , DataKinds + , DeriveDataTypeable + , DeriveGeneric + , DerivingStrategies + , DerivingVia + , ExtendedDefaultRules + , FlexibleContexts + , FlexibleInstances + , GADTs + , GeneralizedNewtypeDeriving + , ImportQualifiedPost + , LambdaCase + , MultiParamTypeClasses + , OverloadedStrings + , QuasiQuotes + , RecordWildCards + , ScopedTypeVariables + , StandaloneDeriving + , TupleSections + , TypeApplications + , TypeFamilies + + +library hbs2-git-dashboard-assets + import: shared-properties + + build-depends: + base + , bytestring + , interpolatedstring-perl6 + , file-embed + , lucid + , text + + exposed-modules: + HBS2.Git.Web.Assets + + hs-source-dirs: hbs2-git-dashboard-assets + + default-language: GHC2021 + + +library hbs2-git-dashboard-core + import: shared-properties + + build-depends: + , base + + , hbs2-git-dashboard-assets + , hbs2-core + , hbs2-peer + , hbs2-storage-simple + , hbs2-git + , hbs2-keyman-direct-lib + , db-pipe + , suckless-conf + + , aeson + , atomic-write + , attoparsec + , binary + , bytestring + , containers + , deriving-compat + , directory + , exceptions + , filepath + , filepattern + , generic-data + , generic-deriving + , http-types + , interpolatedstring-perl6 + , lucid + , lucid-htmx + , memory + , microlens-platform + , mtl + , network-uri + , optparse-applicative + , pandoc + , prettyprinter + , prettyprinter-ansi-terminal + , random + , safe + , scotty >= 0.21 + , serialise + , skylighting + , skylighting-core + , skylighting-lucid + , stm + , streaming + , temporary + , text + , time + , timeit + , transformers + , typed-process + , unix + , unliftio + , unliftio-core + , unordered-containers + , vector + , wai + , wai-extra + , wai-middleware-static + , wai-middleware-static-embedded + , zlib + + exposed-modules: + HBS2.Git.DashBoard.Prelude + HBS2.Git.DashBoard.Types + HBS2.Git.DashBoard.State + HBS2.Git.DashBoard.State.Commits + HBS2.Git.DashBoard.State.Index + HBS2.Git.DashBoard.State.Index.Channels + HBS2.Git.DashBoard.State.Index.Peer + HBS2.Git.DashBoard.Manifest + HBS2.Git.DashBoard.Fixme + HBS2.Git.Web.Html.Root + + hs-source-dirs: hbs2-git-dashboard-core + + default-language: GHC2021 + + +executable hbs2-git-dashboard + import: shared-properties + main-is: GitDashBoard.hs + + ghc-options: + -threaded + -rtsopts + -O2 + "-with-rtsopts=-N4 -A64m -AL256m -I0" + + other-modules: + + -- other-extensions: + build-depends: + base + + , hbs2-core + , hbs2-git + , hbs2-git-dashboard-assets + , hbs2-git-dashboard-core + , hbs2-peer + , suckless-conf + + , binary + , bytestring + , deriving-compat + , directory + , filepath + , generic-data + , generic-deriving + , http-types + , lucid + , lucid-htmx + , mtl + , network-uri + , optparse-applicative + , pandoc + , random + , scotty >= 0.21 + , skylighting + , skylighting-core + , skylighting-lucid + , stm + , temporary + , text + , transformers + , typed-process + , unordered-containers + , vector + , wai + , wai-extra + , wai-middleware-static + , wai-middleware-static-embedded + + hs-source-dirs: + app + + default-language: GHC2021 + + diff --git a/hbs2-git/hbs2-git.cabal b/hbs2-git/hbs2-git.cabal index 01271888..f954e81e 100644 --- a/hbs2-git/hbs2-git.cabal +++ b/hbs2-git/hbs2-git.cabal @@ -127,69 +127,6 @@ library hs-source-dirs: hbs2-git-client-lib -library hbs2-git-dashboard-assets - import: shared-properties - - build-depends: - base, file-embed, lucid, text - - exposed-modules: - HBS2.Git.Web.Assets - - hs-source-dirs: hbs2-git-dashboard-assets - - default-language: GHC2021 - - -executable hbs2-git-dashboard - import: shared-properties - main-is: GitDashBoard.hs - - other-modules: - HBS2.Git.DashBoard.Prelude - HBS2.Git.DashBoard.Types - HBS2.Git.DashBoard.State - HBS2.Git.DashBoard.State.Commits - HBS2.Git.DashBoard.State.Index - HBS2.Git.DashBoard.State.Index.Channels - HBS2.Git.DashBoard.State.Index.Peer - HBS2.Git.DashBoard.Manifest - HBS2.Git.DashBoard.Fixme - HBS2.Git.Web.Html.Root - - -- other-extensions: - build-depends: - base, hbs2-git-dashboard-assets, hbs2-peer, hbs2-git, suckless-conf - , fuzzy-parse - , binary - , generic-deriving - , generic-data - , deriving-compat - , vector - , optparse-applicative - , http-types - , file-embed - , network-uri - , wai - , wai-extra - , wai-middleware-static - , wai-middleware-static-embedded - , lucid - , lucid-htmx - , pandoc - , skylighting - , skylighting-core - , skylighting-lucid - , scotty >= 0.21 - , temporary - - hs-source-dirs: - hbs2-git-dashboard - hbs2-git-dashboard/src - - default-language: GHC2021 - - executable hbs2-git-subscribe import: shared-properties main-is: Main.hs