THRIFT-3264 Fix Erlang 16 namespaced types
Client: Erlang
Patch: Nobuaki Sukegawa <nsukeg@gmail.com>
This closes #566
diff --git a/lib/erl/Makefile.am b/lib/erl/Makefile.am
index 1f65a24..f48ff0a 100644
--- a/lib/erl/Makefile.am
+++ b/lib/erl/Makefile.am
@@ -21,12 +21,19 @@
THRIFT_FILES = $(wildcard test/*.thrift) \
../../test/ThriftTest.thrift
-.generated: $(THRIFT_FILES)
+if ERLANG_OTP16
+.generated: $(THRIFT) $(THRIFT_FILES)
for f in $(THRIFT_FILES) ; do \
- $(THRIFT) --gen erl -o test $$f ; \
+ $(THRIFT) --gen erl:otp16 -o test $$f ; \
+ done ;
+else
+.generated: $(THRIFT) $(THRIFT_FILES)
+ for f in $(THRIFT_FILES) ; do \
+ $(THRIFT) --gen erl -o test $$f ; \
done ; \
$(THRIFT) --gen erl:maps -o test test/Thrift3214.thrift ; \
touch .generated
+endif
all: .generated
./rebar get-deps
diff --git a/lib/erl/rebar.config b/lib/erl/rebar.config
index 0f5d40e..1ea18a4 100644
--- a/lib/erl/rebar.config
+++ b/lib/erl/rebar.config
@@ -1 +1 @@
-{erl_opts, [debug_info]}.
+{erl_opts, [{platform_define, "^R.*", otp16_or_less}, debug_info]}.
diff --git a/lib/erl/test/test_thrift_3214.erl b/lib/erl/test/test_thrift_3214.erl
index 118e779..0f9544b 100644
--- a/lib/erl/test/test_thrift_3214.erl
+++ b/lib/erl/test/test_thrift_3214.erl
@@ -23,6 +23,7 @@
-include("gen-erl/thrift3214_types.hrl").
-ifdef(TEST).
+-ifndef(otp16_or_less).
-include_lib("eunit/include/eunit.hrl").
record_generation_test_() ->
@@ -56,3 +57,4 @@
].
-endif.
+-endif.