11exports_files (["nixpkgs.nix" ])
22
3+ # gazelle:exclude {benchmarks,examples,jvm-streaming,jvm-batching}
4+ # gazelle:resolve gazelle_cabal jvm @openjdk//:lib
5+
36load (
47 "@rules_haskell//haskell:defs.bzl" ,
58 "ghc_plugin" ,
9+ "haskell_binary" ,
610 "haskell_library" ,
11+ "haskell_test" ,
712)
813
914cc_library (
1015 name = "bctable" ,
11- hdrs = ["cbits/bctable.h" ],
1216 srcs = ["cbits/bctable.c" ],
17+ hdrs = ["cbits/bctable.h" ],
1318 strip_include_prefix = "cbits" ,
1419)
1520
21+ ghc_plugin (
22+ name = "inline-java-plugin" ,
23+ args = ["$(JAVABASE)/bin/javac" ],
24+ module = "Language.Java.Inline.Plugin" ,
25+ toolchains = ["@bazel_tools//tools/jdk:current_java_runtime" ],
26+ tools = ["@bazel_tools//tools/jdk:current_java_runtime" ],
27+ visibility = ["//visibility:public" ],
28+ deps = [":inline-java" ],
29+ )
30+
31+ load (
32+ "@bazel_gazelle//:def.bzl" ,
33+ "DEFAULT_LANGUAGES" ,
34+ "gazelle" ,
35+ "gazelle_binary" ,
36+ )
37+
38+ gazelle (
39+ name = "gazelle" ,
40+ gazelle = ":gazelle_binary" ,
41+ )
42+
43+ gazelle_binary (
44+ name = "gazelle_binary" ,
45+ languages = DEFAULT_LANGUAGES + ["@io_tweag_gazelle_cabal//gazelle_cabal" ],
46+ )
47+
48+ # rule generated from inline-java.cabal by gazelle_cabal
1649haskell_library (
1750 name = "inline-java" ,
1851 # cbits/bctable.h is included here so it can be found by Plugin.hs
1952 # at the same location when building with bazel as with stack.
20- srcs = glob (['src/**/*.hs' ,
21- 'src/**/*.hsc' ,
22- 'cbits/bctable.h' ,
23- ]),
53+ srcs = [
54+ "cbits/bctable.h" , # keep
55+ "src/GhcPlugins/Extras.hs" ,
56+ "src/Language/Java/Inline.hs" ,
57+ "src/Language/Java/Inline/Internal.hs" ,
58+ "src/Language/Java/Inline/Internal/Magic.hsc" ,
59+ "src/Language/Java/Inline/Internal/QQMarker.hs" ,
60+ "src/Language/Java/Inline/Internal/QQMarker/Names.hs" ,
61+ "src/Language/Java/Inline/Internal/QQMarker/Safe.hs" ,
62+ "src/Language/Java/Inline/Plugin.hs" ,
63+ "src/Language/Java/Inline/Safe.hs" ,
64+ "src/Language/Java/Inline/Unsafe.hs" ,
65+ ],
66+ ghcopts = ["-DVERSION_inline_java=\" 0.10.0\" " ],
67+ hidden_modules = ["GhcPlugins.Extras" ],
68+ version = "0.10.0" ,
2469 visibility = ["//visibility:public" ],
2570 deps = [
71+ ":bctable" , # keep
2672 "//jni" ,
2773 "//jvm" ,
28- ":bctable" ,
2974 "@stackage//:Cabal" ,
3075 "@stackage//:base" ,
3176 "@stackage//:bytestring" ,
3277 "@stackage//:directory" ,
33- "@stackage//:filemanip" ,
3478 "@stackage//:filepath" ,
3579 "@stackage//:ghc" ,
3680 "@stackage//:language-java" ,
@@ -43,12 +87,63 @@ haskell_library(
4387 ],
4488)
4589
46- ghc_plugin (
47- name = "inline-java-plugin" ,
48- args = ["$(JAVABASE)/bin/javac" ],
49- module = "Language.Java.Inline.Plugin" ,
50- toolchains = ["@bazel_tools//tools/jdk:current_java_runtime" ],
51- tools = ["@bazel_tools//tools/jdk:current_java_runtime" ],
90+ # rule generated from inline-java.cabal by gazelle_cabal
91+ haskell_test (
92+ name = "spec" ,
93+ srcs = [
94+ "tests/Language/Java/Inline/SafeSpec.hs" ,
95+ "tests/Language/Java/InlineSpec.hs" ,
96+ "tests/Main.hs" ,
97+ "tests/SafeSpec.hs" ,
98+ "tests/Spec.hs" ,
99+ ],
100+ extra_srcs = ["@openjdk//:rpath" ], # keep
101+ ghcopts = [
102+ "-optl-Wl,@$(location @openjdk//:rpath)" , # keep
103+ "-DVERSION_inline_java=\" 0.10.0\" " ,
104+ "-threaded" ,
105+ "-DHSPEC_DISCOVER_HSPEC_DISCOVER_PATH=$(location @stackage-exe//hspec-discover)" ,
106+ ],
107+ main_file = "tests/Main.hs" ,
108+ plugins = [":inline-java-plugin" ],
109+ tools = ["@stackage-exe//hspec-discover" ],
110+ version = "0.10.0" ,
52111 visibility = ["//visibility:public" ],
53- deps = [":inline-java" ],
112+ deps = [
113+ "//:inline-java" , # keep
114+ "//jni" ,
115+ "//jvm" ,
116+ "@stackage//:QuickCheck" ,
117+ "@stackage//:base" ,
118+ "@stackage//:hspec" ,
119+ "@stackage//:linear-base" ,
120+ "@stackage//:quickcheck-unicode" ,
121+ "@stackage//:text" ,
122+ "@stackage//:vector" ,
123+ ],
124+ )
125+
126+ # rule generated from inline-java.cabal by gazelle_cabal
127+ haskell_binary (
128+ name = "micro-benchmarks" ,
129+ srcs = ["benchmarks/micro/Main.hs" ],
130+ extra_srcs = ["@openjdk//:rpath" ], # keep
131+ ghcopts = [
132+ "-optl-Wl,@$(location @openjdk//:rpath)" , # keep
133+ "-DVERSION_inline_java=\" 0.10.0\" " ,
134+ "-threaded" ,
135+ ],
136+ main_file = "benchmarks/micro/Main.hs" ,
137+ plugins = [":inline-java-plugin" ],
138+ version = "0.10.0" ,
139+ visibility = ["//visibility:public" ],
140+ deps = [
141+ "//:inline-java" , # keep
142+ "//jni" ,
143+ "//jvm" ,
144+ "@stackage//:base" ,
145+ "@stackage//:criterion" ,
146+ "@stackage//:deepseq" ,
147+ "@stackage//:singletons" ,
148+ ],
54149)
0 commit comments