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 # 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 ## 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 # 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) [![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. 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. 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://www.stackage.org/haddock/lts-12.21/base-4.11.1.0/GHC-Stack.html#t:HasCallStack) constraint for all top-level functions. 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) Requirement: (8.6 <= on GHC)
@ -102,4 +103,4 @@ CallStack (from HasCallStack):
main, called at example/Main.hs:6:1 in main:Main main, called at example/Main.hs:6:1 in main:Main
``` ```
Great!!! Great!!!

View File

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