Live data from Hacker News

Please – A cross-language build system

please.build

31–40 of 257 posts

Re: Please – A cross-language build system

#31
post #20

How easy is it to "port" BUILD files between the various open implementations (Bazel, Buck, Pants, Please)? If you have a project someone else wrote with the intention of using it in e.g. Bazel, can you integrate it into your Please build system, or would you need to treat it as an opaque build process (same as if you were shelling out to ./configure && make)? As a concrete example, one frustration at $DAYJOB is that…

I've only seriously worked with bazel, but it seems pants and bazel have at least enough compatibility for twitter to migrate to bazel. They gave a talk[0] at bazelcon this year about the effort.

[0] https://opensourcelive.withgoogle.com/events/bazelcon2020/wa...

Re: Please – A cross-language build system

#33

Admitting ignorance here, I have never intentionally used a build system like this. My normal process for e.g. Python deployment is to write a Dockerfile that installs the dependencies, installs packages, and then copies my user code in. Then I use Pulumi to upload that image to a Docker repository & deploy it to a k8s instance. What am I missing by doing that? This looks really slick, but I'm not sure how, why, or w…

Speaking from my own limited experience, plz works really well for compiled languages, and total-build approaches (everything from source). I am not sure how much of a multiplier it is for python, apart from finer-grained dependency control and good sandboxing

Re: Please – A cross-language build system

#34

Admitting ignorance here, I have never intentionally used a build system like this. My normal process for e.g. Python deployment is to write a Dockerfile that installs the dependencies, installs packages, and then copies my user code in. Then I use Pulumi to upload that image to a Docker repository & deploy it to a k8s instance. What am I missing by doing that? This looks really slick, but I'm not sure how, why, or w…

Those kinds of systems are for building stuff, they assume and have multiple build steps with complex dependency relations (like autogen header -> Compile -> link -> test), and that each step takes dozens of seconds and maybe even minutes.

In your case, it seems you only have one non-trivial step: python dep install. So this system will be quite overkill for you.

Re: Please – A cross-language build system

#35
"Please supports Linux, macOS and FreeBSD at the moment"

Let me know when I can actually use this on any machine I have to work on, instead of going "fuck you, Windows users". Writing cross-platform build tooling isn't rocket science, it's a choice. And the choice made here is stupidly disappointing in near as makes no difference 2021.

Re: Please – A cross-language build system

#36
post #8

"Installing: curl https://get.please.build | bash" ...one can stop reading there: this product is not aimed at this community.

Do you think clicking "yes" on an installer is any more secure?

Yes. For starters, it's much harder to suffer disastrous consequences from running truncated command due to terminated network connection when running an installer.

Re: Please – A cross-language build system

#37

"Please supports Linux, macOS and FreeBSD at the moment" Let me know when I can actually use this on any machine I have to work on, instead of going "fuck you, Windows users". Writing cross-platform build tooling isn't rocket science, it's a choice. And the choice made here is stupidly disappointing in near as makes no difference 2021.

Is this type of response called for?

Please be a good netizen.

If you’re interested in the project and are a Windows user, contribute to the project.

Re: Please – A cross-language build system

#38

"Please supports Linux, macOS and FreeBSD at the moment" Let me know when I can actually use this on any machine I have to work on, instead of going "fuck you, Windows users". Writing cross-platform build tooling isn't rocket science, it's a choice. And the choice made here is stupidly disappointing in near as makes no difference 2021.

I can see your point, pretty aggravating. Is WSL an option?

Re: Please – A cross-language build system

#39
post #11

It's hard to tell what the value proposition is here, apart from vague hand-waving about parallelization. The quick start is not enough to get started actually building something. Changing build systems is hard, and getting buy-in from the team even harder - so you need to demonstrate value up front.

For me it has the feeling of something I would play around with in my free time. But as a drop in replacement I agree, it's a bit of a hard sell for me.

If you have used (e.g) bazel before, I strongly encourage you to give it a bash, very easy to pickup and “feels good” to use

Re: Please – A cross-language build system

#40
post #7

"Installing: curl https://get.please.build | bash" ...one can stop reading there: this product is not aimed at this community.

I don’t think this is a fair reason to write the tool off. They support Homebrew, and I’m sure will add other install methods in the future. Piping to bash is no worse than clicking “yes” on every step of an install wizard.

The alternative is not “install wizard”, it is either “here is a deb file with no post* scripts” or “here is a tar.gz, extract it anywhere and add symlink”

Both of those are vastly safer, because they do not require root privileges, and guarantee to uninstall cleanly.

Post reply on HN