forked from kowainik/smuggler
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsmuggler2.cabal
155 lines (133 loc) · 4.08 KB
/
smuggler2.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
cabal-version: 3.0
name: smuggler2
version: 0.3.6.2
synopsis:
GHC Source Plugin that helps to minimise imports and generate explicit exports
description:
== Usage
Add @smuggler2@ to the build dependencies of your project.
.
Then add the following to ghc-options: @-fplugin=Smuggler2.Plugin@. See the
README <https://hackage.haskell.org/package/smuggler2> for more details
and options.
homepage: https://github.com/jrp2014/smuggler2
bug-reports: https://github.com/jrp2014/smuggler2/issues
license: MPL-2.0
license-file: LICENSE
author: jrp2014, Dmitrii Kovanikov, Veronika Romashkina
maintainer: jrp2014
copyright: 2020 jrp2014, Dmitrii Kovanikov, Veronika Romashkina
category: Development, Refactoring, Compiler Plugin
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
TODO.md
extra-source-files:
.hlint.yaml
Makefile
Setup.hs
test/tests/**/*.hs
test/tests/**/*.MinimiseImportsNoExportProcessingPreludeDataVersion-golden
test/tests/**/*.MinimiseImportsReplaceExports-golden
test/tests/**/*.NoImportProcessingAddExplicitExports-golden
test/tests/**/*.NoImportProcessingNoExportProcessing-golden
test/tests/**/*.NoImportProcessingReplaceExports-golden
test/tests/**/*.PreserveInstanceImportsNoExportProcessingPrelude-golden
weeder.dhall
-- wildcards are allowed only in the basename
--test/tests/*.*-golden
-- Plugins support on Windows versions of ghc before 8.10.3 is broken
-- ghc 8.6.5 produces different results from later versions because it
-- uses a different version of base
tested-with:
GHC ==8.6.5
|| ==8.8.3
|| ==8.10.1
|| ==8.10.2
|| ==8.10.3
|| ==8.10.4
flag debug
description: Enable debugging support
default: False
manual: True
flag threaded
description: Build with support for multithreaded execution
default: True
manual: True
source-repository head
type: git
location: https://github.com/jrp2014/smuggler2
common common-options
-- test these bounds
build-depends: base >=4.9 && <4.16
-- -O2 gives a nearly 10% speed improvement
ghc-options:
-O2 -Wall -Wextra -Wincomplete-uni-patterns
-Wincomplete-record-updates -Wcompat -Widentities
-Wredundant-constraints -fhide-source-paths -fobject-code
-Wnoncanonical-monad-instances -Wmissing-export-lists
-Wpartial-fields -Wmissing-export-lists
if impl(ghc >=8.8)
ghc-options: -Wmissing-deriving-strategies -fwrite-ide-info -hiedir=.hie
if impl(ghc >=8.10)
ghc-options: -Wunused-packages
-- -Wmissing-deriving-strategies
if flag(debug)
ghc-options: -ddump-minimal-imports
cpp-options: -DDEBUG
default-language: Haskell2010
-- Most of these are unnecessary
default-extensions:
FlexibleContexts
FlexibleInstances
InstanceSigs
LambdaCase
MonoLocalBinds
MultiParamTypeClasses
TupleSections
library
import: common-options
hs-source-dirs: src
exposed-modules:
Smuggler2.Anns
Smuggler2.Exports
Smuggler2.Imports
Smuggler2.Options
Smuggler2.Parser
Smuggler2.Plugin
other-modules: Paths_smuggler2
autogen-modules: Paths_smuggler2
build-depends:
, containers ^>=0.6
, directory ^>=1.3
, filepath ^>=1.4
, ghc >=8.6.5 && <8.11
, ghc-boot >=8.6.5 && <8.11
, ghc-exactprint ^>=0.6.4
, split ^>=0.2.3
, syb ^>=0.7.1
common executable-options
ghc-options: -rtsopts
if flag(debug)
ghc-options: -debug
if flag(threaded)
ghc-options: -threaded -with-rtsopts=-N
-- The golden results are for ghc 8.8 and later. ghc 8.6.5 produces different
-- results because it has a different version of base
test-suite smuggler2-test
import: common-options
import: executable-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Test.hs
build-depends:
, containers
, directory
, filepath
, ghc
, ghc-paths
, smuggler2
, tasty
, tasty-golden ^>=2.3.4
, typed-process