facebook / facebook/buck2

Conflicting inputs on erlang build of Opentelemetry

Open
#596 1 comment 1 reaction 0 assignees View on GitHub
erlang
Dominant language
Rust
Stars
4.4k
Forks
394
PR merge metrics
No merged PRs in 30d

Description

Hi,

We use open-telemetry as a third party dependency (https://github.com/open-telemetry/opentelemetry-erlang), but are hitting a problem with the conflicting inputs check in erlang_application. The issue is caused by the opentelemetry_api_experimental and the opentelemetry_experimental both having include files names "otel_metrics.hrl". I get that might not be best practice, but I think the reasoning is that the otel_metrics.hrl inside opentelemetry_experimental is not part of the public API, so in principal outside code shouldn't care what that file is called.

For my rules, I have specified the hols in opentelemetry_experimental as part of "srcs", so they should be private:

```
erlang_application(
name = "opentelemetry_experimental",
srcs = glob(["opentelemetry/apps/opentelemetry_experimental/src/*.erl", "opentelemetry/apps/opentelemetry_experimental/include/*.hrl"]),
version = "1.2.1",
...
```

and for opentelemetry_experimental_api the hrls are listed in "includes":

```
erlang_application(
name = "opentelemetry_api_experimental",
srcs = glob(["opentelemetry/apps/opentelemetry_api_experimental/src/*.erl"]),
includes = glob(["opentelemetry/apps/opentelemetry_api_experimental/include/*.hrl"]),

```

Would it be reasonable for the conflict checker to take into account the private vs public distinction?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.