peterebden on master
Named Outputs can only be depen… (compare)
samwestmoreland on master
Delete JavaBinaryExecutableByDe… (compare)
remote_file
rule whose url
depends on the values of the $OS
and $ARCH
environment variables. I want to build a please rule which can download a python-build-standalone distribution for the system currently building the rule, so I'm thinking it would be nice to write a bit of code which can map from $OS
and $ARCH
to the relevant LLVM target triple for python-build-standalone, then construct the URL for a given release on github and go and fetch it. Any advice welcome!
Error building target //third_party/go:_wasmtime#a_rule: exit status 1
please_go install -> /usr/bin/go version
please_go install -> mkdir -p pkg/linux_amd64/bin
please_go install -> touch LD_FLAGS
Compiling package github.com/bytecodealliance/wasmtime-go from []
2022/10/03 11:34:40 failed to compile github.com/bytecodealliance/wasmtime-go: /path/to/plz-out/tmp/third_party/go/_wasmtime#a_rule._build/third_party/go/wasmtime/ffi.go: malformed #cgo argument: -I/path/to/plz-out/tmp/third_party/go/_wasmtime#a_rule._build/third_party/go/wasmtime/build/include
Looking for some advice on how to resolve this. I'm pretty positive that it's upset about the #
character, given https://pkg.go.dev/cmd/cgo:
Also for security reasons, only a limited set of characters are permitted, notably alphanumeric characters and a few symbols, such as '.', that will not be interpreted in unexpected ways. Attempts to use forbidden characters will get a "malformed #cgo argument" error.
Hey folks! I've been eyeing please for the purpose of handling a mono repo, I was hoping maybe some folks could bounce some ideas with me on structure of the mono repo and the way to finagle myself into some lovely ideas. Currently I want to use please to explicitly handle building of containers that we can then use during a deployment pipeline (think CNAB style) . I've browsed the terraform pleasing, and unfortunately, I don't think it'll work for me primarily because I think it's more opinionated than I want it to be. I don't know if I WANT it to handle the terraform executable (bad of me I know...), or that I want it to manage providers. So I started on my adventure and would love some other great thoughts if they are available.
I'll continue my thoughts in the thread if anyone is interested and would like to chime in I'd love to hear some thoughts. :)
Hi,
I am an intern responsible for evaluating the distributed build systems available for both Windows and Linux.
I have few limitation which I need to consider before evaluating them
Should be Open Source/ Licensed (less preferably)
Supports both Win and Linux
Support CMake.
I wanted to know if Please satisfies all my requirements so that I can proceed with evaluating it for my team. Thanks.
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/pluggy/hooks.py", line 286, in __call__
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/pluggy/manager.py", line 93, in _hookexec
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/pluggy/manager.py", line 84, in <lambda>
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/pluggy/callers.py", line 203, in _multicall
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/_pytest/terminal.py", line 746, in pytest_terminal_summary
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/_pytest/terminal.py", line 1058, in short_test_summary
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/_pytest/terminal.py", line 1007, in show_simple
File "/Users/shona/PycharmProjects/please_monorepo/plz-out/tmp/src/greetings/greetings_test._test/run_1/greetings_test.pex/.bootstrap/_pytest/terminal.py", line 1120, in _get_line_with_reprcrash_message
ModuleNotFoundError: No module named 'wcwidth'
[Python]
TestRunner = pytest
Hello! I'm struggling to understand how to use go_mod_download
to resolve a circular go package problem. Specifically, I'm trying to add a dependency on the go opentelemetry module. I've tried quite a lot of things but consistently come back to errors either along the lines of:
failed to compile go.opentelemetry.io/otel/propagation: package cycle detected:
go.opentelemetry.io/otel/propagation
->go.opentelemetry.io/otel/trace
->go.opentelemetry.io/otel/internal/global
->go.opentelemetry.io/otel/propagation
... or, with various attempts to refactor out a go_mod_download
for go.opentelemetry.io/otel
and then reuse that as the download
parameter to multiple go_module
rules, something like this:
failed to compile go.opentelemetry.io/otel/propagation: package cycle detected:
go.opentelemetry.io/otel/propagation
->go.opentelemetry.io/otel/propagation
Can anyone point me to some working examples elsewhere, some documentation, or some other hints on how to resolve this? Thanks in advance!
TMPDIR={PROJECT_ROOT}/plz-out/tmp/
directory? The issue is it often results in a long file name and that is causing Unix socket binding related issues. For context, I am working on a rule for simplifying Hashicorp's Packer image creation process and I am hitting this issue: hashicorp/packer#2091
Hello, I'm having trouble using please. I'm trying to build ipxe with some custom config, so I have to copy a file into the newly downloaded ipxe sources, but I'm having a hard time doing it:
name = 'ipxe'
version = '1.21.1'
url = 'https://github.com/' + name + '/' + name + '/archive/refs/tags/v' + version + '.zip'
extract = new_http_archive(
name = name + '_' + version,
urls = [url],
strip_prefix = name + '-' + version,
build_file = name + '.BUILD',
)
# here I tried all sequences described here
# https://please.build/build_rules.html
# none worked except 'hash'
extract_loc = '$(out_location ' + extract + ')'
patch = genrule(
name = 'patch',
srcs = {
'config_h': ['config.h'],
},
outs = {
'config_h': ['config.h'],
},
tools = {
"cp": ["echo"],
},
cmd = [
'$TOOLS_CP "${SRCS_CONFIG_H}" AA' + extract_loc + 'AA ${OUTS_CONFIG_H}> /tmp/here'
],
deps = [extract],
)
filegroup(
name = 'ipxe',
deps = [extract, patch],
visibility = ['PUBLIC'],
)
The replacement sequence end up being empty (except for hash), so nothing between the 'AA'.
How can I add config.h in the newly downloaded sources?
Thanks,
Hugues
CONFIG
from a subinclude?
XXX/plz-out/bin/
in the PATH
for the current genrule?
pytest
is pretty out of date in https://github.com/thought-machine/please/blob/master/third_party/python/BUILD (5.4.3, from mid-2020). Are there are any plans to upgrade? This version doesn’t seem to work with recent versions of python
get_outs
but it only return a list, I'd like to do something like thisstg1 = genrule(
name = 'stage1_longprocessing',
outs = {
'A': ['a'],
'B': ['b'],
},
cmd = f"""
set -eux
stage1 --outputs "$OUTS_A" "$OUTS_B"
"""
)
stg2env = '\n'.join([f'STG1_{k}={v}' for k, v in get_outs(stg1)])
stg2 = genrule(
name = 'stage2',
srcs = [stg1],
cmd = f"""
set -eux
{stg2env}
stage2 "$STG1_A" "$STG1_B"
"""
)
subrepo_name
or canonicalise
return empty string(wrong) or throw null reference pointer exception error(should I report?). The error happens when either of the functions is used at the package level.
linux+please
on my mbair M1 apparently https://get.please.build/linux_arm64/16.26.1/please_16.26.1.tar.gz
(nor linux-aarch64
) is not published. I'm aware that I can build it on the fly but still wondering why I can't find a prebuilt binary... does someone know, please?
Good afternoon. Can someone help me understand why when importing the pgx
library in golang my lib is failing while building:
❯ pb //src/dbconn:main
Build stopped after 360ms. 1 target failed:
//src/dbconn:main
Error building target //src/dbconn:main: exit status 1
cannot find package github.com/jackc/pgx/v5/pgconn (using -importcfg)
cannot find package github.com/jackc/pgx/v5/internal/anynil (using -importcfg)
cannot find package github.com/jackc/pgx/v5/internal/sanitize (using -importcfg)
cannot find package github.com/jackc/pgx/v5/internal/stmtcache (using -importcfg)
cannot find package github.com/jackc/pgx/v5/pgtype (using -importcfg)
cannot find package github.com/jackc/pgx/v5/internal/pgio (using -importcfg)
/usr/lib/go/pkg/tool/linux_amd64/link: cannot open file : open : no such file or directory
This happens when I import the lib in go like:
import (
_ "github.com/jackc/pgx/v5"
)
fyi the library itself is declared and build successfully like (all deps are also build OK):
go_module(
name = "pgx",
module = "github.com/jackc/pgx/v5",
version = "v5.2.0",
deps = [
":xtext",
":xcrypto",
":pgpassfile",
":pgservicefile",
],
)
10:04:44.026 DEBUG: Terminating build worker /src/plz-out/bin/_please/javac_worker
10:04:44.026 DEBUG: Sending signal terminated to -122
10:04:44.056 DEBUG: Sending signal killed to -122