This repository has been archived by the owner on Nov 10, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
genrule(): Make deps to targets used in $(exe //path/to:target) and $(location //path/to:target) macros implicitly #128
Labels
Comments
We should totally fix this. Good catch! |
openstack-gerrit
pushed a commit
to openstack-infra/gerrit
that referenced
this issue
Jun 11, 2014
Number of bugs were fixed in recent Buck version: * java_binary: manifest_file rejects target name as input [1] * java_binary: optionally suppress manifest merging from dependent JARs [2] * java_library(): changing deps to provided_deps doesn't trigger library rebuild [3] * genrule: Make deps to $(exe :foo) and $(location :bar) implicitly [4] [1] facebook/buck#126 [2] facebook/buck#87 [3] facebook/buck#133 [4] facebook/buck#128 Change-Id: I8fb9f57676eac242b54892a50d90773bfc5cb0c0
openstack-gerrit
pushed a commit
to openstack-infra/gerrit
that referenced
this issue
Jun 11, 2014
Apply [1] on our Buck tree. [1] facebook/buck#128 Change-Id: Ie3a9de0b2ee3725170bcbd06df059ea5d9ae5252
The documentation still says the deps is required: http://facebook.github.io/buck/rule/genrule.html $(location //path/to:target) |
openstack-gerrit
pushed a commit
to openstack-infra/gerrit
that referenced
this issue
Jan 7, 2015
Since [1] Buck implicitly adds :foo and :bar in $(exe :foo) and $(location :bar) macros to the dependency list of genrule(). The code base was adjusted to reflect this enhancement in Ie3a9de0b2. In I996b8d2a1 the unneeded dependencies were partially re-added in CM integration code. Re-remove it again. [1] facebook/buck#128 Change-Id: I8d0aaa5c9f7586f04f169f8362709b1fc7b04dcc
estebank
pushed a commit
to estebank/gitiles
that referenced
this issue
Jan 30, 2015
Apply [1] on our Buck tree. [1] facebook/buck#128 Change-Id: Ia00a9fa2e4786a961e84fd5266ef97f364cec61e
uwolfer
pushed a commit
to gerrit-review/gerrit
that referenced
this issue
Jun 8, 2015
Since [1] dependencies to targets used in $(exe //path/to:target) and $(location //path/to:target) macros are added implicitly. [1] facebook/buck#128 Change-Id: Id98257e1118830205821e35816d0e562e56e961a
openstack-gerrit
pushed a commit
to openstack-infra/gerrit
that referenced
this issue
Jun 18, 2015
Since [1] dependencies to targets used in $(location //path/to:target) macro are added implicitly. This can be verified by using Bucks audit and targets commands: $ buck targets --json api [...] "buck.type" : "genrule", "name" : "api", "deps" : [ ], [...] So explicit dependencies are empty, but implicit dependencies are still present: $ buck audit dependencies api //gerrit-extension-api:extension-api //gerrit-extension-api:extension-api-javadoc //gerrit-extension-api:extension-api-src //gerrit-plugin-api:plugin-api //gerrit-plugin-api:plugin-api-javadoc //gerrit-plugin-api:plugin-api-src //gerrit-plugin-gwtui:gwtui-api //gerrit-plugin-gwtui:gwtui-api-javadoc //gerrit-plugin-gwtui:gwtui-api-src [1] facebook/buck#128 Change-Id: I6c8ddb40ef95ee45f6b6605e74381d55524229af
dpursehouse
added a commit
to gerrit-review/gerrit
that referenced
this issue
Oct 7, 2015
Since [1] dependencies to targets used in $(location //path/to:target) macro are added implicitly. Similar build rules simplification was applied in I6c8ddb40ef and in Id98257e111. [1] facebook/buck#128 Change-Id: Ife9717f37a9cdf55358da61b7e9df26fdf23c501
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Buck handles dependencies accross different rules inconistently. For all these rules the dependency to
:foo
will be made implicitly:In this light it's kind of unexpected, that macros
$(exe //path/to:target)
and$(location //path/to:target)
require me to list the dependencies explicitly, as it's stated in the documentation:So while this currently has to be:
this obviously must just be (especially following DRY principle):
The text was updated successfully, but these errors were encountered: