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 _sourceswitty-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