cabal-version: 3.6 -- Copyright (c) Facebook, Inc. and its affiliates. -- @generated from glean.cabal.in -- DO NO EDIT THIS FILE DIRECTLY name: glean version: 0.1.0.0 synopsis: A system for collecting, deriving and working with facts about source code. homepage: https://github.com/facebookincubator/Glean bug-reports: https://github.com/facebookincubator/Glean/issues license: BSD-3-Clause license-file: LICENSE author: Facebook, Inc. maintainer: Glean-team@fb.com copyright: (c) Facebook, All Rights Reserved build-type: Simple extra-source-files: CHANGELOG.md data-files: glean/schema/source/**/*.angle common fb-haskell default-language: Haskell2010 default-extensions: BangPatterns BinaryLiterals DataKinds DeriveDataTypeable DeriveGeneric EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoMonomorphismRestriction OverloadedStrings PatternSynonyms RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeFamilies TypeSynonymInstances NondecreasingIndentation ghc-options: -Wall -Wno-orphans -Wno-name-shadowing if flag(opt) ghc-options: -O2 common fb-cpp cxx-options: -std=c++17 -Wno-nullability-completeness if !flag(clang) cxx-options: -fcoroutines if arch(x86_64) cxx-options: -march=haswell if flag(opt) cxx-options: -O3 -DNDEBUG cxx-options: -O3 common exe ghc-options: -threaded -rtsopts common haskell-indexer if impl(ghc >= 9.2) buildable: True else buildable: False flag clang default: False flag opt default: False flag benchmarks default: False -- run tests that require clang flag clang-tests default: True -- run tests that require hhvm, typically Linux/x86_64 flag hack-tests default: True -- run tests that require lsif-tsc flag typescript-tests default: True -- run tests that require python-scip flag python-tests default: True -- run tests that require dotnet-scip flag dotnet-tests default: True -- run tests that require lsif-go flag go-tests default: False -- run tests that require rust-analyzer flag rust-tests default: True -- run tests that require lsif-java flag java-lsif-tests default: False -- run tests that require flow flag flow-tests default: True -- use fbthrift as the the server/client transport, or HTTP? flag fbthrift default: False flag use-folly-clib default: False common folly if flag(use-folly-clib) build-depends: fb-util >= 0.2, folly-clib else build-depends: fb-util < 0.2 pkgconfig-depends: libfolly common deps build-depends: fb-util, thrift-lib, HUnit, safe, safe-exceptions, scientific, text-show, uuid, extra, aeson, data-default, temporary, clock, STMonadTrans, utf8-string, optparse-applicative, ansi-terminal, json, random, regex-base, regex-pcre, base >=4.11.1 && <4.19, array ^>=0.5.2.0, async ^>=2.2.1, attoparsec >=0.13.2.3 && <0.15, attoparsec-aeson >= 2.1 && < 2.3, unordered-containers ^>=0.2.9.0, containers, contravariant ^>=1.5, text >=1.2.3.0 && < 2.2, bytestring >=0.10.8.2 && <0.12, vector >=0.12.0.1 && <0.14, transformers >= 0.5.6 && < 0.7, network-uri ^>=2.6.1.0, stm ^>=2.5.0.0, directory ^>=1.3.1.5, filepath ^>=1.4.2, exceptions ^>=0.10.0, mtl >= 2.2.2 && < 2.4, unix >= 2.7.2.2 && < 2.9, process ^>=1.6.3.0, prettyprinter >=1.2.1 && <1.8, time >=1.8.0.2 && <1.13, binary ^>=0.8.5.1, deepseq ^>=1.4.3.0, hashable >=1.2.7.0 && <1.6, tar ^>=0.5.1.0, ghc-prim >=0.5.2.0 && <0.11, parsec ^>=3.1.13.0, haxl >= 2.1.2.0 && < 2.6, hinotify ^>= 0.4.1 common hsc2hs-cpp hsc2hs-options: --cc=g++ --lflag=-lstdc++ --cflag=-D__HSC2HS__=1 --cflag=-std=c++17 common thrift-server if flag(fbthrift) cpp-options: -DFBTHRIFT build-depends: thrift-server else build-depends: thrift-http common thrift-client if flag(fbthrift) cpp-options: -DFBTHRIFT build-depends: thrift-cpp-channel else build-depends: thrift-http library stubs import: fb-haskell, fb-cpp, deps, thrift-server visibility: public hs-source-dirs: glean/github exposed-modules: Facebook.Fb303 Facebook.Service Glean.BuildInfo Glean.Datasource.Scribe.Write Glean.Init Glean.Server.PublishShards Glean.Index Glean.Username ServiceData.Types ServiceData.GlobalStats TestRunner build-depends: glean:if-fb303-hs, glean:if-glean-hs, glean:if-index-hs, mangle, template-haskell, tasty, tasty-hunit-adapter library logger import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/github exposed-modules: Logger.IO Logger.GleanGlass Logger.GleanGlassErrors build-depends: glean:util library config import: fb-haskell, fb-cpp, deps visibility: public include-dirs: . hs-source-dirs: glean/config/gen-hs2 glean/config/server/gen-hs2 glean/config/client/gen-hs2 exposed-modules: Glean.Service.Types Glean.ClientConfig.Types Glean.ServerConfig.Types library defaultconfigs import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/github exposed-modules: Glean.DefaultConfigs build-depends: glean:config, glean:util library thrift-annotation import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: thrift/annotation/gen-hs2 exposed-modules: Facebook.Thrift.Annotation.Cpp.Cpp.Types Hack.Types Rust.Types Scope.Types Facebook.Thrift.Annotation.Thrift.Thrift.Types library if-fb303-hs import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/github/if/gen-hs2 exposed-modules: Fb303Core.Types Fb303Core.BaseService.Client Fb303Core.BaseService.Service Fb303.Types Fb303.FacebookService.Client Fb303.FacebookService.Service build-depends: glean:thrift-annotation, library if-glean-hs import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/if/gen-hs2 exposed-modules: Glean.Types Glean.GleanService.Client Glean.GleanService.Service build-depends: glean:thrift-annotation, glean:config, glean:if-fb303-hs library if-index-hs import: fb-haskell, deps visibility: public hs-source-dirs: glean/if/index/gen-hs2 exposed-modules: Glean.Index.Types Glean.Index.GleanIndexingService.Client Glean.Index.GleanIndexingService.Service build-depends: glean:if-glean-hs library if-internal-hs import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/if/internal/gen-hs2 exposed-modules: Glean.Internal.Types build-depends: glean:config, glean:if-glean-hs library rts import: fb-haskell, fb-cpp, deps, folly visibility: public include-dirs: . cxx-sources: glean/rts/binary.cpp glean/rts/benchmarking/factblock.cpp glean/rts/benchmarking/ffi.cpp glean/rts/bytecode/subroutine.cpp glean/rts/cache.cpp glean/rts/define.cpp glean/rts/error.cpp glean/rts/fact.cpp glean/rts/factset.cpp glean/rts/ffi.cpp glean/rts/inventory.cpp glean/rts/json.cpp glean/rts/lookup.cpp glean/rts/nat.cpp glean/rts/ownership.cpp glean/rts/ownership/derived.cpp glean/rts/ownership/setu32.cpp glean/rts/ownership/slice.cpp glean/rts/ownership/uset.cpp glean/rts/prim.cpp glean/rts/query.cpp glean/rts/sanity.cpp glean/rts/set.cpp glean/rts/stats.cpp glean/rts/string.cpp glean/rts/substitution.cpp glean/rts/thrift.cpp glean/rts/timer.cpp glean/rts/validate.cpp cxx-options: -DOSS=1 install-includes: glean/bytecode/evaluate.h glean/bytecode/instruction.h glean/rts/benchmarking/factblock.h glean/rts/benchmarking/ffi.h glean/rts/binary.h glean/rts/bytecode/subroutine.h glean/rts/bytecode/syscall.h glean/rts/cache.h glean/rts/define.h glean/rts/densemap.h glean/rts/error.h glean/rts/fact.h glean/rts/factset.h glean/rts/ffi.h glean/rts/id.h glean/rts/inventory.h glean/rts/json.h glean/rts/lookup.h glean/rts/nat.h glean/rts/ondemand.h glean/rts/ownership/derived.h glean/rts/ownership/fallbackavx.h glean/rts/ownership.h glean/rts/ownership/pool.h glean/rts/ownership/setu32.h glean/rts/ownership/slice.h glean/rts/ownership/triearray.h glean/rts/ownership/uset.h glean/rts/prim.h glean/rts/query.h glean/rts/sanity.h glean/rts/serialize.h glean/rts/set.h glean/rts/stacked.h glean/rts/stats.h glean/rts/store.h glean/rts/string.h glean/rts/substitution.h glean/rts/tests/arbitrary.h glean/rts/tests/uniform.h glean/rts/thrift.h glean/rts/timer.h glean/rts/validate.h -- __atomic_is_lock_free missing with clang extra-libraries: atomic pkgconfig-depends: libunwind, libglog, icu-uc, gflags, libxxhash library rocksdb import: fb-haskell, fb-cpp, deps, folly visibility: private cxx-sources: glean/rocksdb/container-impl.cpp glean/rocksdb/database-impl.cpp glean/rocksdb/ownership.cpp glean/rocksdb/ffi.cpp glean/rocksdb/rocksdb.cpp cxx-options: -fno-rtti -DOSS=1 include-dirs: . install-includes: glean/rocksdb/container-impl.h glean/rocksdb/database-impl.h glean/rocksdb/ffi.h glean/rocksdb/rocksdb.h glean/rocksdb/util.h pkgconfig-depends: rocksdb, fmt build-depends: glean:rocksdb-stats, glean:rts, -- This needs to be separate from rocksdb because it can't be compiled with -fno-rtti library rocksdb-stats import: fb-haskell, fb-cpp, deps, folly visibility: private cxx-sources: glean/rocksdb/stats.cpp include-dirs: . install-includes: glean/rocksdb/stats.h build-depends: glean:rts, library util import: fb-haskell, fb-cpp, deps, thrift-client visibility: public hs-source-dirs: glean/util exposed-modules: Glean.Impl.ThriftService Glean.Impl.ConfigProvider Glean.Impl.TestConfigProvider Glean.Util.Bisect Glean.Util.ConfigProvider Glean.Util.Disk Glean.Util.IO Glean.Util.Metric Glean.Util.Mutex Glean.Util.Observed Glean.Util.Periodic Glean.Util.Process Glean.Util.RetryRecvTimeout Glean.Util.RetryChannelException Glean.Util.Service Glean.Util.ShardManager Glean.Util.Some Glean.Util.ThriftService Glean.Util.ThriftSource Glean.Util.Throttle Glean.Util.TransitiveClosure Glean.Util.Trace Glean.Util.ValueBuffer Glean.Util.Vector Glean.Util.Warden build-depends: glean:stubs, glean:config, glean:if-glean-hs, primitive, network library core import: fb-haskell, fb-cpp, deps, hsc2hs-cpp visibility: public hs-source-dirs: glean/hs default-extensions: CPP hsc2hs-options: --cflag=-DOSS=1 exposed-modules: Glean.FFI Glean.RTS Glean.RTS.Builder Glean.RTS.Bytecode.Code Glean.RTS.Bytecode.Disassemble Glean.RTS.Bytecode.Supply Glean.RTS.Constants Glean.RTS.Foreign.Benchmarking Glean.RTS.Foreign.Bytecode Glean.RTS.Foreign.Define Glean.RTS.Foreign.FactSet Glean.RTS.Foreign.Inventory Glean.RTS.Foreign.JSON Glean.RTS.Foreign.LookupCache Glean.RTS.Foreign.Lookup Glean.RTS.Foreign.Ownership Glean.RTS.Foreign.Query Glean.RTS.Foreign.Stacked Glean.RTS.Foreign.Stats Glean.RTS.Foreign.Subst Glean.RTS.Foreign.Thrift Glean.RTS.Foreign.Typecheck Glean.RTS.Set Glean.RTS.Term Glean.RTS.Traverse Glean.RTS.Typecheck Glean.RTS.Types -- generated by bytecode-gen-hs Glean.RTS.Bytecode.Gen.Instruction Glean.RTS.Bytecode.Gen.Issue Glean.RTS.Bytecode.Gen.Version Glean.Typed Glean.Typed.Binary Glean.Typed.Build Glean.Typed.BuildFact Glean.Typed.Fact Glean.Typed.Id Glean.Typed.Predicate Glean.Typed.Prim Glean.Query.Thrift Glean.Query.Thrift.Internal Glean.Write.Async Glean.Write.Options Glean.Write.SendBatch Glean.Write.SendQueue Glean.Write.SendAndRebaseQueue Glean.Write.Stats Glean.Angle.Hash Glean.Angle.Lexer Glean.Angle.Parser Glean.Angle.Types Glean.Display Glean.Query.Angle Glean.Repo.Text Glean.Schema.Resolve Glean.Schema.Evolve Glean.Schema.Types Glean.Schema.Util Glean.Backend.Types Glean.Backend.Retry build-tool-depends: alex:alex, happy:happy build-depends: glean:bytecode, glean:config, glean:defaultconfigs, glean:util, glean:if-glean-hs, glean:if-internal-hs, glean:rts, glean:stubs, glean:rocksdb, library db import: fb-haskell, fb-cpp, deps, hsc2hs-cpp visibility: public hs-source-dirs: glean/db default-extensions: CPP cpp-options: -DOSS=1 exposed-modules: Glean.Database.Backup Glean.Database.Backup.Backend Glean.Database.Backup.Locator Glean.Database.Backup.Mock Glean.Database.BatchLocation Glean.Database.Catalog.Filter Glean.Database.Catalog Glean.Database.Catalog.Local.Files Glean.Database.Catalog.Local.Memory Glean.Database.Catalog.Store Glean.Database.CompletePredicates Glean.Database.Config Glean.Database.Data Glean.Database.Env Glean.Database.Exception Glean.Database.Open Glean.Database.Close Glean.Database.Restore Glean.Database.Delete Glean.Database.Create Glean.Database.Finish Glean.Database.List Glean.Database.Janitor Glean.Database.Logger Glean.Database.Meta Glean.Database.Ownership Glean.Database.PredicateStats Glean.Database.Repo Glean.Database.Retention Glean.Database.Schema Glean.Database.Schema.ComputeIds Glean.Database.Schema.Types Glean.Database.Storage Glean.Database.Storage.Memory Glean.Database.Storage.RocksDB Glean.Database.Trace Glean.Database.Types Glean.Database.Validate Glean.Database.Writes Glean.Database.Write.Batch Glean.Logger.Database Glean.Logger.Server Glean.Write.JSON Glean.Query.BindOrder Glean.Query.Codegen Glean.Query.Codegen.QueryRegs Glean.Query.Codegen.Types Glean.Query.Transform Glean.Query.Expand Glean.Query.Flatten Glean.Query.Flatten.Types Glean.Query.Opt Glean.Query.Prune Glean.Query.Reorder Glean.Query.Typecheck Glean.Query.Typecheck.Monad Glean.Query.Typecheck.Types Glean.Query.Typecheck.Unify Glean.Query.Vars Glean.Query.JSON Glean.Query.Derive Glean.Query.UserQuery Glean.Query.Incremental Glean.Backend.Local Glean.Backend.Logging Glean.Dump Glean.Logger other-modules: Paths_glean autogen-modules: Paths_glean build-depends: split, glean:bytecode, glean:config, glean:core, glean:defaultconfigs, glean:haxl-datasource, glean:util, glean:if-glean-hs, glean:if-internal-hs, glean:rts, glean:stubs, glean:rocksdb, library client-hs import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/client/hs cxx-sources: glean/client/hs/cpp/write.cpp exposed-modules: Glean Glean.Angle Glean.Write Glean.Haxl Glean.Remote Glean.Repo Glean.Haxl.Repos Glean.Util.ShellPrint build-depends: pretty, aeson-pretty, mangle, glean:if-glean-hs, glean:util, glean:core, glean:config, glean:defaultconfigs, glean:haxl-datasource, glean:stubs, prettyprinter-ansi-terminal, thrift-haxl, process-extras library client-hs-local import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/client/hs/local exposed-modules: Glean.LocalOrRemote build-depends: glean:if-glean-hs, glean:core, glean:client-hs, glean:db, glean:defaultconfigs, glean:util, -- things needed by glean-clang library client-cpp import: fb-haskell, fb-cpp, deps, folly visibility: public cxx-sources: glean/cpp/filewriter.cpp glean/cpp/glean.cpp glean/interprocess/cpp/worklist.cpp glean/interprocess/cpp/counters.cpp cxx-options: -DOSS=1 include-dirs: . install-includes: glean/cpp/filewriter.h glean/cpp/sender.h glean/cpp/glean.h glean/interprocess/cpp/counters.h glean/interprocess/cpp/counters_ffi.h glean/interprocess/cpp/worklist.h glean/interprocess/cpp/worklist_ffi.h build-depends: glean:rts library interprocess import: fb-haskell, deps visibility: public hs-source-dirs: glean/interprocess/hs exposed-modules: Glean.Interprocess.Counters Glean.Interprocess.Worklist build-depends: glean:client-cpp library schema import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/schema/hs glean/schema/thrift/gen-hs2 exposed-modules: Glean.Schema.Anglelang Glean.Schema.Buck Glean.Schema.Builtin Glean.Schema.Code Glean.Schema.CodeAnglelang Glean.Schema.CodeCsharp Glean.Schema.CodeCxx Glean.Schema.CodeDataswarm Glean.Schema.CodeErlang Glean.Schema.CodeGraphql Glean.Schema.CodeHack Glean.Schema.CodeHs Glean.Schema.CodeJava Glean.Schema.CodeKotlin Glean.Schema.CodeLsif Glean.Schema.Codemarkup Glean.Schema.CodemarkupAnglelang Glean.Schema.CodemarkupBuck Glean.Schema.CodemarkupCsharp Glean.Schema.CodemarkupCxx Glean.Schema.CodemarkupDataswarm Glean.Schema.CodemarkupErlang Glean.Schema.CodemarkupFlow Glean.Schema.CodemarkupGraphql Glean.Schema.CodemarkupHack Glean.Schema.CodemarkupHaskell Glean.Schema.CodemarkupLsif Glean.Schema.CodemarkupPp Glean.Schema.CodemarkupPython Glean.Schema.CodemarkupScip Glean.Schema.CodemarkupSearch Glean.Schema.CodemarkupTypes Glean.Schema.CodePp Glean.Schema.CodePython Glean.Schema.CodeBuck Glean.Schema.Csharp Glean.Schema.Cxx1 Glean.Schema.Digest Glean.Schema.Dataswarm Glean.Schema.Glass Glean.Schema.Erlang Glean.Schema.Flow Glean.Schema.GleanTest Glean.Schema.Graphql Glean.Schema.Hack Glean.Schema.Hs Glean.Schema.JavakotlinAlpha Glean.Schema.KotlinAlpha Glean.Schema.Lsif Glean.Schema.Pp1 Glean.Schema.Python Glean.Schema.SearchAnglelang Glean.Schema.SearchBuck Glean.Schema.SearchCode Glean.Schema.SearchCxx Glean.Schema.SearchErlang Glean.Schema.SearchHack Glean.Schema.SearchHs Glean.Schema.SearchPp Glean.Schema.Src Glean.Schema.Sys Glean.Schema.Anglelang.Types Glean.Schema.Buck.Types Glean.Schema.Builtin.Types Glean.Schema.CodeAnglelang.Types Glean.Schema.CodeBuck.Types Glean.Schema.CodeCsharp.Types Glean.Schema.CodeCxx.Types Glean.Schema.CodeDataswarm.Types Glean.Schema.CodeErlang.Types Glean.Schema.CodeFlow.Types Glean.Schema.CodeGraphql.Types Glean.Schema.CodeHack.Types Glean.Schema.CodeHs.Types Glean.Schema.CodeJava.Types Glean.Schema.CodeKotlin.Types Glean.Schema.CodeLsif.Types Glean.Schema.CodemarkupAnglelang.Types Glean.Schema.CodemarkupBuck.Types Glean.Schema.CodemarkupCsharp.Types Glean.Schema.CodemarkupCxx.Types Glean.Schema.CodemarkupDataswarm.Types Glean.Schema.CodemarkupErlang.Types Glean.Schema.CodemarkupFlow.Types Glean.Schema.CodemarkupGraphql.Types Glean.Schema.CodemarkupHack.Types Glean.Schema.CodemarkupHaskell.Types Glean.Schema.CodemarkupLsif.Types Glean.Schema.CodemarkupPp.Types Glean.Schema.CodemarkupPython.Types Glean.Schema.CodemarkupScip.Types Glean.Schema.CodemarkupSearch.Types Glean.Schema.Codemarkup.Types Glean.Schema.CodemarkupTypes.Types Glean.Schema.CodePp.Types Glean.Schema.CodePython.Types Glean.Schema.CodeScip.Types Glean.Schema.CodeFbthrift.Types Glean.Schema.Code.Types Glean.Schema.Csharp.Types Glean.Schema.Cxx1.Types Glean.Schema.Dataswarm.Types Glean.Schema.Digest.Types Glean.Schema.Erlang.Types Glean.Schema.Flow.Types Glean.Schema.Glass.Types Glean.Schema.GleanTest.Types Glean.Schema.Graphql.Types Glean.Schema.Hack.Types Glean.Schema.Hs.Types Glean.Schema.JavaAlpha.Types Glean.Schema.JavakotlinAlpha.Types Glean.Schema.KotlinAlpha.Types Glean.Schema.Lsif.Types Glean.Schema.LsifTypes.Types Glean.Schema.Scip.Types Glean.Schema.Pp1.Types Glean.Schema.Python.Types Glean.Schema.SearchAnglelang.Types Glean.Schema.SearchBuck.Types Glean.Schema.SearchCode.Types Glean.Schema.SearchCxx.Types Glean.Schema.SearchErlang.Types Glean.Schema.SearchHack.Types Glean.Schema.SearchHs.Types Glean.Schema.SearchPp.Types Glean.Schema.Src.Types Glean.Schema.SymbolidCxx.Types Glean.Schema.SymbolidJava.Types Glean.Schema.SymbolidKotlin.Types Glean.Schema.Sys.Types Glean.Schema.Fbthrift.Types build-depends: glean:if-glean-hs, glean:config, glean:core, glean:thrift-annotation -- library clang-test-xref -- import: fb-haskell, fb-cpp, deps -- visibility: public -- hs-source-dirs: lang/clang -- exposed-modules: -- Glean.Clang.Test.XRef library haxl-datasource import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/haxl exposed-modules: Haxl.DataSource.Glean Haxl.DataSource.Glean.Common build-depends: glean:config, glean:core, glean:if-glean-hs, glean:util, thrift-haxl executable gen-schema import: fb-haskell, fb-cpp, deps, exe scope: private main-is: Glean/Schema/Gen/Main.hs hs-source-dirs: glean/schema/gen ghc-options: -main-is Glean.Schema.Gen.Main other-modules: Glean.Schema.Gen.HackJson, Glean.Schema.Gen.Utils, Glean.Schema.Gen.Cpp, Glean.Schema.Gen.Haskell, Glean.Schema.Gen.OCaml, Glean.Schema.Gen.Python, Glean.Schema.Gen.Rust, Glean.Schema.Gen.Thrift build-depends: glean:core, glean:db, glean:config, glean:if-glean-hs, glean:if-internal-hs, aeson-pretty, fuzzy library bytecode-instruction import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/bytecode/def exposed-modules: Glean.Bytecode.Generate.Instruction build-depends: glean:bytecode library bytecode import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/bytecode exposed-modules: Glean.Bytecode.Types Glean.Bytecode.Decode Glean.Bytecode.SysCalls executable gen-bytecode-cpp import: fb-haskell, fb-cpp, deps, exe scope: private main-is: Glean/Bytecode/Generate/Cpp.hs hs-source-dirs: glean/bytecode/gen ghc-options: -main-is Glean.Bytecode.Generate.Cpp build-depends: glean:bytecode, glean:bytecode-instruction executable gen-bytecode-hs import: fb-haskell, fb-cpp, deps, exe scope: private main-is: Glean/Bytecode/Generate/Haskell.hs hs-source-dirs: glean/bytecode/gen ghc-options: -main-is Glean.Bytecode.Generate.Haskell build-depends: glean:bytecode, glean:bytecode-instruction library lib-derive import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/lib exposed-modules: Glean.Derive build-depends: glean:client-hs, glean:if-glean-hs library lib import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/lib exposed-modules: Glean.Util.CxxXRef Glean.Util.Declarations Glean.Util.Range Glean.Util.ToAngle Glean.Util.XRefs Glean.Util.Same Glean.Util.ShowSchemaId Glean.Write.SimpleAsync Glean.Util.PredMap Glean.Util.PredSet build-depends: glean:client-hs, glean:core, glean:db, glean:if-glean-hs, glean:schema, glean:util, split executable disassemble import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/tools/disassemble main-is: Disassemble.hs ghc-options: -main-is Disassemble extra-libraries: stdc++ build-depends: glean:bytecode, glean:db, glean:core, glean:if-glean-hs, glean:lib, glean:util, library test-unit import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/test/unit exposed-modules: Glean.Test.HUnit Glean.Test.Mock -- Stub for regression tests library handler import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/server exposed-modules: Glean.Handler build-depends: glean:client-hs, glean:if-fb303-hs, glean:if-glean-hs, glean:stubs, glean:db, glean:config, executable glean-server import: fb-haskell, fb-cpp, deps, exe, thrift-server hs-source-dirs: glean/server main-is: Glean/Server.hs ghc-options: -main-is Glean.Server default-extensions: CPP other-modules: Glean.Handler Glean.Server.Config Glean.Server.Sharding extra-libraries: stdc++ build-depends: glean:client-hs, glean:if-fb303-hs, glean:if-glean-hs, glean:if-index-hs, glean:stubs, glean:config, glean:core, glean:db, glean:util, haskeline >=0.7.3 && <0.9, json library shell-lib import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/shell exposed-modules: Glean.Shell Glean.Shell.Error Glean.Shell.Index Glean.Shell.Terminal Glean.Shell.Types default-extensions: CPP extra-libraries: stdc++ build-depends: glean:cli-types, glean:if-glean-hs, glean:stubs, glean:config, glean:core, glean:db, glean:client-hs, glean:client-hs-local, glean:indexers, glean:util, glean:lsif, haskeline >=0.7.3 && <0.9, json, monad-control, prettyprinter-ansi-terminal, split library indexers import: fb-haskell, fb-cpp, deps, thrift-server hs-source-dirs: glean/lang/clang glean/lang/flow glean/lang/go glean/lang/hack glean/lang/haskell glean/lang/java-lsif glean/lang/lsif/indexer glean/lang/scip/indexer glean/lang/swift glean/lang/python-scip glean/lang/dotnet-scip glean/lang/rust-lsif glean/lang/rust-scip glean/lang/typescript glean/index glean/index/list exposed-modules: Glean.Indexer Glean.Indexer.Cpp Glean.Indexer.External Glean.Indexer.Flow Glean.Indexer.Go Glean.Indexer.Hack Glean.Indexer.Haskell Glean.Indexer.JavaLsif Glean.Indexer.LSIF Glean.Indexer.SCIP Glean.Indexer.Swift Glean.Indexer.RustLsif Glean.Indexer.RustScip Glean.Indexer.Typescript Glean.Indexer.PythonScip Glean.Indexer.DotnetScip Glean.Indexer.List build-depends: glean:client-hs, glean:client-hs-local, glean:db, glean:handler, glean:interprocess, glean:lib-derive, glean:lsif, glean:scip, glean:stubs, glean:util library cli-types import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/tools/gleancli/plugin exposed-modules: GleanCLI.Types GleanCLI.Utils build-depends: glean:client-hs-local, glean:config, glean:db, glean:util, executable glean import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/tools/gleancli main-is: GleanCLI.hs other-modules: GleanCLI.Backup GleanCLI.Common GleanCLI.Complete GleanCLI.Derive GleanCLI.Finish GleanCLI.Merge GleanCLI.Index GleanCLI.Query GleanCLI.Restore GleanCLI.Write ghc-options: -main-is GleanCLI -with-rtsopts=-I0 extra-libraries: stdc++ build-depends: glean:cli-types, glean:client-hs, glean:client-hs-local, glean:db, glean:if-glean-hs, glean:indexers, glean:shell-lib, glean:stubs, glean:config, glean:core, glean:lib-derive, glean:util, json, split, Glob, executable glean-hyperlink import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/demo main-is: Hyperlink.hs ghc-options: -main-is Hyperlink extra-libraries: stdc++ build-depends: glean:lib, glean:schema, glean:util, glean:client-hs, http-types, wai, warp library hack-derive-lib import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/lang/hack exposed-modules: Derive.All Derive.Env Derive.HackDeclarationTarget Derive.Types Glean.Indexer.HackWithDeriver other-modules: Glean.Indexer.Hack build-depends: glean:client-hs, glean:core, glean:if-glean-hs, glean:indexers, glean:lib, glean:lib-derive, glean:schema, glean:util, IntervalMap, -- external hack deriver -- n.b in subdir to avoid recompilation of hack-derive-lib executable hack-derive import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/hack/deriver main-is: Derive.hs ghc-options: -main-is Derive build-depends: aeson-pretty, glean:client-hs, glean:hack-derive-lib, glean:schema, glean:stubs, glean:util, -- Haskell indexer via hie executable hie-indexer import: deps, fb-haskell, exe, haskell-indexer hs-source-dirs: glean/lang/haskell main-is: HieIndexer/Main.hs other-modules: HieIndexer.Index HieIndexer.Options ghc-options: -main-is HieIndexer.Main build-depends: ghc, glean:client-hs, glean:client-hs-local, glean:core, glean:lib, glean:schema, glean:stubs, glean:util, hie-compat < 0.3.1.2, hiedb >= 0.6 && < 0.7 -- ----------------------------------------------------------------------------- -- LSIF support library lsif import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/lang/lsif exposed-modules: Data.LSIF.Angle Data.LSIF.Env Data.LSIF.Gen Data.LSIF.JSON Data.LSIF.Moniker Data.LSIF.Types Glean.LSIF.Driver build-depends: aeson, split, library scip import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/lang/scip exposed-modules: Data.SCIP.Angle Glean.SCIP.Driver build-depends: glean:if-proto-scip-hs, glean:lsif, microlens, proto-lens, -- SCIP support. -- -- Haskell bindings and spec https://github.com/sourcegraph/scip -- library if-proto-scip-hs import: fb-haskell, deps exposed-modules: Proto.Scip, Proto.Scip_Fields hs-source-dirs: glean/lang/scip/proto build-depends: proto-lens-runtime -- ----------------------------------------------------------------------------- -- Glass services -- Glass thrift service definition library if-glass-hs import: fb-haskell, fb-cpp, deps visibility: public hs-source-dirs: glean/glass/if/glass/gen-hs2 exposed-modules: Glean.Glass.Types Glean.Glass.GlassService.Client Glean.Glass.GlassService.Service build-depends: glean:config, glean:if-fb303-hs, glean:if-index-hs, glean:thrift-annotation, library hash import: fb-haskell, fb-cpp, deps, folly visibility: public cxx-sources: glean/lang/clang/hash/hash.cpp install-includes: glean/lang/clang/hash/hash.h cxx-options: -DOSS=1 if !flag(use-folly-clib) pkgconfig-depends: openssl -- Glass core library library glass-lib import: fb-haskell, fb-cpp, deps, thrift-server visibility: public default-extensions: CPP hs-source-dirs: glean/glass exposed-modules: Glean.Glass.Annotations Glean.Glass.Attributes Glean.Glass.Attributes.Class Glean.Glass.Attributes.Frame Glean.Glass.Attributes.SymbolKind Glean.Glass.Base Glean.Glass.Comments Glean.Glass.Config Glean.Glass.Describe Glean.Glass.Digest Glean.Glass.Env Glean.Glass.Handler.Symbols Glean.Glass.Handler.Documents Glean.Glass.Handler.Cxx Glean.Glass.Handler.Utils Glean.Glass.Logging Glean.Glass.Main Glean.Glass.NameSearch Glean.Glass.Neighborhood Glean.Glass.Options Glean.Glass.Path Glean.Glass.Pretty.Angle Glean.Glass.Pretty.Cxx Glean.Glass.Pretty.Flow Glean.Glass.Pretty.Fbthrift Glean.Glass.Pretty.Hack Glean.Glass.Pretty.Haskell Glean.Glass.Pretty.Java Glean.Glass.Pretty.LSIF Glean.Glass.Pretty.Python Glean.Glass.Pretty.SCIP Glean.Glass.Query Glean.Glass.Query.Cxx Glean.Glass.Range Glean.Glass.RepoMapping Glean.Glass.Repos Glean.Glass.Search Glean.Glass.Search.Angle Glean.Glass.Search.Buck Glean.Glass.Search.Class Glean.Glass.Search.Cxx Glean.Glass.Search.Erlang Glean.Glass.Search.Flow Glean.Glass.Search.GraphQL Glean.Glass.Search.Hack Glean.Glass.Search.Haskell Glean.Glass.Search.Java Glean.Glass.Search.Kotlin Glean.Glass.Search.LSIF Glean.Glass.Search.Pp Glean.Glass.Search.Python Glean.Glass.SearchRelated Glean.Glass.Search.SCIP Glean.Glass.Search.Thrift Glean.Glass.SnapshotBackend Glean.Glass.SourceControl Glean.Glass.SymbolId Glean.Glass.SymbolId.Angle Glean.Glass.SymbolId.Buck Glean.Glass.SymbolId.Class Glean.Glass.SymbolId.CSharp Glean.Glass.SymbolId.Cxx Glean.Glass.SymbolId.Cxx.Parse Glean.Glass.SymbolId.Erlang Glean.Glass.SymbolId.Flow Glean.Glass.SymbolId.GraphQL Glean.Glass.SymbolId.Hack Glean.Glass.SymbolId.SCIP Glean.Glass.SymbolId.Java Glean.Glass.SymbolId.Hs Glean.Glass.SymbolId.LSIF Glean.Glass.SymbolId.Pp Glean.Glass.SymbolId.Python Glean.Glass.SymbolId.Fbthrift Glean.Glass.SymbolKind Glean.Glass.SymbolMap Glean.Glass.SymbolSig Glean.Glass.Tracer Glean.Glass.Tracing Glean.Glass.Utils Glean.Glass.Visibility Glean.Glass.XRefs build-depends: glean:client-hs, glean:client-hs-local, glean:core, glean:hash, glean:haxl-datasource, glean:if-glass-hs, glean:if-index-hs, glean:lib, glean:logger, glean:schema, glean:stubs, glean:util, uri-encode, split, ghc executable glass-server import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/glass/server main-is: Server.hs ghc-options: -main-is Server -threaded extra-libraries: stdc++ build-depends: glean:glass-lib, executable glass-symbol import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/glass/tools/ main-is: Glean/Glass/Test/Symbol.hs ghc-options: -main-is Glean.Glass.Test.Symbol extra-libraries: stdc++ default-extensions: CPP build-depends: glean:glass-lib, glean:if-glass-hs, glean:stubs, -- Minimal glass client showing how to wire things up executable glass-democlient import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/glass/tools/ main-is: Glean/Glass/Test/DemoClient.hs ghc-options: -main-is Glean.Glass.Test.DemoClient extra-libraries: stdc++ build-depends: glean:if-glass-hs, glean:stubs, glean:util, -- ----------------------------------------------------------------------------- -- Benchmarks library bench-util import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/bench/lib exposed-modules: Glean.Util.Benchmark build-depends: glean:stubs, criterion < 1.7 executable query-bench import: fb-haskell, fb-cpp, deps, exe if !flag(benchmarks) buildable: False hs-source-dirs: glean/bench main-is: QueryBench.hs other-modules: BenchDB ghc-options: -main-is QueryBench build-depends: glean:bench-util, glean:client-hs, glean:core, glean:db, glean:if-glean-hs, glean:schema, glean:test-lib, glean:util, criterion < 1.7 executable rename-bench import: fb-haskell, fb-cpp, deps, exe if !flag(benchmarks) buildable: False hs-source-dirs: glean/bench main-is: RenameBench.hs ghc-options: -main-is RenameBench build-depends: glean:bench-util, glean:core, glean:db, glean:schema, glean:test-lib, glean:util, criterion < 1.7 executable makefact-bench import: fb-haskell, deps, exe if !flag(benchmarks) buildable: False hs-source-dirs: glean/bench main-is: MakeFactBench.hs ghc-options: -main-is MakeFactBench build-depends: glean:bench-util, glean:client-hs, glean:core, glean:schema, glean:test-lib, criterion < 1.7 executable compile-bench import: fb-haskell, fb-cpp, deps, exe if !flag(benchmarks) buildable: False hs-source-dirs: glean/bench main-is: CompileBench.hs ghc-options: -main-is CompileBench build-depends: glean:client-hs, glean:core, glean:db, glean:if-glean-hs, glean:schema, glean:test-lib, glean:util, criterion < 1.7, criterion-measurement, statistics, vector-algorithms executable factset-bench import: fb-haskell, deps, exe if !flag(benchmarks) buildable: False hs-source-dirs: glean/bench main-is: FactSetBench.hs ghc-options: -main-is FactSetBench build-depends: glean:bench-util, glean:client-hs, glean:client-hs-local, glean:core, glean:db, glean:schema, glean:test-lib, glean:util -- ----------------------------------------------------------------------------- -- Tests library test-lib import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/test/lib exposed-modules: TestBatch TestDB TestData Glean.Database.Catalog.Test Glean.Database.Test build-depends: glean:core, glean:db, glean:schema, glean:config, glean:if-glean-hs, glean:if-internal-hs, glean:stubs, glean:test-unit, glean:util -- snapshot and other regression tests against glean library regression-test-lib import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/test/regression exposed-modules: Glean.Regression.Config Glean.Regression.Driver.External Glean.Regression.Indexer Glean.Regression.Snapshot Glean.Regression.Snapshot.Driver Glean.Regression.Snapshot.Options Glean.Regression.Snapshot.Query Glean.Regression.Snapshot.Result Glean.Regression.Snapshot.Transform Glean.Regression.Test cpp-options: -DOSS=1 build-depends: glean:client-hs, glean:client-hs-local, glean:db, glean:indexers, glean:if-glean-hs, glean:lib, glean:stubs, glean:test-lib, glean:util, split, yaml library clang-derive-lib import: fb-haskell, fb-cpp, deps hs-source-dirs: glean/lang/clang build-depends: ghc-compact, glean:client-hs, glean:client-hs-local, glean:core, glean:db, glean:lib, glean:lib-derive, glean:schema, glean:util, vector-algorithms exposed-modules: Derive.Common Derive.CxxDeclarationSources Derive.CxxSame Derive.CxxTargetUses Derive.Env Derive.Generic Derive.Lib Derive.Types test-suite clang-test-regression import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/clang/tests, glean/lang/clang/tests/github type: exitcode-stdio-1.0 main-is: Glean/Clang/Regression.hs other-modules: Glean.Regression.Driver.Clang Glean.Clang.Test ghc-options: -main-is Glean.Clang.Regression build-depends: glean:regression-test-lib, glean:indexers, glean:lib if !flag(clang-tests) buildable: False test-suite clang-test-derivefamilies import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/clang/tests, glean/lang/clang/tests/github type: exitcode-stdio-1.0 main-is: Glean/Clang/DeriveFamilies.hs other-modules: Glean.Clang.Test.DerivePass Glean.Clang.Test Glean.Regression.Driver.DeriveDeclFamilies ghc-options: -main-is Glean.Clang.DeriveFamilies build-depends: glean:if-glean-hs, glean:client-hs, glean:core, glean:regression-test-lib, glean:clang-derive-lib, glean:indexers, glean:lib if !flag(clang-tests) buildable: False test-suite clang-test-deriveattributes import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/clang/tests, glean/lang/clang/tests/github type: exitcode-stdio-1.0 main-is: Glean/Clang/DeriveAttrs.hs other-modules: Glean.Clang.Test.DerivePass Glean.Clang.Test Glean.Regression.Driver.DeriveFunctionDeclAttribute ghc-options: -main-is Glean.Clang.DeriveAttrs build-depends: glean:if-glean-hs, glean:client-hs, glean:core, glean:regression-test-lib, glean:clang-derive-lib, glean:indexers, glean:lib if !flag(clang-tests) buildable: False test-suite clang-test-derivefuncalls import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/clang/tests, glean/lang/clang/tests/github type: exitcode-stdio-1.0 main-is: Glean/Clang/DeriveFunCalls.hs other-modules: Glean.Clang.Test.DerivePass Glean.Clang.Test Glean.Regression.Driver.DeriveFunctionCalls ghc-options: -main-is Glean.Clang.DeriveFunCalls build-depends: glean:if-glean-hs, glean:client-hs, glean:core, glean:regression-test-lib, glean:clang-derive-lib, glean:indexers, glean:lib if !flag(clang-tests) buildable: False test-suite clang-test-deriveobjcinherit import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/clang/tests, glean/lang/clang/tests/github type: exitcode-stdio-1.0 main-is: Glean/Clang/DeriveObjCInheritance.hs other-modules: Glean.Clang.Test.DerivePass Glean.Clang.Test Glean.Regression.Driver.DeriveObjcInheritance ghc-options: -main-is Glean.Clang.DeriveObjCInheritance build-depends: glean:if-glean-hs, glean:client-hs, glean:core, glean:regression-test-lib, glean:clang-derive-lib, glean:indexers, glean:lib if !flag(clang-tests) buildable: False test-suite clang-test-codemarkup import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/clang/tests, glean/lang/clang/tests/github type: exitcode-stdio-1.0 main-is: Glean/Clang/CodeMarkup.hs other-modules: Glean.Clang.Test.DerivePass Glean.Clang.Test Glean.Regression.Driver.DeriveForCodemarkup ghc-options: -main-is Glean.Clang.CodeMarkup build-depends: glean:if-glean-hs, glean:client-hs, glean:core, glean:regression-test-lib, glean:clang-derive-lib, glean:indexers, glean:lib if !flag(clang-tests) buildable: False test-suite hack-derive-test import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/lang/hack/tests type: exitcode-stdio-1.0 main-is: Main.hs ghc-options: -main-is Main other-modules: Driver build-depends: glean:regression-test-lib, glean:hack-derive-lib, glean:indexers, if !flag(hack-tests) buildable: False library bench-lib import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/bench exposed-modules: BenchDB build-depends: glean:client-hs, glean:core, glean:db, glean:schema, glean:test-lib, -- Skip this one: it depends on the C++ code for the schema, and we -- don't want to generate and compile all that just for this one test. -- -- test-suite encoding -- import: test -- type: exitcode-stdio-1.0 -- main-is: EncodingTest.hs -- ghc-options: -main-is EncodingTest -- build-depends: -- base16-bytestring, -- test-compact, -- glean:stubs, -- glean:core, -- glean:schema -- -- library test-compact -- import: fb-haskell, fb-cpp, deps -- visibility: private -- include-dirs: . -- cxx-sources: -- glean/test/cpp/compact.cpp -- build-depends: -- schema-cpp -- -- library schema-cpp -- import: fb-haskell, fb-cpp, deps -- visibility: private -- include-dirs: . -- cxx-sources: -- glean/schema/gen-cpp2/glean_test_types.cpp -- glean/schema/gen-cpp2/glean_test_types_compact.cpp -- glean/schema/gen-cpp2/glean_test_types_binary.cpp -- glean/schema/gen-cpp2/glean_test_data.cpp -- glean/schema/gen-cpp2/builtin_types.cpp -- glean/schema/gen-cpp2/builtin_types_compact.cpp -- glean/schema/gen-cpp2/builtin_types_binary.cpp -- glean/schema/gen-cpp2/builtin_data.cpp -- glean/schema/gen-cpp2/sys_types.cpp -- glean/schema/gen-cpp2/sys_types_compact.cpp -- glean/schema/gen-cpp2/sys_types_binary.cpp -- glean/schema/gen-cpp2/sys_data.cpp -- ... etc. common test import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/test/tests build-depends: glean:test-lib, glean:test-unit, HUnit, common angle-test build-depends: glean:stubs, glean:core, glean:db, glean:if-glean-hs, glean:schema test-suite angle-test-angle import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/AngleTest.hs ghc-options: -main-is Angle.AngleTest test-suite angle-test-error import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/ErrorTest.hs ghc-options: -main-is Angle.ErrorTest test-suite angle-test-nested import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/NestedTest.hs ghc-options: -main-is Angle.NestedTest test-suite angle-test-derived import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/DerivedTest.hs ghc-options: -main-is Angle.DerivedTest test-suite angle-test-set import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/SetTest.hs ghc-options: -main-is Angle.SetTest test-suite angle-test-stored import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/StoredTest.hs ghc-options: -main-is Angle.StoredTest test-suite angle-test-array import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/ArrayTest.hs ghc-options: -main-is Angle.ArrayTest test-suite angle-test-rec-expansion import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/RecExpansionTest.hs ghc-options: -main-is Angle.RecExpansionTest test-suite angle-test-data import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/DataTest.hs ghc-options: -main-is Angle.DataTest test-suite angle-test-opt import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/OptTest.hs ghc-options: -main-is Angle.OptTest test-suite angle-test-misc import: test, angle-test type: exitcode-stdio-1.0 main-is: Angle/MiscTest.hs ghc-options: -main-is Angle.MiscTest test-suite api import: test type: exitcode-stdio-1.0 main-is: ApiTest.hs ghc-options: -main-is ApiTest build-depends: glean:stubs, glean:core, glean:if-glean-hs, glean:schema test-suite cppexception import: test type: exitcode-stdio-1.0 main-is: CppCatchTest.hs ghc-options: -main-is CppCatchTest build-depends: glean:stubs, glean:core, glean:db, glean:if-glean-hs, glean:schema test-suite timeout import: test type: exitcode-stdio-1.0 main-is: TimeoutTest.hs ghc-options: -main-is TimeoutTest build-depends: glean:client-hs, glean:stubs, glean:core, glean:schema, glean:bench-lib test-suite jsonwrite import: test type: exitcode-stdio-1.0 main-is: JSONWriteTest.hs ghc-options: -main-is JSONWriteTest build-depends: glean:client-hs, glean:stubs, glean:core, glean:db, glean:if-glean-hs, glean:schema, test-suite BinaryTest import: fb-haskell, fb-cpp, exe type: exitcode-stdio-1.0 main-is: glean/rts/tests/BinaryTest.cpp ghc-options: -no-hs-main cxx-options: -DOSS=1 build-depends: glean:rts pkgconfig-depends: gtest_main test-suite rtstest import: test type: exitcode-stdio-1.0 main-is: RTSTest.hs ghc-options: -main-is RTSTest build-depends: glean:client-hs, glean:stubs, glean:core, glean:schema, glean:config, glean:if-glean-hs, QuickCheck, quickcheck-text, test-suite rts-json import: test type: exitcode-stdio-1.0 main-is: RTSJSONTest.hs ghc-options: -main-is RTSJSONTest build-depends: glean:stubs, glean:core, QuickCheck, quickcheck-text, test-suite dbjanitor import: test type: exitcode-stdio-1.0 main-is: DatabaseJanitorTest.hs ghc-options: -main-is DatabaseJanitorTest build-depends: glean:stubs, glean:core, glean:db, glean:if-glean-hs, glean:if-internal-hs, glean:schema, glean:config, glean:util -- https://github.com/facebookincubator/Glean/issues/224 buildable: False test-suite dbderive import: test type: exitcode-stdio-1.0 main-is: DbDeriveTest.hs ghc-options: -main-is DbDeriveTest build-depends: glean:client-hs, glean:core, glean:db, glean:if-glean-hs, glean:if-internal-hs, glean:schema, glean:stubs test-suite backup import: test type: exitcode-stdio-1.0 main-is: BackupTest.hs ghc-options: -main-is BackupTest build-depends: glean:config, glean:core, glean:db, glean:if-glean-hs, glean:if-internal-hs, glean:schema, glean:stubs, glean:util test-suite catalog import: test type: exitcode-stdio-1.0 main-is: CatalogTest.hs ghc-options: -main-is CatalogTest build-depends: glean:stubs, glean:core, glean:db, glean:if-glean-hs, glean:if-internal-hs, QuickCheck, quickcheck-io, glean:util test-suite lifecycle import: test type: exitcode-stdio-1.0 main-is: LifecycleTest.hs ghc-options: -main-is LifecycleTest build-depends: glean:client-hs, glean:stubs, glean:core, glean:db, glean:if-glean-hs, glean:if-internal-hs, glean:util, QuickCheck, quickcheck-io, test-suite shard import: test type: exitcode-stdio-1.0 main-is: TestShard.hs ghc-options: -main-is TestShard build-depends: glean:stubs, glean:core, glean:if-glean-hs, test-suite publish-shards import: test type: exitcode-stdio-1.0 main-is: PublishShardsTest.hs hs-source-dirs: glean/server ghc-options: -main-is PublishShardsTest other-modules: DatabaseJanitorTest Glean.Server.Config Glean.Server.Sharding build-depends: glean:config, glean:core, glean:db, glean:if-glean-hs, glean:if-internal-hs, glean:schema, glean:stubs, glean:util test-suite dbproperties import: test type: exitcode-stdio-1.0 main-is: DbPropertiesTest.hs ghc-options: -main-is DbPropertiesTest build-depends: glean:client-hs, glean:stubs, glean:core, glean:if-glean-hs, test-suite parser import: test type: exitcode-stdio-1.0 main-is: ParserTest.hs ghc-options: -main-is ParserTest build-depends: glean:stubs, glean:core, test-suite schematest import: test type: exitcode-stdio-1.0 main-is: Schema/Basic.hs other-modules: Schema.Lib ghc-options: -main-is Schema.Basic build-depends: glean:stubs, glean:core, glean:db, glean:config, glean:if-glean-hs, glean:if-internal-hs, glean:lib-derive, glean:util, test-suite schemaevolves import: test type: exitcode-stdio-1.0 main-is: Schema/Evolves.hs other-modules: Schema.Lib ghc-options: -main-is Schema.Evolves build-depends: glean:stubs, glean:client-hs, glean:core, glean:db, glean:config, glean:if-glean-hs, glean:util, test-suite schemamulti import: test type: exitcode-stdio-1.0 main-is: Schema/Multi.hs other-modules: Schema.Lib ghc-options: -main-is Schema.Multi build-depends: glean:stubs, glean:core, glean:db, glean:config, glean:if-glean-hs, glean:if-internal-hs, glean:util, test-suite inventory import: test type: exitcode-stdio-1.0 main-is: InventoryTest.hs ghc-options: -main-is InventoryTest build-depends: glean:core, glean:db, glean:if-internal-hs, glean:stubs test-suite continuation import: test type: exitcode-stdio-1.0 main-is: ContinuationTest.hs ghc-options: -main-is ContinuationTest build-depends: glean:stubs, glean:core, glean:if-glean-hs, glean:schema test-suite lookup import: test type: exitcode-stdio-1.0 main-is: LookupTest.hs ghc-options: -main-is LookupTest cxx-sources: glean/rts/tests/LookupInvariants.cpp cxx-options: -DOSS=1 build-depends: glean:stubs, glean:core, glean:db test-suite incremental import: test type: exitcode-stdio-1.0 main-is: IncrementalTest.hs ghc-options: -main-is IncrementalTest build-depends: glean:stubs, glean:client-hs, glean:core, glean:db, glean:if-glean-hs, glean:lib-derive, glean:schema if arch(x86_64) buildable: True else buildable: False test-suite glass-range import: fb-haskell, fb-cpp, deps, exe hs-source-dirs: glean/glass/test default-extensions: CPP type: exitcode-stdio-1.0 main-is: Glean/Glass/Test/Range.hs ghc-options: -main-is Glean.Glass.Test.Range build-depends: HUnit, glean:client-hs, glean:glass-lib, glean:if-glass-hs, glean:lib, glean:schema, glean:stubs, glean:test-lib, glean:test-unit, ------------------------------------------------------------------------ -- Regression tests for schemas, indexers and systems -- -- Glean snapshot regression tests, these require the indexers installed -- test-suite glean-snapshot-flow import: fb-haskell, deps, exe hs-source-dirs: glean/lang/codemarkup/tests/flow type: exitcode-stdio-1.0 main-is: Glean/Regression/Flow/Main.hs ghc-options: -main-is Glean.Regression.Flow.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(flow-tests) buildable: False test-suite glean-snapshot-hack import: fb-haskell, deps, exe hs-source-dirs: glean/lang/codemarkup/tests/hack type: exitcode-stdio-1.0 main-is: Glean/Regression/Hack/Main.hs ghc-options: -main-is Glean.Regression.Hack.Main build-depends: glean:regression-test-lib, glean:indexers -- no regular hhvm builds for arm64 if !flag(hack-tests) buildable: False -- The Haskell indexer tests *only* work when run using Cabal with -- 'cabal run' or 'cabal test', because Cabal puts the hie-indexer -- binary in the PATH. test-suite glean-snapshot-haskell import: fb-haskell, fb-cpp, deps, exe, haskell-indexer hs-source-dirs: glean/lang/haskell/tests type: exitcode-stdio-1.0 main-is: Main.hs ghc-options: -main-is Main build-depends: glean:regression-test-lib, glean:indexers build-tool-depends: glean:hie-indexer, glean:glean test-suite glean-snapshot-codemarkup-haskell import: fb-haskell, fb-cpp, deps, exe, haskell-indexer hs-source-dirs: glean/lang/codemarkup/tests/haskell type: exitcode-stdio-1.0 main-is: Main.hs ghc-options: -main-is Main build-depends: glean:regression-test-lib, glean:indexers build-tool-depends: glean:hie-indexer, glean:glean test-suite glean-snapshot-rust-lsif import: fb-haskell, deps, exe hs-source-dirs: glean/lang/rust-lsif/tests type: exitcode-stdio-1.0 main-is: Glean/Regression/RustLsif/Main.hs ghc-options: -main-is Glean.Regression.RustLsif.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(rust-tests) buildable: False test-suite glean-snapshot-rust-scip import: fb-haskell, deps, exe hs-source-dirs: glean/lang/rust-scip/tests type: exitcode-stdio-1.0 main-is: Glean/Regression/RustScip/Main.hs ghc-options: -main-is Glean.Regression.RustScip.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(rust-tests) buildable: False test-suite glean-snapshot-python-scip import: fb-haskell, deps, exe hs-source-dirs: glean/lang/python-scip/tests type: exitcode-stdio-1.0 main-is: Glean/Regression/PythonScip/Main.hs ghc-options: -main-is Glean.Regression.PythonScip.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(python-tests) buildable: False test-suite glean-snapshot-dotnet-scip import: fb-haskell, deps, exe hs-source-dirs: glean/lang/dotnet-scip/tests type: exitcode-stdio-1.0 main-is: Glean/Regression/DotnetScip/Main.hs ghc-options: -main-is Glean.Regression.DotnetScip.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(dotnet-tests) buildable: False test-suite glean-snapshot-typescript import: fb-haskell, deps, exe hs-source-dirs: glean/lang/codemarkup/tests/typescript type: exitcode-stdio-1.0 main-is: Glean/Regression/TypeScript/Main.hs ghc-options: -main-is Glean.Regression.TypeScript.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(typescript-tests) buildable: False test-suite glean-snapshot-go import: fb-haskell, deps, exe hs-source-dirs: glean/lang/codemarkup/tests/go/ type: exitcode-stdio-1.0 main-is: Glean/Regression/Go/Main.hs ghc-options: -main-is Glean.Regression.Go.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(go-tests) buildable: False test-suite glean-snapshot-java-lsif import: fb-haskell, deps, exe hs-source-dirs: glean/lang/java-lsif/tests type: exitcode-stdio-1.0 main-is: Glean/Regression/JavaLsif/Main.hs ghc-options: -main-is Glean.Regression.JavaLsif.Main build-depends: glean:regression-test-lib, glean:indexers if !flag(java-lsif-tests) buildable: False test-suite glean-snapshot-lsif import: fb-haskell, deps, exe hs-source-dirs: glean/lang/codemarkup/tests/lsif/ type: exitcode-stdio-1.0 main-is: Glean/Regression/Lsif/Main.hs ghc-options: -main-is Glean.Regression.Lsif.Main build-depends: glean:regression-test-lib, glean:indexers ------------------------------------------------------------------------ -- glass regression tests -- library glass-regression import: fb-haskell, fb-cpp, deps visibility: private hs-source-dirs: glean/glass/test/regression/lib exposed-modules: Glean.Glass.Regression.Tests Glean.Glass.Regression.Util Glean.Glass.Regression.Snapshot build-depends: glean:client-hs, glean:glass-lib, glean:if-glass-hs, glean:client-hs-local, glean:indexers, glean:logger, glean:regression-test-lib, glean:stubs, glean:util, aeson-pretty, yaml -- common to all regression tests common glass-regression-deps hs-source-dirs: glean/glass/test/regression build-depends: HUnit, glean:client-hs-local, glean:glass-lib, glean:glass-regression, glean:if-glass-hs, glean:regression-test-lib, test-suite glass-regression-buck import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Buck.hs ghc-options: -main-is Glean.Glass.Regression.Buck buildable: False test-suite glass-regression-cpp import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 hs-source-dirs: glean/glass/test/regression, glean/lang/clang/tests, glean/lang/clang/tests/github main-is: Glean/Glass/Regression/Cpp/Github.hs ghc-options: -main-is Glean.Glass.Regression.Cpp.Github other-modules: Glean.Clang.Test Glean.Clang.Test.DerivePass Glean.Glass.Regression.Cpp Glean.Regression.Driver.DeriveForCodemarkup build-depends: glean:clang-derive-lib, glean:client-hs, glean:client-hs-local, glean:core, glean:if-glean-hs, glean:db, glean:indexers, glean:lib, glean:schema, glean:stubs, glean:util if !flag(clang-tests) buildable: False test-suite glass-regression-flow import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Flow/Main.hs ghc-options: -main-is Glean.Glass.Regression.Flow.Main other-modules: Glean.Glass.Regression.Flow build-depends: glean:client-hs, glean:indexers, glean:util if !flag(flow-tests) buildable: False test-suite glass-regression-hack import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Hack/Main.hs ghc-options: -main-is Glean.Glass.Regression.Hack.Main other-modules: Glean.Glass.Regression.Hack build-depends: glean:client-hs, glean:indexers, glean:util, if !flag(hack-tests) buildable: False test-suite glass-regression-haskell import: glass-regression-deps, fb-haskell, deps, exe, haskell-indexer type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Haskell/Main.hs ghc-options: -main-is Glean.Glass.Regression.Haskell.Main other-modules: Glean.Glass.Regression.Haskell build-depends: glean:client-hs, glean:indexers, glean:util build-tool-depends: glean:hie-indexer test-suite glass-regression-typescript import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/TypeScript/Main.hs ghc-options: -main-is Glean.Glass.Regression.TypeScript.Main other-modules: Glean.Glass.Regression.TypeScript build-depends: glean:indexers, glean:lsif if !flag(typescript-tests) buildable: False test-suite glass-regression-go import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Go/Main.hs ghc-options: -main-is Glean.Glass.Regression.Go.Main other-modules: Glean.Glass.Regression.Go build-depends: glean:indexers, glean:lsif if !flag(go-tests) buildable: False test-suite glass-regression-rust-lsif import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/RustLsif/Main.hs ghc-options: -main-is Glean.Glass.Regression.RustLsif.Main other-modules: Glean.Glass.Regression.RustLsif build-depends: glean:indexers, glean:lsif if !flag(rust-tests) buildable: False test-suite glass-regression-java-lsif import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/JavaLsif/Main.hs ghc-options: -main-is Glean.Glass.Regression.JavaLsif.Main other-modules: Glean.Glass.Regression.JavaLsif build-depends: glean:indexers, glean:lsif if !flag(java-lsif-tests) buildable: False test-suite glass-regression-python import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Python.hs ghc-options: -main-is Glean.Glass.Regression.Python buildable: False test-suite glass-regression-thrift import: glass-regression-deps, fb-haskell, deps, exe type: exitcode-stdio-1.0 main-is: Glean/Glass/Regression/Thrift.hs ghc-options: -main-is Glean.Glass.Regression.Thrift buildable: False