google/jsinterop-base

Build fails on Mac OS due to using sed in-place with symbolic link

johnthuss opened this issue · 2 comments

The build step that uses sed to replace the "// J2CL_only" tokens causes the build to fail on Mac OS since it uses in-place replacement on a symbolic link.

sed -i.bak '''s|// J2CL_ONLY ||g'

The error given is:
sed: java/jsinterop/base/Any.java: in-place editing only works for regular files

You can workaround it by using "gsed" (gnu-sed) instead, which is available from homebrew: "brew install gnu-sed".

build.log

It also forces you to supply “build --spawn_strategy=local” in bazelrc or on cli which is super annoying

gkdn commented

It seems like most don't see that due to custom bazelrc which is recommended for our users.
Could you send a patch?