Есть ли способ автоматически обновить поле в зависимости от размера в .cabal-file? Например, если мы начнем со следующего .cabal
файла:cabal: как автоматически обновить поле, зависящее от сборки, в файле .cabal?
name: HUnit
version: 1.1.1
synopsis: A unit testing framework for Haskell
homepage: http://hunit.sourceforge.net/
category: Testing
author: Dean Herington
license: BSD3
license-file: LICENSE
cabal-version: >= 1.10
build-type: Simple
library
build-depends: base >= 2 && < 4
exposed-modules: Test.HUnit.Base, Test.HUnit.Lang,
Test.HUnit.Terminal, Test.HUnit.Text, Test.HUnit
default-extensions: CPP
Затем установите пакет:
cabal install warp
Теперь я должен добавить warp >=3.0 && <3.1
в build-depends
поле, чтобы сделать файл выглядеть это:
name: HUnit
version: 1.1.1
synopsis: A unit testing framework for Haskell
homepage: http://hunit.sourceforge.net/
category: Testing
author: Dean Herington
license: BSD3
license-file: LICENSE
cabal-version: >= 1.10
build-type: Simple
library
build-depends: base >= 2 && < 4, warp >=3.0 && <3.1
exposed-modules: Test.HUnit.Base, Test.HUnit.Lang,
Test.HUnit.Terminal, Test.HUnit.Text, Test.HUnit
default-extensions: CPP
Мой вопрос: как мы обновляем этот файл автоматически?
Emacs Haskell-режим делает это для меня, но я не знаю общего решения. –
@ReinHenrichs Я думаю, что код для упомянутой вами функции - это [haskell-mode в github, поиск defun haskell-cabal-section-add-build-dependency] (https://github.com/haskell/haskell- режим/блоб/7100354a16a0502ed1730d1dfd1e3b9776969041/Haskell-cabal.el). Интересно, сделали ли вкладчики кабалы что-то подобное. –
Автоматически? На основании чего? Неужели вы не хотите, чтобы ВСЕ ваши установленные пакеты в вашей сборке зависели? – Cubic