Open Tatskaari opened 1 year ago
There's also #2629
This issue has been automatically marked as stale because it has not had any recent activity in the past 90 days. It will be closed if no further activity occurs. If you require additional support, please reply to this message. Thank you for your contributions.
I can take a stab at whats still open. I looked and I think this is the status. Am I correct?
Thanks! I can try and give a quick overview of these:
Entry points (what are these?)
These were introduced for SDKs like golang and Java where you want access to go
and javac
but these require access to other files relative to the binary being run e.g. the compiled Go sources under the go root, or the .jar files for the standard library. These use the same format as named outputs i.e. //third_party/go:toolchain|go
, but you get the whole output of //third_party/go:toolchain
in your temp dir, but when you reference them e.g. via $TOOLS
or $SRCS
, you only get the specific output i.e. TOOLS=plz-out/binary/third_party/go/toolchain/bin/go
, rather than TOOLS=plz-out/binary/third_party/go/toolchain
(if you had used the unannoted label).
Different dep types
We have a number of ways to depend on other targets:
$SRCS
in the build command, and can also be a dict in which case you get $SRCS as well as $SRCS_{name}. Additionally, there are some flags to control how dependencies are hooked up:
Magic build labels still open
Might be worth digging through the code here but there are a few I'm aware of:
plz test
and plz test //blah/...
won't pick up //blah:target
if //blah:target
is marked as manual. plz generate
command and LinkGeneratedSources
config option to add symlinks (or hardlinks if configured) back into the source tree for generated sources. This helps with IDE integration, where generated sources are expected to be checked in to VCSs. link:
and hlink:
: links the output of a target to the specified path. We use this to populate plz-out/go
(have a look at go_repo
and go_module
etc.)There are probably a couple more lost to time.
@Tatskaari thanks for all the details. I need to grok it a bit more for myself. But I'll start to see if there is something I can already take a stab at. And I'll go thru the code a bit to understand the usage.
We should probably document under advanced:
link:
,codegen:
, andmanual