Merge pull request #56 from haskell-servant/ghc-8.6

Support GHC-8.6. Drop support for servant <0.14
This commit is contained in:
Oleg Grenrus 2018-10-17 10:22:31 +03:00 committed by GitHub
commit 129ad91ae5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 206 additions and 285 deletions

View File

@ -2,7 +2,7 @@
#
# runghc make_travis_yml_2.hs '--branch' 'master' '--output' '.travis.yml' '--config' 'cabal.project'
#
# For more information, see https://github.com/hvr/multi-ghc-travis
# For more information, see https://github.com/haskell-CI/haskell-ci
#
language: c
sudo: false
@ -32,21 +32,24 @@ before_cache:
matrix:
include:
- compiler: "ghc-8.4.3"
- compiler: "ghc-8.6.1"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.2,ghc-8.4.3], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.6.1], sources: [hvr-ghc]}}
- compiler: "ghc-8.4.4"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.4.4], sources: [hvr-ghc]}}
- compiler: "ghc-8.2.2"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.2,ghc-8.2.2], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.2.2], sources: [hvr-ghc]}}
- compiler: "ghc-8.0.2"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.2,ghc-8.0.2], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-8.0.2], sources: [hvr-ghc]}}
- compiler: "ghc-7.10.3"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.2,ghc-7.10.3], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.10.3], sources: [hvr-ghc]}}
- compiler: "ghc-7.8.4"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.2,ghc-7.8.4], sources: [hvr-ghc]}}
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-2.4,ghc-7.8.4], sources: [hvr-ghc]}}
before_install:
- HC=${CC}
@ -73,7 +76,7 @@ install:
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
- "printf 'packages: \"servant-swagger-ui\" \"servant-swagger-ui-core\" \"servant-swagger-ui-example\" \"servant-swagger-ui-jensoleg\" \"servant-swagger-ui-redoc\"\\n' > cabal.project"
- touch cabal.project.local
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | grep -vw -- servant-swagger-ui | grep -vw -- servant-swagger-ui-core | grep -vw -- servant-swagger-ui-example | grep -vw -- servant-swagger-ui-jensoleg | grep -vw -- servant-swagger-ui-redoc | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- cat cabal.project || true
- cat cabal.project.local || true
- if [ -f "servant-swagger-ui/configure.ac" ]; then
@ -101,17 +104,13 @@ install:
# any command which exits with a non-zero exit code causes the build to fail.
script:
# test that source-distributions can be generated
- (cd "servant-swagger-ui" && cabal sdist)
- (cd "servant-swagger-ui-core" && cabal sdist)
- (cd "servant-swagger-ui-example" && cabal sdist)
- (cd "servant-swagger-ui-jensoleg" && cabal sdist)
- (cd "servant-swagger-ui-redoc" && cabal sdist)
- mv "servant-swagger-ui"/dist/servant-swagger-ui-*.tar.gz "servant-swagger-ui-core"/dist/servant-swagger-ui-core-*.tar.gz "servant-swagger-ui-example"/dist/servant-swagger-ui-example-*.tar.gz "servant-swagger-ui-jensoleg"/dist/servant-swagger-ui-jensoleg-*.tar.gz "servant-swagger-ui-redoc"/dist/servant-swagger-ui-redoc-*.tar.gz ${DISTDIR}/
- cabal new-sdist all
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
- cd ${DISTDIR} || false
- find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
- "printf 'packages: servant-swagger-ui-*/*.cabal servant-swagger-ui-core-*/*.cabal servant-swagger-ui-example-*/*.cabal servant-swagger-ui-jensoleg-*/*.cabal servant-swagger-ui-redoc-*/*.cabal\\n' > cabal.project"
- touch cabal.project.local
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | grep -vw -- servant-swagger-ui | grep -vw -- servant-swagger-ui-core | grep -vw -- servant-swagger-ui-example | grep -vw -- servant-swagger-ui-jensoleg | grep -vw -- servant-swagger-ui-redoc | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
- cat cabal.project || true
- cat cabal.project.local || true
# this builds all libraries and executables (without tests/benchmarks)
@ -128,7 +127,6 @@ script:
- (cd servant-swagger-ui-redoc-* && cabal check)
# haddock
- rm -rf ./dist-newstyle
- if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
# Build without installed constraints for packages in global-db
@ -137,27 +135,6 @@ script:
# Constraint sets
- rm -rf cabal.project.local
# Constraint set servant-0.7
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80000 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.7.*' all; else echo skipping...; fi
# Constraint set servant-0.8
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80200 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.8.*' all; else echo skipping...; fi
# Constraint set servant-0.9
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80200 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.9.*' all; else echo skipping...; fi
# Constraint set servant-0.10
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80200 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.10.*' all; else echo skipping...; fi
# Constraint set servant-0.11
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80400 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.11.*' all; else echo skipping...; fi
# Constraint set servant-0.12
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80400 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.12.*' all; else echo skipping...; fi
# Constraint set servant-0.13
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80600 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.13.*' all; else echo skipping...; fi
# Constraint set servant-0.14
- if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80600 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.14.*' all; else echo skipping...; fi

View File

@ -1,31 +1,3 @@
constraint-set servant-0.7
ghc: >= 7.8 && <8.0
constraints: servant ==0.7.*
constraint-set servant-0.8
ghc: >= 7.8 && <8.2
constraints: servant ==0.8.*
constraint-set servant-0.9
ghc: >= 7.8 && <8.2
constraints: servant ==0.9.*
constraint-set servant-0.10
ghc: >= 7.8 && <8.2
constraints: servant ==0.10.*
constraint-set servant-0.11
ghc: >= 7.8 && <8.4
constraints: servant ==0.11.*
constraint-set servant-0.12
ghc: >= 7.8 && <8.4
constraints: servant ==0.12.*
constraint-set servant-0.13
ghc: >= 7.8 && <8.6
constraints: servant ==0.13.*
constraint-set servant-0.14
ghc: >= 7.8 && <8.6
constraints: servant ==0.14.*

View File

@ -1,7 +1,6 @@
cabal-version: 1.12
name: servant-swagger-ui-core
version: 0.3.1
x-revision: 1
version: 0.3.2
synopsis: Servant swagger ui core components
category: Web, Servant, Swagger
@ -18,7 +17,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
license: BSD3
license-file: LICENSE
build-type: Simple
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.1
extra-source-files:
Changelog.md
@ -26,36 +25,24 @@ source-repository head
type: git
location: https://github.com/haskell-servant/servant-swagger-ui
flag servant-0-5
description: Whether use servant >= 0.5
manual: False
default: True
library
hs-source-dirs:
src
ghc-options: -Wall
build-depends:
base >=4.7 && <4.12
, blaze-markup >=0.7.0.2 && <0.9
, bytestring >=0.10.4.0 && <0.11
, http-media >=0.6.2 && <0.8
, servant >=0.4.4.5 && <0.15
, servant-blaze >=0.4.4.5 && <0.9
, servant-server >=0.4.4.5 && <0.15
, swagger2 >=2.0.1 && <2.4
, text >=1.2.0.6 && <1.3
, wai-app-static >=3.0.1.1 && <3.2
if flag(servant-0-5)
build-depends:
servant >=0.5
, transformers >=0.3 && <0.6
, transformers-compat >=0.3 && <0.7
else
build-depends:
servant <0.5
, either
base >=4.7 && <4.13
, blaze-markup >=0.7.0.2 && <0.9
, bytestring >=0.10.4.0 && <0.11
, http-media >=0.7.1.3 && <0.8
, servant >=0.14 && <0.15
, servant-blaze >=0.8 && <0.9
, servant-server >=0.14 && <0.15
, swagger2 >=2.3.0.1 && <2.4
, text >=1.2.3.0 && <1.3
, transformers >=0.3 && <0.6
, transformers-compat >=0.3 && <0.7
, wai-app-static >=3.0.1.1 && <3.2
exposed-modules:
Servant.Swagger.UI.Core
default-language: Haskell2010

View File

@ -1,4 +1,3 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
@ -56,18 +55,6 @@ import Text.Blaze (ToMarkup (..))
import qualified Data.Text as T
#if MIN_VERSION_servant(0,7,0)
-- do nothing
#else
#if MIN_VERSION_servant(0,5,0)
import Control.Monad.Trans.Except (ExceptT)
type Handler = ExceptT ServantErr IO
#else
import Control.Monad.Trans.Either (EitherT)
type Handler = EitherT ServantErr IO
#endif
#endif
-- | Swagger schema + ui api.
--
-- @SwaggerSchemaUI "swagger-ui" "swagger.json"@ will result into following hierarchy:
@ -100,18 +87,7 @@ type SwaggerSchemaUI' (dir :: Symbol) (api :: *) =
-- to find schema file automatically.
data SwaggerUiHtml (dir :: Symbol) (api :: *) = SwaggerUiHtml T.Text
#if MIN_VERSION_servant(0,14,0)
#define LINK Link ~ MkLink api Link
#define LINKPATH uriPath . linkURI
#elif MIN_VERSION_servant(0,10,0)
#define LINK Link ~ MkLink api
#define LINKPATH uriPath . linkURI
#else
#define LINK URI ~ MkLink api
#define LINKPATH uriPath
#endif
instance (KnownSymbol dir, HasLink api, LINK, IsElem api api)
instance (KnownSymbol dir, HasLink api, Link ~ MkLink api Link, IsElem api api)
=> ToMarkup (SwaggerUiHtml dir api)
where
toMarkup (SwaggerUiHtml template) = preEscapedToMarkup
@ -119,7 +95,7 @@ instance (KnownSymbol dir, HasLink api, LINK, IsElem api api)
$ T.replace "SERVANT_SWAGGER_UI_DIR" dir
$ template
where
schema = T.pack $ LINKPATH $ safeLink proxyApi proxyApi
schema = T.pack $ uriPath . linkURI $ safeLink proxyApi proxyApi
dir = T.pack $ symbolVal (Proxy :: Proxy dir)
proxyApi = Proxy :: Proxy api
@ -132,8 +108,4 @@ swaggerSchemaUIServerImpl indexTemplate files swagger = return swagger
:<|> return (SwaggerUiHtml indexTemplate)
:<|> rest
where
rest =
#if MIN_VERSION_servant_server(0,11,0)
Tagged $
#endif
staticApp $ embeddedSettings files
rest = Tagged $ staticApp $ embeddedSettings files

View File

@ -14,7 +14,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
license: BSD3
license-file: LICENSE
build-type: Simple
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.1
source-repository head
type: git
@ -23,7 +23,7 @@ source-repository head
executable servant-swagger-ui-example
main-is: Main.hs
build-depends:
base >=4.7 && <4.12
base >=4.7 && <4.13
, servant
, servant-server
, servant-swagger

View File

@ -1,7 +1,6 @@
cabal-version: 1.12
name: servant-swagger-ui-jensoleg
version: 0.3
x-revision: 2
version: 0.3.2
synopsis: Servant swagger ui: Jens-Ole Graulund theme
category: Web, Servant, Swagger
@ -17,7 +16,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
license: BSD3
license-file: LICENSE
build-type: Simple
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.1
extra-source-files:
jensoleg.index.html.tmpl
@ -80,16 +79,16 @@ library
ghc-options: -Wall
build-depends:
servant-swagger-ui-core >=0.3 && <0.4
servant-swagger-ui-core >=0.3.2 && <0.4
build-depends:
base >=4.7 && <4.12
base >=4.7 && <4.13
, bytestring >=0.10.4.0 && <0.11
, file-embed-lzma >=0 && <0.1
, servant >=0.4.4.5 && <0.15
, servant-server >=0.4.4.5 && <0.15
, swagger2 >=2.0.1 && <2.4
, text >=1.2.0.6 && <1.3
, servant >=0.14 && <0.15
, servant-server >=0.14 && <0.15
, swagger2 >=2.3.0.1 && <2.4
, text >=1.2.3.0 && <1.3
exposed-modules:
Servant.Swagger.UI.JensOleG
default-language: Haskell2010

View File

@ -0,0 +1,4 @@
- 0.3.2.1.22.2
- Update to ReDoc-1.22.2
- Add GHC-8.6 support
- Drop `servant<0.14` support

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,6 @@
cabal-version: 1.12
name: servant-swagger-ui-redoc
version: 0.3.0.1.21.2
x-revision: 2
version: 0.3.2.1.22.2
synopsis: Servant swagger ui: ReDoc theme
category: Web, Servant, Swagger
@ -17,11 +16,12 @@ maintainer: haskell-servant-maintainers@googlegroups.com
license: BSD3
license-file: LICENSE
build-type: Simple
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.1
extra-source-files:
redoc-dist-1.21.2/redoc.min.js
redoc-dist-1.22.2/redoc.min.js
redoc.index.html.tmpl
CHANGELOG.md
source-repository head
type: git
@ -33,16 +33,16 @@ library
ghc-options: -Wall
build-depends:
servant-swagger-ui-core >=0.3 && <0.4
servant-swagger-ui-core >=0.3.2 && <0.4
build-depends:
base >=4.7 && <4.12
base >=4.7 && <4.13
, bytestring >=0.10.4.0 && <0.11
, file-embed-lzma >=0 && <0.1
, servant >=0.4.4.5 && <0.15
, servant-server >=0.4.4.5 && <0.15
, swagger2 >=2.0.1 && <2.4
, text >=1.2.0.6 && <1.3
, servant >=0.14 && <0.15
, servant-server >=0.14 && <0.15
, swagger2 >=2.3.0.1 && <2.4
, text >=1.2.3.0 && <1.3
exposed-modules:
Servant.Swagger.UI.ReDoc
default-language: Haskell2010

View File

@ -73,4 +73,4 @@ redocIndexTemplate :: Text
redocIndexTemplate = $(embedText "redoc.index.html.tmpl")
redocFiles :: [(FilePath, ByteString)]
redocFiles = $(embedRecursiveDir "redoc-dist-1.21.2")
redocFiles = $(embedRecursiveDir "redoc-dist-1.22.2")

View File

@ -1,3 +1,8 @@
- 0.3.2.3.19.3
- Update to `swagger-ui-3.19.3`
- Add GHC-8.6 support
- Drop `servant<0.14` support
- 0.3.0.3.13.2
- Update to `swagger-ui-3.13.2`
- Split package into multiple packages:

View File

@ -1,11 +1,13 @@
cabal-version: 1.12
name: servant-swagger-ui
version: 0.3.0.3.13.2
x-revision: 2
version: 0.3.2.3.19.3
synopsis: Servant swagger ui
category: Web, Servant, Swagger
description: Provide embedded swagger UI for servant and swagger (i.e. servant-swagger)
description:
Provide embedded swagger UI for servant and swagger (i.e. servant-swagger)
.
https://github.com/swagger-api/swagger-ui
homepage: https://github.com/haskell-servant/servant-swagger-ui
bug-reports: https://github.com/haskell-servant/servant-swagger-ui/issues
@ -14,18 +16,18 @@ maintainer: haskell-servant-maintainers@googlegroups.com
license: BSD3
license-file: LICENSE
build-type: Simple
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3
tested-with: GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.1
extra-source-files:
CHANGELOG.md
index.html.tmpl
swagger-ui-dist-3.13.2/favicon-16x16.png
swagger-ui-dist-3.13.2/favicon-32x32.png
swagger-ui-dist-3.13.2/swagger-ui-bundle.js
swagger-ui-dist-3.13.2/swagger-ui-standalone-preset.js
swagger-ui-dist-3.13.2/swagger-ui.css
swagger-ui-dist-3.13.2/swagger-ui.js
swagger-ui-dist-3.19.3/favicon-16x16.png
swagger-ui-dist-3.19.3/favicon-32x32.png
swagger-ui-dist-3.19.3/swagger-ui-bundle.js
swagger-ui-dist-3.19.3/swagger-ui-standalone-preset.js
swagger-ui-dist-3.19.3/swagger-ui.css
swagger-ui-dist-3.19.3/swagger-ui.js
source-repository head
type: git
@ -40,13 +42,13 @@ library
servant-swagger-ui-core >=0.3 && <0.4
build-depends:
base >=4.7 && <4.12
base >=4.7 && <4.13
, bytestring >=0.10.4.0 && <0.11
, file-embed-lzma >=0 && <0.1
, servant >=0.4.4.5 && <0.15
, servant-server >=0.4.4.5 && <0.15
, swagger2 >=2.0.1 && <2.4
, text >=1.2.0.6 && <1.3
, servant >=0.14 && <0.15
, servant-server >=0.14 && <0.15
, swagger2 >=2.3.0.1 && <2.4
, text >=1.2.3.0 && <1.3
exposed-modules:
Servant.Swagger.UI
default-language: Haskell2010

View File

@ -75,4 +75,4 @@ swaggerUiIndexTemplate :: Text
swaggerUiIndexTemplate = $(embedText "index.html.tmpl")
swaggerUiFiles :: [(FilePath, ByteString)]
swaggerUiFiles = $(embedRecursiveDir "swagger-ui-dist-3.13.2")
swaggerUiFiles = $(embedRecursiveDir "swagger-ui-dist-3.19.3")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 445 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long