Merge pull request #4 from waddlaw/tweak3

Tweak3
This commit is contained in:
Shinya Yamaguchi 2020-01-18 13:31:56 +09:00 committed by GitHub
commit 0f358f0017
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 65 additions and 57 deletions

View File

@ -1,5 +1,11 @@
# Revision history for haskell-stack-trace-pugin
## 0.1.1.0 -- 2020-01-18
- Ergonomic improvements [#1](https://github.com/waddlaw/haskell-stack-trace-plugin/pull/1) (@khwarizmii)
- Add Integration test
- Add GitHub Action
## 0.1.0.0 -- 2018-12-07
* First version. Released on an unsuspecting world.
- First version. Released on an unsuspecting world.

View File

@ -1,11 +1,12 @@
# haskell-stack-trace-plugin
![](https://github.com/waddlaw/haskell-stack-trace-plugin/workflows/cabal/badge.svg)
[![Hackage](https://img.shields.io/hackage/v/haskell-stack-trace-plugin.svg)](https://hackage.haskell.org/package/haskell-stack-trace-plugin)
This plugin allow implicitly add `HasCallStack` class to every top-level function for all module. Hence, we can to get completely continuous call stack.
1. (implicitly) Import [GHC.Stack](https://www.stackage.org/haddock/lts-12.21/base-4.11.1.0/GHC-Stack.html) for all modules.
2. Add [HasCallStack](https://www.stackage.org/haddock/lts-12.21/base-4.11.1.0/GHC-Stack.html#t:HasCallStack) constraint for all top-level functions.
1. (implicitly) Import [GHC.Stack](https://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-Stack.html) for all modules.
2. Add [HasCallStack](https://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-Stack.html#t:HasCallStack) constraint for all top-level functions.
Requirement: (8.6 <= on GHC)
@ -102,4 +103,4 @@ CallStack (from HasCallStack):
main, called at example/Main.hs:6:1 in main:Main
```
Great!!!
Great!!!

View File

@ -1,77 +1,78 @@
name: haskell-stack-trace-plugin
version: 0.1.0.1
synopsis: haskell-stack-trace-plugin
description: This plugin allow implicitly add HasCallStack class to every top-level function for all module. Hence, we can to get completely continuous call stack.
homepage: https://github.com/waddlaw/haskell-stack-trace-plugin
bug-reports: https://github.com/waddlaw/haskell-stack-trace-plugin/issues
license: MIT
license-file: LICENSE
author: Shinya Yamaguchi
maintainer: ingronze@gmail.com
copyright: 2018-2020 Shinya Yamaguchi
category: Compiler Plugin, Development, Debug
build-type: Simple
extra-source-files: CHANGELOG.md, Readme.md
cabal-version: >=1.10
tested-with: GHC == 8.6.5
cabal-version: 2.4
name: haskell-stack-trace-plugin
version: 0.1.1.0
synopsis: haskell-stack-trace-plugin
description:
This plugin allow implicitly add HasCallStack class to every top-level function for all module. Hence, we can to get completely continuous call stack.
homepage: https://github.com/waddlaw/haskell-stack-trace-plugin
bug-reports:
https://github.com/waddlaw/haskell-stack-trace-plugin/issues
license: MIT
license-file: LICENSE
author: Shinya Yamaguchi
maintainer: ingronze@gmail.com
copyright: 2018-2020 Shinya Yamaguchi
category: Compiler Plugin, Development, Debug
build-type: Simple
extra-source-files:
CHANGELOG.md
Readme.md
tested-with: GHC ==8.6.5
source-repository head
type: git
location: git://github.com/waddlaw/haskell-stack-trace-plugin
flag dev
description: Turn on development settings.
manual: True
default: False
description: Turn on development settings.
manual: True
default: False
common common-opts
build-depends: base ^>=4.12
default-language: Haskell2010
library
hs-source-dirs: src
build-depends:
base >=4.12 && <4.13,
ghc>=8.6.2 && <8.6.6
exposed-modules:
StackTrace.Plugin
import: common-opts
hs-source-dirs: src
build-depends: ghc ^>=8.6
exposed-modules: StackTrace.Plugin
if flag(dev)
ghc-options: -Wall -Werror -Wcompat
-- -Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wnoncanonical-monad-instances
-Wnoncanonical-monadfail-instances
-Wno-missing-home-modules
ghc-options:
-Wall -Werror -Wcompat -Wincomplete-uni-patterns
-Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
-Wno-missing-home-modules
-- -Wincomplete-record-updates
else
ghc-options: -O2 -Wall
default-language: Haskell2010
ghc-options: -O2 -Wall
test-suite test
import: common-opts
main-is: Spec.hs
hs-source-dirs: test
type: exitcode-stdio-1.0
build-depends:
base >=4.12 && <4.13,
bytestring >= 0.10.8 && <0.11,
hspec >= 2.7 && <2.8,
typed-process >= 0.2.6 && <0.2.9
, bytestring ^>=0.10
, hspec ^>=2.7
, typed-process ^>=0.2.6
build-tool-depends:
hspec-discover:hspec-discover >= 2.7 && <2.8
other-modules: StackTrace.PluginSpec
build-tool-depends: hspec-discover:hspec-discover ^>=2.7
other-modules: StackTrace.PluginSpec
if flag(dev)
ghc-options: -Wall -Werror
else
ghc-options: -O2 -Wall
ghc-options: -Wall -Werror
default-language: Haskell2010
else
ghc-options: -O2 -Wall
executable example
main-is: Main.hs
import: common-opts
main-is: Main.hs
hs-source-dirs: example
default-language: Haskell2010
ghc-options:
-fplugin=StackTrace.Plugin
build-depends:
base >=4.12 && <4.13,
haskell-stack-trace-plugin
ghc-options: -fplugin=StackTrace.Plugin
build-depends: haskell-stack-trace-plugin