erlang-rebar/rebar-0004-Be-sure-to-filte...

46 lines
1.6 KiB
Diff

From 53508faa9cba923751653901ba21d6025da46e5b Mon Sep 17 00:00:00 2001
From: Dave Smith <dizzyd@dizzyd.com>
Date: Mon, 12 Nov 2012 20:18:00 -0700
Subject: [PATCH 04/10] Be sure to filter empty sources (h/t to Tuncer and Joe
Norton)
---
src/rebar_port_compiler.erl | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/rebar_port_compiler.erl b/src/rebar_port_compiler.erl
index 71b27a5..70ee308 100644
--- a/src/rebar_port_compiler.erl
+++ b/src/rebar_port_compiler.erl
@@ -248,16 +248,17 @@ needs_link(SoName, NewBins) ->
%%
get_specs(Config, AppFile) ->
- case rebar_config:get_local(Config, port_specs, []) of
- [] ->
- %% No spec provided. Construct a spec
- %% from old-school so_name and sources
- [port_spec_from_legacy(Config, AppFile)];
- PortSpecs ->
- Filtered = filter_port_specs(PortSpecs),
- OsType = os:type(),
- [get_port_spec(Config, OsType, Spec) || Spec <- Filtered]
- end.
+ Specs = case rebar_config:get_local(Config, port_specs, []) of
+ [] ->
+ %% No spec provided. Construct a spec
+ %% from old-school so_name and sources
+ [port_spec_from_legacy(Config, AppFile)];
+ PortSpecs ->
+ Filtered = filter_port_specs(PortSpecs),
+ OsType = os:type(),
+ [get_port_spec(Config, OsType, Spec) || Spec <- Filtered]
+ end,
+ [S || S <- Specs, S#spec.sources /= []].
port_spec_from_legacy(Config, AppFile) ->
%% Get the target from the so_name variable
--
1.8.1.4