Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 24 12:13
    nmpowell commented #2461
  • May 24 12:13
    nmpowell closed #2461
  • May 24 12:13
    nmpowell commented #2461
  • May 23 12:19
    vlad-ivanov-name commented #2473
  • May 23 11:33
    vlad-ivanov-name opened #2473
  • May 21 10:55

    peterebden on master

    Update gson (#2472) (compare)

  • May 21 10:55
    peterebden closed #2472
  • May 21 09:55
    peterebden opened #2472
  • May 20 14:16

    peterebden on master

    Experimental static variable an… (compare)

  • May 20 14:16
    peterebden closed #2464
  • May 19 13:59

    peterebden on master

    Migrate other maps to src/cmap … (compare)

  • May 19 13:59
    peterebden closed #2469
  • May 18 14:54
    towe75 opened #2470
  • May 17 16:09
    peterebden opened #2469
  • May 17 16:08

    peterebden on master

    Genericise concurrent map imple… (compare)

  • May 17 16:08
    peterebden closed #2347
  • May 17 13:26
    peterebden synchronize #2347
  • May 16 21:48
    andrew-womeldorf commented #2466
  • May 16 19:08
    peterebden synchronize #2347
  • May 16 19:08

    peterebden on master

    Fix test failures (#2468) * Si… (compare)

Charles Swanberg
@afterthought
does anyone have a good process for creating and using prerelease builds? i have a few PRs (thought-machine/please#2275, https://github.com/thought-machine/please/pull/2315) pending still, but need to keep my team moving.
2 replies
joe smith
@Moppy_gitlab
Hi. I'm trying please for the first time. During the install, I got this message We were unable to automatically add Please to the PATH. so I followed the given advice on installing on the whole system with 'sudo cp ~/.please/bin/* /usr/local/bin. However, whenever I try to build something, it time out and produces a "plz-out" folder.
joe smith
@Moppy_gitlab
17:32:23.679  NOTICE: Build running for 1m10s, 6 / 10 tasks done, 1 worker busy
17:32:33.680  NOTICE: Build running for 1m20s, 6 / 10 tasks done, 1 worker busy
17:32:43.679  NOTICE: Build running for 1m30s, 6 / 10 tasks done, 1 worker busy
17:32:53.680  NOTICE: Build running for 1m40s, 6 / 10 tasks done, 1 worker busy
17:33:03.680  NOTICE: Build running for 1m50s, 6 / 10 tasks done, 1 worker busy
17:33:13.679  NOTICE: Build running for 2m0s, 6 / 10 tasks done, 1 worker busy
17:33:14.181  NOTICE: //_please:download still Extracting... after 2 minutes
razzyi
@razzyi:matrix.org
[m]
👋 given a list of paths, does the please language have a built in way to check if they exist on the fs?
2 replies
Mitya Kononchuk
@mijay
Hi, is there a way to pass secrets to gentest command? It seems to have secrets parameter, but according to documentation it is passed only to cmd and not to test_cmd.
1 reply
Christopher Dean Hagmann
@cdhagmann
I am trying to do the codelab (https://please.build/codelabs/python_intro/#2) and am getting this error:
10:13:12.792 CRITICAL: the required argument target was not provided
4 replies
ʃɐm Wilʃon
@numbsafari_twitter
I'm trialing a script internally that automatically generates BUILD.plz files for go dependencies based on go.mod + a config file that identifies modules that need to be broken down into separate groups of packages to resolve dependency cycles. I'd like to clean it up and change the config to be a bit more generic, but I was curious if this is something others would be interested in? My current workflow with this script is: 1) add an import in a .go file 2) run go mod tidy 3) run a shell script, build/go/regen 4) run plz test. If there are new cycles detected, I resolve those through config. It also makes upgrading versions of dependencies a lot faster, especially when they add new transitive deps.
22 replies
andrew
@andrew:testchat.wom.icu
[m]
I'd like to use a tool which is currently packaged as a docker image as the tool in a genrule, but I need to provide source files in the build directory to the container. When I try to pass $PWD to mount to the container, I'm getting Error: lstat <redacted>._build/plz-out: no such file or directory. Any pointers?
1 reply
PeterCDMcLean
@PeterCDMcLean
Hi, I'm a plz noob and have a question about subinclude.
The doc for subinclude says it must have exactly one output. How does this work if you have a sub design that has its own docs, test, and multiple binary outputs?
2 replies
Also, what if I want to subinclude something that only has a filegroup?
PeterCDMcLean
@PeterCDMcLean
To answer my own 2nd question it looks like you have to export _file
2 replies
PeterCDMcLean
@PeterCDMcLean
What is a please plugin as referenced in the config help section?
How does a plugin differ from a pleasing?
2 replies
PeterCDMcLean
@PeterCDMcLean

What is the recommended approach for builds with heterogenous architectures? Ex: Host ARM CPU w/ embedded CPU image (with different arch) ?

This was a common problem at one of my previous companies where CMake was a poor choice because:

  • You have to invoke CMake twice for both tool chains
  • Invoking it twice with proper dependencies is complicated to do correctly
13 replies
PeterCDMcLean
@PeterCDMcLean
Just in general, I'm evaluating Please as a build system where I'd add support for hardware design languages (VHDL, verilog) (synthesis, simulation)
It's a bit of a different design model for build systems but Please looks flexible enough to accomplish it
Some folks have added vivado rules to Bazel, but I envision something a lot more holistic
andrew
@andrew:testchat.wom.icu
[m]
Is there a preferred tag to use in github for please-related projects? I'd love both to be able to tag my stuff (currently using please-build) and also to find other projects people use please for.
5 replies
For example - I didn't even know about github.com/please-build/... until a comment here a few days ago, and seeing those projects was very helpful to build a plugin
David Marker
@dmarker
I realize please doesn't support arm but it does build itself on arm if you add a sha sum to third_party/go/BUILD. But attempting the first go codelab it tries to download please tools and fails. I was curious what was in please tools and its what I just built. But I can't seem to stop please from trying to download. I removed version from .plzconfig, I added SelfUpdate = false to .plzconfig ... nothing seems to work. How do I get plz to run with its currently installed version and tools?

Also --noupdate doesn't work:

plz run --noupdate //src:main
Build stopped after 530ms. 1 target failed:
//_please:_download#download
1 error occurred:

* Error retrieving https://get.please.build/linux_arm64/16.19.0/please_tools_16.19.0.tar.xz: 403 Forbidden
David Marker
@dmarker
I got it. Just have to specify all the tools, but your doc has a typo, EmbdedTool which should be EmbedTool on https://please.build/config.html. As long as FilterTool, PleaseGoTool, EmbedTool are set it uses installed tools.
7 replies
Pichet Itngam
@notsu
Hi, I'm wondering if there is any build file generator like https://github.com/bazelbuild/bazel-gazelle for please.build?
8 replies
kevincm1
@kevincm1

Hi, I'm able to build a go_binary target with the --arch linux_amd64 flag and a new target is printed to stdout with the OS prefixed. When I try to then build this second target, I still need to include the --arch flag. Is this the intended functionality?

Here's a quick example:

go_binary(
    name = "foo",
    srcs = ["hello.go"],
    deps = [
      "//examples/go/greetings:greetings"
    ],
)

Given the above target, I run this command and see the following print to stdout:

plz build //examples/go/greetings:foo --arch linux_amd64

Build finished; total time 60ms, incrementality 100.0%. Outputs:
///linux_amd64//examples/go/greetings:foo:
  plz-out/bin/linux_amd64/examples/go/greetings/foo

So my question phrased another way - should I be able to run this command below, now excluding the arch flag?

plz build ///linux_amd64//examples/go/greetings:foo
Build stopped after 17.42s. 1 target failed:
    ///linux_amd64//examples/go/greetings:greetings
Error building target ///linux_amd64//examples/go/greetings:greetings: exit status 1
find: plz-out/bin/tools/golang/1.17.6/pkg/linux_amd64: No such file or directory
compile: -importcfg: open importconfig: no such file or directory
3 replies
Maksim Kuvshinov
@DpoBoceka
Hi! I've been looking to adopt Please for building monorepo with several go/python/js apps/libs in it, but I am quite surprised regarding the concept of tackling individual go.mod.
It adds an "opinionated" pain and breaking point of syncing the deps with Buildfiles. But why it is preferable to tackle dependencies explicitly in there, why shouldn't we rely on lockfiles and dynamically parse them? It's not like developers want to deal with dependencies through Please when a native tooling is just reliable enough to not think of it at all? I saw 'go-geps' project, which adds complexity and sounds like it's meant to be a part project's core, not a hack around it. I saw that Pants don't require handling deps in the "bazel way". Are there any plans to make this common issue less sophisticated, though?
That being said, Please is an awesome project :))
11 replies
Maksim Kuvshinov
@DpoBoceka
What would be the preferred way of imitating docker-compose? For integration testing purposes I need to spin up container(s) with a database and other services
10 replies
Maksim Kuvshinov
@DpoBoceka
What's the ideal workflow for python builds -- how best to control depenencies?
9 replies
skaar
@skaar
when populateTarget adds test_outputs: addMaybeNamedOutput(s, "test_outputs", args[testOutputsBuildRuleArgIdx], t.AddTestOutput, nil, t, false) - can this be used somehow as input/src/data to, say, another test or build step?
3 replies
andrew
@andrew:wom.icu
[m]
I have a test target which runs HTTP tests against a server. I was thinking I'd be able to do something like plz run :webserver parallel :webserver-test, but that's not the same as running plz test :webserver-test. Any ideas?
6 replies
Peter Bocan
@PeterBocan
Hey guys, is there a recommended way how to use the subrepo definitions with all the Unix autoconf toolchain? (e.g. ./configure && make && make install)? Maybe worth documenting this somewhere...
chloekek
@chloekek
Are labels (as in build_rule(..., labels = ["foo", "bar"], ...)) related to build labels (as in //baz:qux)?
Jonathan Poole
@Tatskaari
No, it’s a poor name. They’re more like tags. You can use them to filter targets like ‘plz build —include foo —exclude bar’
chloekek
@chloekek
Thanks, that clears up a lot. :+1:
chloekek
@chloekek
In pre_build, is it possible to get the list of transitive dependencies, to be used with $(location ...)? There doesn’t seem to be a get_deps function like there is get_labels. Transitive dependencies are available during build when needs_transitive_deps is set, but without $(location ...) it’s a bit hard to get at them, currently using a **/ glob in a Bash for loop.
I guess I could do labels = ["foo:" + canonicalise(":" + name)], then get_labels(name, "foo:") lol :smile:
1 reply
Siva Sai Teja
@sivasaitejaathota_gitlab
hey everyone, has anyone here worked on gentest instead of genrule. So the goal of this is basically test out unit test or any sorts of test without performing the compilation. The document around gentest is not very helpful.
2 replies
Nataphon Kabkaew
@nataphonk
Hello. Could someone please let me know a way to get a value from a key in srcs dict in genrule? Thanks!
2 replies
Nataphon Kabkaew
@nataphonk
Hi. I found that when I write a build rule with label ["codegen"]. The rule is built correctly and reflected by a change in plz-out. But the file is not copy back to the source tree. Any ideas is appreciated. Thank in advance!
7 replies
Nataphon Kabkaew
@nataphonk
When I use please.build in a Go project. The Go language server from VSCode spits out tons of errors and it slows down the IDE so much. Does anyone has a fix?
4 replies
Aris Pikeas
@pikeas

Is there an example online for using python_wheel? I just tried adding numpy using pip_library, which failed with:

ERROR: Could not build wheels for numpy which use PEP 517 and cannot be installed directly

I'm on an M1 Mac, so I checked against a plain venv: python -m venv foo; cd foo; ./bin/pip install numpy successfully installs numpy-1.22.3-cp310-cp310-macosx_11_0_arm64.whl, so it looks like an issue with plz

aronggile
@aronggile
New to Please.Build. Anyone using Please for building C++/Wasm project? Thanks
4 replies
aronggile
@aronggile
How does please discover custom build rules? Where should a custom build rule be placed? Is it in [project-root]/build_defs/custom.build_defs?? or is it [root]/build/defs/?? the example and the doc provide different information.
3 replies
andrew
@andrew:wom.icu
[m]
Is it possible to sandbox a target in one profile but not another? My CI container is struggling with the sandbox, but it works fine outside of the container
3 replies
Skene
@SkeneZr

Hi,

I need some help about this function:

// CoverageFile returns the output coverage file for tests for this target.
func (target *BuildTarget) CoverageFile() string {
    return path.Join(target.OutDir(), ".test_coverage_"+target.Label.Name)
}

I wanna add coverage in sonar but sonar need Path to the directory containing native *.gcov reports (not the XML reports generated by gcovr) and please generated file without extension

do you have any advice ?

12 replies
Jean-Nicolas Moal
@jnmoal
Hello everyone, I've posted an issue on GitHub concerning authentication for private registries on base image, I've been stuck on this for days, and the documentation doesn't help. Can someone take a look please? :
thought-machine/please#2466
Jonathan Reyes
@panbanda
I am liking this tool, nice job all!
I am trying to wrap my head around doing this for a rails piece we're splitting into microservices. It will have to live in this monorepo and not sure completely how dependencies are tracked on something like that
Do you have any docs or things I can look at?
Working on a polyglot- will have ts, go, rails.