wide-midnight-78598
06/17/2022, 7:10 PM_binary
and I'm assuming that's referring to an artifact that is directly executable?
For library-centric, I see _package
and _distribution
Then I see a go_mod
jvm_artifact
and `jvm_war`and maybe deploy_jar
- which seem to be language-centric
So, if I'm creating a static or shared library (let's say C++ or Swift), should I call that _library
? Because that also used to be an alias for something... python_sources
maybe?witty-crayon-22786
06/17/2022, 7:35 PM_binary
, _distribution
, jvm_war
, and deploy_jar
are “shippable artifacts”… they turn into loose files in dist
which you might ship somewhere, and are mostly consumed by the package
goalwitty-crayon-22786
06/17/2022, 7:36 PMgo_mod
, go_package
and *_sources
are more like library code (although go_package
is odd because it can be packaged or tested or etc)witty-crayon-22786
06/17/2022, 7:39 PM_library
or _sources
likely make sense, assuming that you have some other target type to represent a deployable/shippable thing.witty-crayon-22786
06/17/2022, 7:40 PMswift_binary
target would consume `_library`s and be packagable into a (static?) binarywide-midnight-78598
06/17/2022, 7:41 PMpex_binary
generated via the package
goal?
It's all semantics, but I'm just trying to stick consistent with whatever is desired, so I'm not adding random targets.
In my case, I take something like cxx_sources
and then can be compiled into an executable (cxx_binary
?) or, I might wrap them into a library (cxx_library
?)wide-midnight-78598
06/17/2022, 7:41 PMwide-midnight-78598
06/17/2022, 7:42 PM_binary
can be executable, and also used by ./pants run
(though, this thinking might change with the new run on sources stuff`witty-crayon-22786
06/17/2022, 7:42 PMIn my case, I take something likeyea, potentially. theand then can be compiled into an executable (cxx_sources
?) or, I might wrap them into a library (cxx_binary
?)cxx_library
_sources
/ _library
split might make sense if you would like a separate target that defines a “shippable”/“deployable”/“packageable” librarywide-midnight-78598
06/17/2022, 7:43 PMsources
as something a developer would edit. Libraries/Binaries are generated from sources/files/resourceswide-midnight-78598
06/17/2022, 7:44 PMwitty-crayon-22786
06/17/2022, 7:46 PM_sources
/ _library
split might be that you want to have different “deployments” of the same compiled sources, and the settings/fields for the deployment/`_library` are different from the settings/fields for the _sources
witty-crayon-22786
06/17/2022, 7:46 PMwitty-crayon-22786
06/17/2022, 7:47 PMbazel
and `buck`: pants has more CLI goals than they do, and that affects things a bit. but most of “this target needs this data, that target needs that data” applies in both cases.wide-midnight-78598
06/17/2022, 7:48 PMwide-midnight-78598
06/17/2022, 7:50 PM