1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 23:42:31 +03:00
semantic/semantic.cabal

441 lines
17 KiB
Plaintext
Raw Normal View History

2018-02-26 21:16:56 +03:00
name: semantic
version: 0.4.0
synopsis: Framework and service for analyzing and diffing untrusted code.
2015-11-18 01:44:16 +03:00
description: Please see README.md
2018-02-26 21:16:56 +03:00
homepage: http://github.com/github/semantic#readme
2015-11-18 01:44:16 +03:00
author: Rob Rix, Josh Vera
2015-11-18 01:52:41 +03:00
maintainer: rob.rix@github.com
2016-01-05 19:26:58 +03:00
copyright: 2016 GitHub
2015-11-18 01:44:16 +03:00
category: Web
2017-07-23 17:34:30 +03:00
build-type: Simple
2015-11-18 01:44:16 +03:00
-- extra-source-files:
cabal-version: >=1.10
flag release
description: Build with optimizations on (for CI or deployment builds)
default: False
2015-11-18 01:44:16 +03:00
library
hs-source-dirs: src
exposed-modules:
2017-11-27 22:32:13 +03:00
-- Analyses & term annotations
Analysis.Abstract.Caching.FlowInsensitive
, Analysis.Abstract.Caching.FlowSensitive
, Analysis.Abstract.Collecting
, Analysis.Abstract.Dead
, Analysis.Abstract.Graph
, Analysis.Abstract.Tracing
, Analysis.ConstructorName
, Analysis.CyclomaticComplexity
, Analysis.Decorator
, Analysis.Declaration
, Analysis.PackageDef
-- Semantic assignment
2017-11-27 22:32:13 +03:00
, Assigning.Assignment
, Assigning.Assignment.Deterministic
, Assigning.Assignment.Table
-- Control structures & interfaces for abstract interpretation
, Control.Abstract
, Control.Abstract.Context
, Control.Abstract.Environment
, Control.Abstract.Evaluator
, Control.Abstract.Heap
2018-05-28 22:09:10 +03:00
, Control.Abstract.Hole
, Control.Abstract.Matching
, Control.Abstract.Modules
2018-05-18 17:11:19 +03:00
, Control.Abstract.Primitive
, Control.Abstract.PythonPackage
, Control.Abstract.Roots
2018-09-11 01:50:40 +03:00
, Control.Abstract.ScopeGraph
2018-05-15 18:40:10 +03:00
, Control.Abstract.TermEvaluator
2018-03-02 22:45:56 +03:00
, Control.Abstract.Value
2018-09-14 19:47:21 +03:00
-- Rewriting
, Control.Rewriting
-- Datatypes for abstract interpretation
, Data.Abstract.Address.Hole
2018-08-10 20:31:55 +03:00
, Data.Abstract.Address.Located
, Data.Abstract.Address.Monovariant
, Data.Abstract.Address.Precise
2018-08-08 02:50:55 +03:00
, Data.Abstract.BaseError
2018-04-25 22:44:44 +03:00
, Data.Abstract.Declarations
, Data.Abstract.Environment
, Data.Abstract.Evaluatable
2018-03-16 21:09:41 +03:00
, Data.Abstract.Exports
, Data.Abstract.FreeVariables
2018-03-15 03:42:59 +03:00
, Data.Abstract.Heap
2017-12-01 21:57:15 +03:00
, Data.Abstract.Live
2018-03-22 00:59:16 +03:00
, Data.Abstract.Module
, Data.Abstract.ModuleTable
2018-05-18 19:43:28 +03:00
, Data.Abstract.Name
2018-03-14 17:36:56 +03:00
, Data.Abstract.Number
, Data.Abstract.Package
, Data.Abstract.Path
2018-05-18 17:36:23 +03:00
, Data.Abstract.Ref
2018-08-29 20:47:44 +03:00
, Data.Abstract.ScopeGraph
, Data.Abstract.Value.Abstract
, Data.Abstract.Value.Concrete
, Data.Abstract.Value.Type
-- General datatype definitions & generic algorithms
, Data.Algebra
, Data.AST
2017-06-24 17:00:40 +03:00
, Data.Blob
2017-09-27 19:41:41 +03:00
, Data.Diff
, Data.Duration
2017-08-06 19:29:28 +03:00
, Data.Error
, Data.Functor.Both
, Data.Functor.Classes.Generic
2018-05-11 19:04:26 +03:00
, Data.Graph
2018-09-07 01:12:12 +03:00
, Data.Graph.ControlFlowVertex
2018-09-07 03:27:13 +03:00
, Data.Graph.TermVertex
, Data.Graph.DiffVertex
, Data.History
2017-09-09 19:15:22 +03:00
, Data.JSON.Fields
2017-11-27 22:17:48 +03:00
, Data.Language
2018-03-07 20:22:52 +03:00
, Data.Map.Monoidal
, Data.Proto.DiffTree
, Data.Proto.ParseTree
2017-09-27 19:29:07 +03:00
, Data.Patch
, Data.Project
, Data.Quieterm
2017-06-24 16:46:28 +03:00
, Data.Range
2016-10-06 19:03:06 +03:00
, Data.Record
, Data.Reprinting.Errors
, Data.Reprinting.Fragment
, Data.Reprinting.Operator
, Data.Reprinting.Scope
, Data.Reprinting.Splice
, Data.Reprinting.Token
2018-03-21 23:40:56 +03:00
, Data.Semigroup.App
, Data.Scientific.Exts
, Data.Source
, Data.Span
, Data.SplitDiff
-- À la carte syntax types
, Data.Syntax
2017-03-26 22:34:44 +03:00
, Data.Syntax.Comment
2017-03-27 00:31:10 +03:00
, Data.Syntax.Declaration
, Data.Syntax.Directive
, Data.Syntax.Expression
, Data.Syntax.Literal
2017-03-27 00:31:50 +03:00
, Data.Syntax.Statement
2017-03-29 23:23:02 +03:00
, Data.Syntax.Type
2017-09-27 19:37:37 +03:00
, Data.Term
-- Diffing algorithms & interpretation thereof
2017-11-27 19:41:50 +03:00
, Diffing.Algorithm
2017-11-27 19:51:39 +03:00
, Diffing.Algorithm.RWS
, Diffing.Algorithm.RWS.FeatureVector
2017-11-27 19:48:39 +03:00
, Diffing.Algorithm.SES
, Diffing.Interpreter
-- Language-specific grammar/syntax types, & assignments
2017-10-11 01:24:25 +03:00
, Language.Markdown.Assignment
, Language.Markdown.Syntax
2017-08-23 00:48:18 +03:00
, Language.Go.Grammar
2017-10-11 20:12:32 +03:00
, Language.Go.Assignment
, Language.Go.Syntax
2017-11-21 23:48:29 +03:00
, Language.Go.Type
, Language.Haskell.Grammar
, Language.Haskell.Assignment
, Language.Haskell.Syntax
2017-07-17 19:52:50 +03:00
, Language.JSON.Grammar
2017-10-11 01:14:57 +03:00
, Language.JSON.Assignment
2018-08-22 02:15:08 +03:00
, Language.JSON.PrettyPrint
2018-08-28 01:06:51 +03:00
, Language.MiniRuby.Assignment
2018-08-28 19:12:29 +03:00
, Language.MiniPython.Assignment
2017-05-17 21:08:54 +03:00
, Language.Ruby.Grammar
2017-10-11 01:36:09 +03:00
, Language.Ruby.Assignment
2018-08-22 02:15:08 +03:00
, Language.Ruby.PrettyPrint
2018-08-28 19:12:44 +03:00
, Language.Ruby.Syntax
2017-10-11 01:55:42 +03:00
, Language.TypeScript.Assignment
, Language.TypeScript.Grammar
2018-07-20 00:05:44 +03:00
, Language.TypeScript.Resolution
, Language.TypeScript.Syntax
, Language.TypeScript.Syntax.JavaScript
2018-07-20 00:05:44 +03:00
, Language.TypeScript.Syntax.JSX
, Language.TypeScript.Syntax.TypeScript
2017-12-15 22:14:08 +03:00
, Language.PHP.Assignment
, Language.PHP.Grammar
, Language.PHP.Syntax
2017-10-11 01:26:29 +03:00
, Language.Python.Assignment
2017-05-17 22:32:07 +03:00
, Language.Python.Grammar
, Language.Python.PrettyPrint
2017-05-12 02:45:05 +03:00
, Language.Python.Syntax
2018-03-16 00:57:06 +03:00
, Language.Java.Assignment
, Language.Java.Grammar
, Language.Java.Syntax
2018-08-15 00:15:18 +03:00
, Matching.Core
, Numeric.Exts
-- Parser glue
2017-11-27 21:24:45 +03:00
, Parsing.CMark
, Parsing.Parser
2017-11-27 21:24:45 +03:00
, Parsing.TreeSitter
2018-02-26 21:16:56 +03:00
, Paths_semantic
-- Rendering formats
, Rendering.Graph
2017-11-27 21:30:38 +03:00
, Rendering.JSON
, Rendering.Renderer
, Rendering.Symbol
2017-11-27 21:30:38 +03:00
, Rendering.TOC
, Reprinting.Tokenize
, Reprinting.Translate
2018-08-03 19:47:54 +03:00
, Reprinting.Typeset
2018-07-31 19:44:20 +03:00
, Reprinting.Pipeline
-- High-level flow & operational functionality (logging, stats, etc.)
, Semantic.AST
, Semantic.CLI
2018-06-08 20:48:38 +03:00
, Semantic.Config
, Semantic.Diff
2018-04-04 18:23:21 +03:00
, Semantic.Distribute
2018-06-07 02:17:44 +03:00
, Semantic.Env
2018-04-09 20:57:12 +03:00
, Semantic.Graph
2017-11-27 21:09:03 +03:00
, Semantic.IO
, Semantic.Parse
, Semantic.REPL
, Semantic.Resolution
2017-05-29 20:11:17 +03:00
, Semantic.Task
, Semantic.Telemetry
2018-06-14 02:39:13 +03:00
, Semantic.Telemetry.AsyncQueue
, Semantic.Telemetry.Haystack
, Semantic.Telemetry.Log
, Semantic.Telemetry.Stat
2018-09-14 00:20:42 +03:00
, Semantic.Timeout
, Semantic.Util
2018-08-24 20:35:38 +03:00
, Semantic.Util.Rewriting
, Semantic.Version
-- Serialization
, Serializing.DOT
, Serializing.Format
, Serializing.SExpression
-- Custom Prelude
2018-05-23 21:04:15 +03:00
, Prologue
2016-10-06 04:47:47 +03:00
build-depends: base >= 4.8 && < 5
, aeson
2018-02-07 20:54:15 +03:00
, algebraic-graphs
2017-05-19 23:03:44 +03:00
, ansi-terminal
, array
2017-04-22 01:40:37 +03:00
, async
, attoparsec
2016-03-18 03:07:28 +03:00
, bifunctors
2015-12-15 19:47:52 +03:00
, bytestring
2017-08-03 10:22:40 +03:00
, cmark-gfm
2015-11-18 02:03:25 +03:00
, containers
2018-06-08 20:12:45 +03:00
, cryptohash
2016-02-27 01:56:38 +03:00
, directory
, directory-tree
2017-04-07 21:44:37 +03:00
, effects
, fastsum
, filepath
2016-10-06 04:47:47 +03:00
, free
, freer-cofreer
, ghc-prim
2016-10-06 19:03:06 +03:00
, gitrev
2017-10-17 19:48:27 +03:00
, Glob
2016-06-22 00:24:18 +03:00
, hashable
2018-08-03 16:25:52 +03:00
, haskeline
, hscolour
2018-06-08 20:12:45 +03:00
, http-client
, http-client-tls
, http-types
, kdt
, machines
, mersenne-random-pure64
2016-10-06 04:47:47 +03:00
, mtl
2017-10-04 06:38:36 +03:00
, network
, network-uri
2016-10-06 04:47:47 +03:00
, optparse-applicative
2017-04-04 17:57:18 +03:00
, parallel
2017-08-06 18:21:35 +03:00
, parsers
2018-07-31 19:44:20 +03:00
, prettyprinter
, pretty-show
2018-09-14 19:47:21 +03:00
, profunctors
2016-10-06 04:47:47 +03:00
, recursion-schemes
2018-03-07 19:27:17 +03:00
, reducers
, scientific
2018-03-14 16:30:45 +03:00
, semigroupoids
, semilattices
2017-04-03 22:26:28 +03:00
, split
, stm-chans
, template-haskell
2015-12-15 19:47:52 +03:00
, text >= 1.2.1.3
, these
, time
2017-07-31 18:56:17 +03:00
, unix
, unordered-containers
2018-06-13 19:47:35 +03:00
, vector
2018-06-15 18:06:26 +03:00
, proto3-suite
, proto3-wire
, haskell-tree-sitter
2017-08-11 15:03:27 +03:00
, tree-sitter-go
, tree-sitter-haskell
2017-08-11 15:03:55 +03:00
, tree-sitter-json
2017-12-15 22:14:08 +03:00
, tree-sitter-php
2017-08-11 15:06:08 +03:00
, tree-sitter-python
2017-08-11 15:06:37 +03:00
, tree-sitter-ruby
2017-08-11 15:07:03 +03:00
, tree-sitter-typescript
2018-03-16 01:53:55 +03:00
, tree-sitter-java
2015-11-18 01:44:16 +03:00
default-language: Haskell2010
default-extensions: DataKinds
, DeriveFoldable
2018-03-16 20:15:59 +03:00
, DeriveFunctor
, DeriveGeneric
, DeriveTraversable
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
2018-03-16 20:15:59 +03:00
, OverloadedStrings
, RecordWildCards
, StandaloneDeriving
2018-03-16 20:15:59 +03:00
, StrictData
, TypeApplications
if flag(release)
ghc-options: -Wall -Werror -Wmissing-export-lists -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-name-shadowing -O1 -j
else
ghc-options: -Wall -Wmissing-export-lists -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-name-shadowing -O0 -j
ghc-prof-options: -fprof-auto
2015-11-18 01:44:16 +03:00
2017-04-03 19:28:53 +03:00
executable semantic
2016-10-06 02:17:46 +03:00
hs-source-dirs: app
main-is: Main.hs
if flag(release)
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A4m -n2m" -static -j -O1 -j
else
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A4m -n2m" -static -j -O0 -j
2016-10-06 02:17:46 +03:00
cc-options: -DU_STATIC_IMPLEMENTATION=1
cpp-options: -DU_STATIC_IMPLEMENTATION=1
build-depends: base
2018-02-26 21:16:56 +03:00
, semantic
2016-10-06 02:17:46 +03:00
default-language: Haskell2010
2017-07-28 21:37:02 +03:00
default-extensions: FlexibleInstances, OverloadedStrings, RecordWildCards
2016-10-06 02:17:46 +03:00
2016-09-15 00:12:06 +03:00
test-suite test
2015-11-18 01:44:16 +03:00
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
2018-05-07 21:20:56 +03:00
other-modules: Analysis.Go.Spec
, Analysis.PHP.Spec
, Analysis.Python.Spec
2018-03-14 02:19:26 +03:00
, Analysis.Ruby.Spec
2018-03-10 02:54:52 +03:00
, Analysis.TypeScript.Spec
2018-05-07 21:20:56 +03:00
, Assigning.Assignment.Spec
2018-05-07 21:21:05 +03:00
, Control.Abstract.Evaluator.Spec
2018-09-14 20:08:08 +03:00
, Control.Rewriting.Spec
, Data.Abstract.Path.Spec
2018-07-20 16:52:43 +03:00
, Data.Diff.Spec
, Data.Functor.Classes.Generic.Spec
, Data.Functor.Listable
2018-07-20 16:52:43 +03:00
, Data.Mergeable
, Data.Scientific.Spec
2017-11-27 21:49:52 +03:00
, Data.Source.Spec
2017-11-27 22:02:03 +03:00
, Data.Term.Spec
2017-11-27 21:48:43 +03:00
, Diffing.Algorithm.RWS.Spec
2017-11-27 21:51:05 +03:00
, Diffing.Algorithm.SES.Spec
2017-11-27 22:03:45 +03:00
, Diffing.Interpreter.Spec
2018-07-16 18:07:40 +03:00
, Graphing.Calls.Spec
2017-11-27 22:06:12 +03:00
, Integration.Spec
, Matching.Go.Spec
, Numeric.Spec
2018-06-05 19:07:47 +03:00
, Proto3.Roundtrip
2018-07-31 17:43:46 +03:00
, Reprinting.Spec
2017-11-27 22:04:58 +03:00
, Rendering.TOC.Spec
2017-11-27 22:00:53 +03:00
, Semantic.Spec
2017-11-27 21:57:25 +03:00
, Semantic.CLI.Spec
2017-11-27 21:52:48 +03:00
, Semantic.IO.Spec
2017-11-27 21:58:23 +03:00
, Semantic.Stat.Spec
, SpecHelpers
, Test.Hspec.LeanCheck
2017-02-23 07:05:20 +03:00
build-depends: aeson
2018-07-16 18:07:40 +03:00
, algebraic-graphs
, async
2017-02-03 23:57:05 +03:00
, base
2016-03-22 01:53:57 +03:00
, bifunctors
2017-03-09 00:56:08 +03:00
, bytestring
2018-06-05 19:07:47 +03:00
, containers
, effects
2018-05-07 00:22:32 +03:00
, fastsum
2016-02-17 00:38:31 +03:00
, filepath
2017-07-28 21:37:02 +03:00
, free
2016-02-17 00:38:31 +03:00
, Glob
2018-05-16 23:19:08 +03:00
, hashable
2017-04-18 18:06:24 +03:00
, haskell-tree-sitter
, hspec >= 2.4.1
2017-01-08 07:16:27 +03:00
, hspec-core
2016-10-06 04:47:47 +03:00
, hspec-expectations-pretty-diff
2017-02-14 17:57:21 +03:00
, HUnit
2017-01-08 07:16:27 +03:00
, leancheck
2018-09-12 01:54:37 +03:00
, machines
2016-05-21 07:07:35 +03:00
, mtl
2017-10-04 21:40:39 +03:00
, network
2018-06-05 19:07:47 +03:00
, proto3-suite
, proto3-wire
, recursion-schemes >= 4.1
2018-06-15 18:40:26 +03:00
, semilattices
2018-02-26 21:16:56 +03:00
, semantic
2015-12-15 22:53:03 +03:00
, text >= 1.2.1.3
, these
ghc-options: -threaded -rtsopts -with-rtsopts=-N -j
2015-11-18 01:44:16 +03:00
default-language: Haskell2010
default-extensions: DataKinds
, DeriveFunctor
, DeriveGeneric
, FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, OverloadedStrings
, RecordWildCards
, StandaloneDeriving
, TypeApplications
2015-11-18 01:44:16 +03:00
2018-05-21 18:17:11 +03:00
test-suite lint
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Lint.hs
default-language: Haskell2010
ghc-options: -dynamic -threaded -j
build-depends: base
, hlint
test-suite parse-examples
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Examples.hs
default-language: Haskell2010
ghc-options: -threaded -rtsopts -with-rtsopts=-N -j
build-depends: base
, bytestring
, directory
2018-09-18 23:00:31 +03:00
, effects
, fastsum
, filepath
, Glob
, hspec >= 2.4.1
, hspec-core
, hspec-expectations-pretty-diff
, process
, semantic
default-extensions: RecordWildCards
2018-09-18 23:00:31 +03:00
, FlexibleContexts
2018-03-16 21:06:38 +03:00
test-suite doctests
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Doctests.hs
default-language: Haskell2010
ghc-options: -dynamic -threaded -j
2018-03-16 21:06:38 +03:00
build-depends: base
, doctest
2015-11-18 01:44:16 +03:00
2018-03-08 03:34:20 +03:00
benchmark evaluation
2018-05-21 18:17:11 +03:00
hs-source-dirs: bench
type: exitcode-stdio-1.0
main-is: Main.hs
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A4m -n2m -T" -static -j -O1
2018-05-21 18:17:11 +03:00
cc-options: -DU_STATIC_IMPLEMENTATION=1
cpp-options: -DU_STATIC_IMPLEMENTATION=1
default-language: Haskell2010
build-depends: base
, criterion
, semantic
2018-03-08 03:34:20 +03:00
2015-11-18 01:44:16 +03:00
source-repository head
type: git
2018-02-26 21:16:56 +03:00
location: https://github.com/github/semantic