News for hackers. Stuff that matters.
Re:Bazel 1.0 by RcouF1uZ4gsC on Thursday October 17, 2019 @11:23PM (#21288388)
I only wish Bazel had been written in a language that produced native binaries like C++ or Go instead of Java. It seems like a waste for me as a non-Java developer to install Java on my dev machine just for Bazel.
Re:Bazel 1.0 by arianvanp on Friday October 18, 2019 @02:22AM (#21289097)
We didn't have Bazel on ARM for NixOS because we can't bootstrap openJDK on ARM. There's no source code for a JVM that compiles on ARM afaik. Though in theory we could package binary blobs from oracle and bootstrap JDK and Bazel from there, it means now our trust path for your critical build tool has a random Oracle blob in its trust path there that is extremely hard to get rid off.

Build systems should be easy to build. Bazel is not by a far shot due to java being a mess in this area (ironic given it being advertised as a cross platform language).

These issues are not important for everyone perhaps. (Heck the entire Kubernetes ecosystem pulls random binaries from docker hub without any cryptographic signatures.) but it's still a shame; especially for a build system.

Re:Bazel 1.0 by blub on Friday October 18, 2019 @02:29AM (#21289123)
Google builds stuff for themselves and then dumps it for extra reputation points on the dev community.

The part where this starts to suck is when their tools become pseudo-standards and everyone has to live with their decisions.

Re:Bazel 1.0 by munificent on Friday October 18, 2019 @12:30PM (#21292739)
I'm biased because I work at Google on an open source project, but the complaint here seems to be:

1. A corporation spends significant resources developing a project.

2. Then they release to allow the public to use it at zero cost. Often they even invest in supporting that external use.

3. The project provides enough value to so many users (who chose it of their own volition) that it becomes nearly a standard.

And this is somehow a bad thing?

Re:Bazel 1.0 by blub on Sunday October 20, 2019 @03:20PM (#21306395)
The complaint is that the tech mega-corps are too big and should be broken up. Then they wouldn't distort markets (among other things) by dumping free products subsidized through ads on them, only to forget about said products two years later.

Regarding your specific interpretation:

1. The product was developed for internal use AFAIK, then released externally.

2. Google is getting something out of this: a PR boost, better engineer retention and the engineers feel good about themselves.

3. All these projects not only don't become standards, but they just add to the pile of things one has to learn because there are still too many people that are fawning over anything published by FAANG.

Re:Bazel 1.0 by cerberusss on Saturday October 19, 2019 @02:24AM (#21297110)
I think it's unfair to sketch it as such. Isn't it clear that the parent is unhappy with the side-effects, rather than the project itself?
Re:Bazel 1.0 by panpanna on Friday October 18, 2019 @07:39AM (#21290433)
This is actually called the "throw over the fence" open source development model.

Most Google projects are like this, including Android which is the main reason why vendors struggle with os updates.

Re:Bazel 1.0 by nine_k on Friday October 18, 2019 @09:51AM (#21291330)
AFAICT Android is a pain to upgrade because of custom closed-source drivers and lack of ABI stability in Linux, so you need to recompile a driver for a newer kernel.

Android is not a Google's internal product, unlike Bazel.

Re:Bazel 1.0 by panpanna on Friday October 18, 2019 @05:05PM (#21295071)
Last week we had a major security vulnerability in Android just because Google can't user the same Linux kernel that everyone else are using.

There exist LTS kernel versions for a reason, you know.

Re:Bazel 1.0 by Grazester on Friday October 18, 2019 @12:30PM (#21292743)
This. Treble is suppose be their ABI
Re:Bazel 1.0 by jakobegger on Friday October 18, 2019 @05:53AM (#21289955)
Right. Like the v8 javascript engine. If you want to build it, you need to download gigabytes of sources and install Googles internal build system tools first...
Re:Bazel 1.0 by neop1x on Sunday October 20, 2019 @07:12PM (#21307974)
yes, and often lots of prebuilt build tools no one really knows how to build from source. It's a real mess open source.
Re:Bazel 1.0 by journalctl on Friday October 18, 2019 @09:31AM (#21291188)
They even maintain internal tools that are similar versions, but better. Google uses Borg internally, but they open sourced the cheap knock-off known as Kubernetes instead.
Re:Bazel 1.0 by rjsw on Friday October 18, 2019 @05:13AM (#21289815)
You could try cross-compiling OpenJDK from x86_64 to ARM. This is a lot easier in newer OpenJDK releases than it used to be.

Currently doing this for BSD using OpenJDK 11.

Re:Bazel 1.0 by namibj on Saturday October 19, 2019 @05:22AM (#21297601)
If needed, run with qemu userspace emulation.
Re:Bazel 1.0 by paulddraper on Friday October 18, 2019 @02:09PM (#21293687)
> we can't bootstrap openJDK on ARM

Irrespective of Bazel, that's an lot of software than can't run on NixOS ARM, including build-related stuff:

* Elasticsearch, Cassandra

* Eclipse, IntelliJ, Netbeans

* Jenkins

* Java toolchain, Android toolchain

> (ironic given it being advertised as a cross platform language

Indeed that is one of Java's hallmark features. Servers, desktops, phones, toasters.

---

FWIW it's not unheard of to require compiling on one platform for another. This is how most of the embedded world works.

Re:Bazel 1.0 by pgrulich on Friday October 18, 2019 @02:33AM (#21289141)
Is not the openjdk available for arm? What do you need from Oracle? https://adoptopenjdk.net/releases.html#aarch64_linux
Re:Bazel 1.0 by imrehg on Friday October 18, 2019 @03:25AM (#21289324)
This is aarch64 (that is 64-bit ARM), and NixOS seems more 32-bit arm looking at their wiki https://nixos.wiki/wiki/NixOS_on_ARM On the other hand, they do 64-bit too, so maybe there would be some way to do for one, then bootstrap the other?

Other idea, distributions like Debian, seems to build OpenJDK as well, so maybe that would be a way to get the initial package (through an existing distro) https://buildd.debian.org/status/logs.php?pkg=openjdk-11 - see the armel/armhf/arm64 architectures (arm64 equals aarch64).

Re:Bazel 1.0 by arianvanp on Friday October 18, 2019 @04:39AM (#21289649)
We only support aarch64 officially. 32 bit ARM is only community-supported.
Re:Bazel 1.0 by frankgrimes97 on Friday October 18, 2019 @09:47AM (#21291305)
Aren't there 32-bit ARM binaries available here? https://bell-sw.com or here? https://adoptopenjdk.net/releases.html?variant=openjdk11&jvm...
Re:Bazel 1.0 by jacquesm on Friday October 18, 2019 @04:00AM (#21289482)
Isn't there a way to get the Android toolchain to give you what you need? After all Dalvik is just Java warmed over and has a working VM, and there are plenty of ARM based Android phones.

That might get you bootstrapped to the point where you can use that to re-compile the community edition of Java.

Re:Bazel 1.0 by fooker on Friday October 18, 2019 @01:51PM (#21293535)
You are conflating the runtime environment with the development framework. Afaik, you can't develop native Android apps on Android.
Re:Bazel 1.0 by timokau on Sunday October 20, 2019 @04:48PM (#21307020)
This was true for a long time, but we do actually have a bootstrapped openjdk for arm since a few months: https://github.com/NixOS/nixpkgs/pull/65247
Re:Bazel 1.0 by zaphirplane on Friday October 18, 2019 @05:09AM (#21289800)
You want to build java from source on arm ? Can’t you borrow what AdoptopenJdk Does
Re:Bazel 1.0 by Vogtinator on Saturday October 19, 2019 @11:30AM (#21298984)
Can't you bootstrap older openJDK with (now discontinued) GCJ?
Re:Bazel 1.0 by paulddraper on Thursday October 17, 2019 @11:36PM (#21288437)
Parts of Bazel are written in C/C++.

The command line client as well as some low level file utilities.

But Bazel is distributed as a standalone package in several packaging systems; no need to install Java yourself.

Though I doubt many people know this; there's virtually no reason you would be exposed to its language implementation choices.

EDIT: Actually I believe Bazel is changing its .deb package to not be standalone, in order to comply with Debian requirements.

Re:Bazel 1.0 by bradfitz on Thursday October 17, 2019 @11:46PM (#21288472)
> there's virtually no reason you would be exposed to its language implementation choices

Um, doesn't it still have a client that starts up a persistent server and you then have to wait for that server to start up (which, being Java, takes forever) and then deal with those server processes hanging around?

That sounds like being exposed to its language implementation choices.

As opposed to, say, having fast start-up times and not using a server design like basically every other build too.

But my information might be out of date. That's what always soured me on it previously, though.

Re:Bazel 1.0 by paulddraper on Friday October 18, 2019 @12:04AM (#21288573)
Bazel doesn't start a server for Java JIT reasons.

It starts a server for (1) concurrency control (2) management of worker processes some languages use (3) caching the build graph (recall that Bazel works with very large code bases).

These reasons are independent of implementation in C++, Go, Rust, Java AOT, etc.

(And yes it doesn't have to use a persistent process to solve these problems. That is the solution it chooses.)

> not using a server design like basically every other build too

Buck, Pants, sbt, Gradle

Re:Bazel 1.0 by RcouF1uZ4gsC on Friday October 18, 2019 @12:38AM (#21288733)
> (And yes it doesn't have to use a persistent process to solve these problems. That is the solution it chooses.)

How much did the fact that Java is very slow starting up influence the decision to use a persistent process instead of some other solution?

Re:Bazel 1.0 by cromwellian on Friday October 18, 2019 @02:09AM (#21289060)
Java starts up in ~1s, something like Graal could make this faster. But I find this Java criticism more a symptom of Java-derangement syndrome, because python and node build systems have even worse startup times and no one says anything.
Re:Bazel 1.0 by jhasse on Friday October 18, 2019 @05:48AM (#21289931)
> python and node build systems have even worse startup times and no one says anything.

Noop build with Waf (build system written in Python) takes 0.13s on my system. Waf reports that the build actually takes 0.04s, so I guess 0.09s is Python's start-up time (and some other overhead).

Re:Bazel 1.0 by cromwellian on Friday October 18, 2019 @07:48AM (#21290482)
Java Hello World takes 0.132s on my Macbook pro. If I turn on -Xshare:on to use class data sharing, then it drops to 0.119s. Ergo, Java startup time is non-factor. Graal could make this even quicker, for example, a GraalVM AOT helloworld can be reduced to .008s startup, see https://github.com/graalvm/graalvm-demos/tree/master/java-ko... for example.

"time bazel" returns 0.098s

Running a null build took 0.84s, but Bazel does significantly more work, as it's working on a big monorepo, as both a build tool and a package manager.

In short, it is not a problem. But I've had npm take many many seconds for simple operations. "npm list" takes 2.9 seconds.

Python can be slow, depending on the tool. Waf sounds like it is simple and fast, but there are lots of other examples of slow python frameworks out there.

Re:Bazel 1.0 by cma on Friday October 18, 2019 @09:02AM (#21290993)
> "time bazel" returns 0.098s

For me it returns 1.6s on first run, .9s on second (bazel 0.29.1).

Re:Bazel 1.0 by cma on Friday October 18, 2019 @12:13PM (#21292599)

    $ time (echo 'quit()' | python)

    real    0m0.025s
    user    0m0.000s
    sys     0m0.031s

    $ time (echo 'quit()' | python3)

    real    0m0.036s
    user    0m0.031s
    sys     0m0.016s
(both are after it was already cached)
Re:Bazel 1.0 by paulddraper on Friday October 18, 2019 @01:50PM (#21293520)
Huh; I see < 0.15s.
Re:Bazel 1.0 by Liquid_Fire on Friday October 18, 2019 @06:39AM (#21290180)
> so I guess 0.09s is Python's start-up time (and some other overhead)

That is probably mostly Waf startup time. Python itself starts way faster than that (on the order of 10-20ms on my machine).

Re:Bazel 1.0 by paulddraper on Friday October 18, 2019 @01:53PM (#21293552)
Startup time in any interpreted language is very quickly simply proportional to the amount of code loaded.

   time python -c ''                               # 0.024s
   time python -c 'import argparse'                # 0.036s
   time python -c 'import argparse, json'          # 0.040s
   time python -c 'import argparse, json, httplib' # 0.065s
Re:Bazel 1.0 by pjmlp on Friday October 18, 2019 @03:39AM (#21289395)
Indeed, but it isn't a cool toy among this crowd.
Re:Bazel 1.0 by martius on Friday October 18, 2019 @03:37AM (#21289383)
My guess is that startup time is not the issue, but loading a large data structure (its cache) from disk can be.

Especially if you can't or don't want to use memory mapping because it's hard to do well.

But more importantly, I think that the server can monitor file changes ahead of time with things like inotify, saving the time of stat()-ing files when the user wants to perform a build.

Re:Bazel 1.0 by slrz on Saturday October 19, 2019 @10:26PM (#21301987)
Change monitoring with inotify is going to hit limits quickly.

I recently wanted to take a look at VSCode and it immediately shat itself over the maximum number of inotify watches being too low (the kernel I'm running restricts this to 8k for non-root users).

I then bumped the limit to the max (512k, I think, or about 7 copies of linux.git)…still no luck. Now imagine you have a Google-scale number of files.

Re:Bazel 1.0 by amelius on Friday October 18, 2019 @04:37AM (#21289632)
> Especially if you can't or don't want to use memory mapping because it's hard to do well.

Why do new languages never address this issue?

Re:Bazel 1.0 by londons_explore on Friday October 18, 2019 @05:07AM (#21289796)
In-kernal block caching of files is pretty crude - since the kernel has no knowledge of your data structures or which bits of your files you're going to be reading next, you end up having hundreds of page faults requiring single-sector disk reads for most workloads.
Re:Bazel 1.0 by beagle3 on Friday October 18, 2019 @07:51AM (#21290507)
That’s often the case if your file format evolves without taking a mmap use case into account. But for a format that’s designed with mmapping in mind, it is often ridiculously faster and more effective.

But most languages and environments don’t let you do that easily.

Re:Bazel 1.0 by jxramos on Friday October 18, 2019 @04:21AM (#21289559)
Aren't the hot compilers kept around under this mechanism to speed up the next incremental build round? I think it's not just caching of intermediate build output but also not letting the tools start from a cold start.
Re:Bazel 1.0 by paulddraper on Monday October 21, 2019 @02:32PM (#21315621)
Yes, and I included that in my point. Certain compilers: Java, Swift, TypeScript are faster with long-running worker processes.

To be fair, that doesn't require a long-running Bazel process to manage them, but that does become a natural choice.

Re:Bazel 1.0 by paulddraper on Friday October 18, 2019 @12:54AM (#21288795)
IDK.

I do know that Go wasn't an option :)

(Because it didn't exist)

Re:Bazel 1.0 by sz4kerto on Friday October 18, 2019 @02:30AM (#21289127)
JVM startup is sub-second. Still not great for e.g. small command line utilities, but completely fine otherwise.
Re:Bazel 1.0 by fnord123 on Friday October 18, 2019 @04:43AM (#21289669)
JVM startup for `java -version` is around 150ms on my machine:

    $ time java -version
    openjdk version "11.0.1" 2018-10-16
    OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

    real 0m0.159s
    user 0m0.116s
    sys 0m0.052s

This is how long it takes for a program like git to do actual work. Once you start running an actual program like Maven, it blows up to 500ms for `mvn -version`:

    $ time  mvn -version > /dev/null

    real 0m0.570s
    user 0m0.431s
    sys 0m0.145s

Bazel takes 150ms to do nothing:

    $ time bazel --version > /dev/null

    real 0m0.144s
    user 0m0.028s
    sys 0m0.063s
As a baseline, make takes under 30ms to do nothing:

    $ time make -version > /dev/null

    real 0m0.025s
    user 0m0.002s
    sys 0m0.016s
Re:Bazel 1.0 by jhasse on Friday October 18, 2019 @05:52AM (#21289948)
Seems similar on my system. Some more comparisions:

Waf written in Python:

    $ time ./waf --version >/dev/null

    real 0m0,068s
    user 0m0,056s
    sys 0m0,012s
Ninja written in C++:

    $ time ninja --version >/dev/null

    real 0m0,001s
    user 0m0,001s
    sys 0m0,000s
Re:Bazel 1.0 by pjmlp on Friday October 18, 2019 @08:26AM (#21290754)
Java 13 takes 97ms on Windows 10, and I haven't bothered to produce a Java native image before attempting it.

    PS C:\Workdir> Measure-Command { java -version }
    openjdk version "13" 2019-09-17
    OpenJDK Runtime Environment (build 13+33)
    OpenJDK 64-Bit Server VM (build 13+33, mixed mode, sharing)


    Days              : 0
    Hours             : 0
    Minutes           : 0
    Seconds           : 0
    Milliseconds      : 97
    Ticks             : 975572
    TotalDays         : 1.12913425925926E-06
    TotalHours        : 2.70992222222222E-05
    TotalMinutes      : 0.00162595333333333
    TotalSeconds      : 0.0975572
    TotalMilliseconds : 97.5572
About 60 ms more than make.

Hurray Make still wins, now what are we going to do with those 60ms... /s

Re:Bazel 1.0 by lultimouomo on Friday October 18, 2019 @10:26AM (#21291626)
FWIW, I don't think "java -version" is a good benchmark of java startup time - why should it start up the JVM just to print the version?
Re:Bazel 1.0 by pjmlp on Friday October 18, 2019 @02:18PM (#21293775)
I think that measuring anything less than 1s for CLI is silly, school playground measuring competition.
Re:Bazel 1.0 by fnord123 on Friday October 18, 2019 @03:25PM (#21294345)
The original comment was "JVM startup is sub-second. Still not great for e.g. small command line utilities, but completely fine otherwise."

For tooling it matters. Some scripts will have backticks and $() and each use of these could be up to a second and be acceptable? Not really. And if you want to run a command like `go fmt` every time you save a file in $EDITOR then you want it to be fast. Maybe when we use the Language Server Protocol everywhere, it will be a different world. But a lot of editors shell out for these features still - and you would never dream of shelling out to e.g. `mvn dependency:tree` because it's too slow.

Re:Bazel 1.0 by pjmlp on Friday October 18, 2019 @05:52PM (#21295370)
Unless I am missing something, 97ms looks pretty much sub-second to me.
Re:Bazel 1.0 by cromwellian on Friday October 18, 2019 @07:52AM (#21290515)
With Graal AOT you can make command line utilities that start on the order of 0.008s

https://github.com/graalvm/graalvm-demos/tree/master/java-ko...

Re:Bazel 1.0 by paulddraper on Friday October 18, 2019 @01:58PM (#21293593)
> make takes under 30ms to do nothing:

But in large code bases, make can take several seconds to do nothing, depending on the number of `$(shell find)`.

Whereas Bazel's time remains constant. Could it have been constantly 30ms instead of 150ms?

Sure. But that's nowhere near to being a problem for the usual code bases Bazel operates on.

Re:Bazel 1.0 by frankgrimes97 on Friday October 18, 2019 @10:40AM (#21291751)
$ time ./java -version openjdk version "14-ea" 2020-03-17 OpenJDK Runtime Environment (build 14-ea+19-824) OpenJDK 64-Bit Server VM (build 14-ea+19-824, mixed mode, sharing)

real 0m0.074s user 0m0.063s sys 0m0.025s

Re:Bazel 1.0 by sayrer on Friday October 18, 2019 @04:33AM (#21289618)
Does the initial startup time matter?

I think the server is kept around for a number of reasons that have nothing to do with Java startup time. Probably the biggest one is file-watching, using inotify, FSEvents, etc.

https://stackoverflow.com/questions/57982028/how-does-bazel-...

Re:Bazel 1.0 by brown9-2 on Friday October 18, 2019 @08:30AM (#21290786)
The server shuts itself down after some idle time, I’ve never had to actively manage any instances of it.
Re:Bazel 1.0 by zmmmmm on Friday October 18, 2019 @02:30AM (#21289128)
I always have the opposite reaction. When I see its a native tool I immediately think, "oh great, now to build this I need to know how to understand your weird glib / gcc version weird compile / link / error for some ecosystem I don't understand". Instead when I see Java / JVM and know that almost certainly I will have no problems like that.
Re:Bazel 1.0 by AsyncAwait on Friday October 18, 2019 @08:34AM (#21290820)
Eh, static binaries solve this & Gradle presents plenty of potential problems in my experience.
Re:Bazel 1.0 by boris on Friday October 18, 2019 @12:51AM (#21288782)
There are alternatives that satisfy this (valid, IMO) requirement. For example, there is build2 (https://build2.org ; full disclousure: I am involved with the project) that tries to achieve the same objectives (correct & fast builds, uniform interface accross platforms, being language agnostic, etc) though not necessarily using the same mechanisms (build2, for example, tries to be fairly light-weight). Here is the introduction if anyone is interested: https://build2.org/build2/doc/build2-build-system-manual.xht...
Re:Bazel 1.0 by gpderetta on Friday October 18, 2019 @04:52AM (#21289718)
I checked as I was interested, but it seems that build2 doesn't do distributed builds.

edit: remote->distributed

Re:Bazel 1.0 by boris on Friday October 18, 2019 @10:20AM (#21291577)
Not yet, but it's coming. And most of the really difficult infrastructure is already there, at least for the C/C++ compilation.
Re:Bazel 1.0 by mrath on Thursday October 17, 2019 @11:30PM (#21288416)
I think you don't need to install Java to use Bazel, it comes bundled. They have done some improvements to installer so that the user requires as less additional tools as possible to run Bazel.
Re:Bazel 1.0 by ksec on Friday October 18, 2019 @12:00AM (#21288547)
>I only wish Bazel had been written in a language that produced native binaries like C++ or Go instead of Java.

Java can be compiled into native binaries using GraalVM. Not to mention you dont actually have to install Java as it comes in bundled.

Re:Bazel 1.0 by meisterT on Friday October 18, 2019 @03:23AM (#21289319)
native-image performance without PGO might be worse than with JIT, at least in some experiments that I did.

See also https://github.com/oracle/graal/issues/979

Re:Bazel 1.0 by ComputerGuru on Friday October 18, 2019 @01:27AM (#21288932)
I have the same complaint about meson and python 3. You purposely use a low-level language to write dependency-free code, then your users need to install a bloated runtime just to build the damn thing.
Re:Bazel 1.0 by henryaj on Friday October 18, 2019 @05:40AM (#21289901)
You should look at Please: https://please.build

Bazel-like in many ways; written in Go.

Re:Bazel 1.0 by jgavris on Sunday October 20, 2019 @08:19AM (#21303660)
Bazel has been embedding Java for a year or so now. There's no need to concern the host environment with installing the JRE anymore. As a user, the fact that Bazel is written in Java is transparent.
Re:Bazel 1.0 by m0zg on Thursday October 17, 2019 @11:52PM (#21288506)
You don't need to install Java. It's bundled. In fact I'd recommend that you don't even install Bazel itself. Instead, install this: https://github.com/bazelbuild/bazelisk. This will install either the latest Bazel for you automatically, or you can pin a version of Bazel you want in each repository, to limit and control build system churn.
Re:Bazel 1.0 by neop1x on Sunday October 20, 2019 @07:14PM (#21307985)
It's funny how Java people always marketed Java as "write once, run everywhere" and they often bundle compatible platform-dependent JRE with platform-specific plugins. ^_^
Re:Bazel 1.0 by mrighele on Friday October 18, 2019 @02:21AM (#21289094)
Is that such a big issue though ?

The default install of my dev machine (Ubuntu) installed two different versions of python and perl5, neither of which I use. Other languages have been installed indirectly because I installed one tool or another. As long as the language itself doesn't get in the way (e.g. the tool is picky about the language version and requires extra work to install it) why should I care ?

Re:Bazel 1.0 by jhasse on Friday October 18, 2019 @08:42AM (#21290869)
I bet you're using Python and Perl indirectly, because lots of Ubuntu's tools are written in those languages.
Re:Bazel 1.0 by mgemard on Friday October 18, 2019 @02:55AM (#21289224)
You can use SDKMAN (https://sdkman.io/usage). It is like nvm.
Re:Bazel 1.0 by pjmlp on Friday October 18, 2019 @01:13AM (#21288869)
There are native code compilers for Java, one just has to bother to learn about them.

Plus, even if one does not use them, shipping a minimal runtime is hardly any different from having libc or libc++ dynamically linked.

Re:Bazel 1.0 by kristiandupont on Friday October 18, 2019 @03:43AM (#21289413)
I am going to be trying out Bazel next week and I intend to run it in a container. I assume this is possible?
Re:Bazel 1.0 by neop1x on Sunday October 20, 2019 @07:10PM (#21307969)
I guess that's why they use "gn" in newer projects like Fuchsia or Chrome?
Re:Bazel 1.0 by RhodesianHunter on Thursday October 17, 2019 @11:27PM (#21288403)
Why do you care if a JVM is on your dev machine?
Re:Bazel 1.0 by thejosh on Thursday October 17, 2019 @11:38PM (#21288445)
- One more thing to install - Does this work for 8/11/12/13/14/15/16?
Re:Bazel 1.0 by cromwellian on Friday October 18, 2019 @02:10AM (#21289063)
It's a stripped down JVM is bundled with bazel, you don't need to install it.
Re:Bazel 1.0 by weberc2 on Friday October 18, 2019 @12:03AM (#21288570)
My 2015 MBP is crawling between Safari, Docker, VS Code, and BitDefender (antivirus). Not sure how bulky the JVM is these days. That said, I wish it supported Python.
Re:Bazel 1.0 by harrygeez on Friday October 18, 2019 @01:24AM (#21288917)
Why do you even have Bitdefender installed?
Re:Bazel 1.0 by the_mitsuhiko on Friday October 18, 2019 @01:53AM (#21289013)
A lot of people have it for compliance reasons.
Re:Bazel 1.0 by slrz on Saturday October 19, 2019 @11:08PM (#21302113)
A lot of regulations are actually a lot more reasonable than one might think and refrain from mandating any specific technical measures.

Yet, people always seem to point to regulations to justify all kinds of snake oil salesmen garbage, even if obviously unfit to fulfill the stated objective.

Re:Bazel 1.0 by timc3 on Friday October 18, 2019 @01:55AM (#21289020)
If you are building software for others to consume it is a good idea to have at least some protection. Even it doesn’t ever pickup MacOS malware/virus - it might stop you from distributing that intended to infect other target OS or software.