@@ -6,7 +6,9 @@ exports_files(["nixpkgs.nix"])
66load (
77 "@rules_haskell//haskell:defs.bzl" ,
88 "ghc_plugin" ,
9+ "haskell_binary" ,
910 "haskell_library" ,
11+ "haskell_test" ,
1012)
1113
1214cc_library (
@@ -16,25 +18,63 @@ cc_library(
1618 strip_include_prefix = "cbits" ,
1719)
1820
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
1949haskell_library (
2050 name = "inline-java" ,
2151 # cbits/bctable.h is included here so it can be found by Plugin.hs
2252 # at the same location when building with bazel as with stack.
23- srcs = glob ([
24- "src/**/*.hs" ,
25- "src/**/*.hsc" ,
26- "cbits/bctable.h" ,
27- ]),
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" ,
2869 visibility = ["//visibility:public" ],
2970 deps = [
30- ":bctable" ,
71+ ":bctable" , # keep
3172 "//jni" ,
3273 "//jvm" ,
3374 "@stackage//:Cabal" ,
3475 "@stackage//:base" ,
3576 "@stackage//:bytestring" ,
3677 "@stackage//:directory" ,
37- "@stackage//:filemanip" ,
3878 "@stackage//:filepath" ,
3979 "@stackage//:ghc" ,
4080 "@stackage//:language-java" ,
@@ -47,29 +87,63 @@ haskell_library(
4787 ],
4888)
4989
50- ghc_plugin (
51- name = "inline-java-plugin" ,
52- args = ["$(JAVABASE)/bin/javac" ],
53- module = "Language.Java.Inline.Plugin" ,
54- toolchains = ["@bazel_tools//tools/jdk:current_java_runtime" ],
55- 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" ,
56111 visibility = ["//visibility:public" ],
57- deps = [":inline-java" ],
58- )
59-
60- load (
61- "@bazel_gazelle//:def.bzl" ,
62- "DEFAULT_LANGUAGES" ,
63- "gazelle" ,
64- "gazelle_binary" ,
65- )
66-
67- gazelle (
68- name = "gazelle" ,
69- gazelle = ":gazelle_binary" ,
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+ ],
70124)
71125
72- gazelle_binary (
73- name = "gazelle_binary" ,
74- languages = DEFAULT_LANGUAGES + ["@io_tweag_gazelle_cabal//gazelle_cabal" ],
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+ ],
75149)
0 commit comments