Code Monkey home page Code Monkey logo

Comments (8)

niloc132 avatar niloc132 commented on August 26, 2024 1

I wouldn't say they are not well supported, but they don't nest nicely (i.e. one WORKSPACE per git repo?), and if you modify your own WORKSPACE to point at a local copy of some project "foo" instead of a remote one, you need to iterate over your other dependencies and also download and modify any of them which also point to that same "foo". For this reason, it makes a lot more sense to just either have one big project, or maybe some kind of easy switch to toggle between local/development or remote/stable (I've seen lots of projects that move their deps into a bzl file instead of WORKSPACE, and generally assume that this is why that is done, so you can share those, like maven poms? https://docs.bazel.build/versions/master/external.html#transitive-dependencies and the rest of the file discuss this a bit, but I haven't found any "best practices" docs that really dig in to this topic).

from elemental2.

gkdn avatar gkdn commented on August 26, 2024 1

Bazel calls the concept as recursive workspaces and they are working on proper support for it.

The design doc [1] discusses the current common practice under section called "The dependencies() pattern".

[1] they have https://github.com/bazelbuild/proposals/blob/master/designs/2018-11-07-design-recursive-workspaces.md

from elemental2.

jDramaix avatar jDramaix commented on August 26, 2024

We need some change for allowing that.
I've already make jsinterop-generator (used for generating the java classes) ready for bazel and j2cl: google/jsinterop-generator@26d5af7

I need now to make some change in this repo for using that change

from elemental2.

niloc132 avatar niloc132 commented on August 26, 2024

I'm also seeing this issue, but I'm able to fix it by changing jsinterop-generator locally to provide details on how to get args4j, and by changing this repo to load j2cl. As I'm on a mac, I also had to apply google/jsinterop-base#8 (and then of course change the http_archive etc rules to local_archive.

Edit: Oh sorry @jDramaix you're looking into this now to finish making the changes now required from the jsinterop-generator changes. Thanks!

from elemental2.

solomatov avatar solomatov commented on August 26, 2024

@niloc132 I want to note that I use two computers, one is a mac and the other is a linux one, and different issues and outputs are send from different computers.

from elemental2.

jDramaix avatar jDramaix commented on August 26, 2024

If you can wait few days, I should have time to fix everything. The WORKSPACE file need some love since j2cl is opensource

from elemental2.

solomatov avatar solomatov commented on August 26, 2024

@jDramaix Thank you!

@jDramaix @niloc132 Concerning nested workspaces, do I understand correctly that they aren't well supported by bazel? What's the right way to work with them? Just create a script and load all sub-workspaces from the root WORKSPACE file?

from elemental2.

jDramaix avatar jDramaix commented on August 26, 2024

bazel build ... now works (except if we have a temporary sync issue with extern file)

from elemental2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.