2013-03-02 30 views
27

Tôi thường có các thuộc tính tương tự trong nhiều khổ thơ của các tệp .cabal của tôi. Ví dụ.Loại bỏ sự lặp lại trong các tệp cabal

Library x 
    ... 
    ghc-options: 
     -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns 
     -fno-warn-name-shadowing 

Executable y 
    ... 
    ghc-options: 
     -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns 
     -fno-warn-name-shadowing 

Giữ cho chúng phù hợp là tẻ nhạt và dễ bị lỗi. Có cách nào tốt hơn?

Thậm chí phức tạp hơn là khi các trường tương tự nhau nhưng không chính xác giống nhau, ví dụ: khi tôi có một số tệp thực thi có các phụ thuộc xây dựng phổ biến nhưng các biến thể nhỏ.

+2

Tôi không nghĩ rằng hiện tại có giải pháp tốt. Hai tùy chọn để bỏ qua vấn đề này trong các phần là: (A) sử dụng nhiều trường "ghc-options' cho mỗi thành phần (có, có thể), do đó làm cho các tùy chọn được chia sẻ hoàn toàn giống nhau và các khác biệt dễ bảo trì hơn; và (B) tạo tệp cabal của bạn từ một số nguồn khác không chứa thông tin dư thừa. – kosmikus

Trả lời

1

Tôi đã viết một công cụ để giúp dễ dàng chỉ định các tệp Cabal trong Haskell, giúp giải quyết vấn đề này và một vài vấn đề khác.

https://hackage.haskell.org/package/cartel

Các vấn đề liên quan