Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Expand Bazel default tools workspace to include more "SDK" elements for rule development. #4746

Closed
hsyed opened this issue Mar 1, 2018 · 9 comments
Labels
awaiting-review PR is awaiting review from an assigned reviewer P4 This is either out of scope or we don't have bandwidth to review a PR. (No assignee) stale Issues or PRs that are stale (no activity for 30 days) team-ExternalDeps External dependency handling, remote repositiories, WORKSPACE file. type: feature request

Comments

@hsyed
Copy link

hsyed commented Mar 1, 2018

I haven't re-visited the default workspaces for a while and I didn't do a thorough enough investigation last time when I looked; so apologies if parts of what I am asking for already exists.

When I ported the Kotlin rules I removed all non essential third party libs (guava, dagger, etc) since they weren't really adding much value.

I would make use of the following elements if they were available:

  1. Misc java libraries (guava, protobuf-java, truth, Gson etc).
  2. All relevant bazel Java proto jars and proto files (I've inlined compiled versions of jdeps and worker protocol).
  3. Protoc compiler for the host platform: so many external repos depend on protoc -- this takes a significant amount of time on my Mac Pro to compile. On laptops -- ouch. Kotlin Rules don't depend on this but lots of other components pulled into a large mono repo do.
  4. Parts of the JavaBuilder as a library I am reinventing many wheels -- I couldn't say what parts are useful to me now but the KotlinBuilder does a lot of the stuff that the JavaBuilder does.

All of the mentioned libs in 1-3 are either in the Bazel or Google domain so API evolution is strict as can be.

@laszlocsomor
Copy link
Contributor

pulling in @dslomov and @laurentlb , because this request relates to extensibility and to workspaces

@hsyed
Copy link
Author

hsyed commented Apr 27, 2018

@hchauvin is working on coverage support for the kotlin rules. These require the asm and jacoco deps. I've just had a look through the bazel tree and the deps are used in bazel core. Could these be made available ?

@hchauvin
Copy link
Contributor

@hsyed I think it makes sense as well, since making the jacoco dep available would allow, as far as I can tell, all the JVM-based languages to be instrumented without pulling any external dep and to be in sync with what bazel core is using.

Alternatively, if the JavaBuilder is exposed, I could probably use com.google.devtools.build.buildjar.instrumentation.JacocoInstrumentationProcessor directly.

@ittaiz
Copy link
Member

ittaiz commented Jul 19, 2018

@dslomov any thoughts? I'm not sure this suggestion is the way to go but I think the need to be able depend on some of the java parts (jdeps read/write for example) is a standing issue

@hsyed
Copy link
Author

hsyed commented Aug 5, 2018

A bit of an update since some time has passed. I'm quite satisfied with the dep footprint of rules_kotlin currently.

Recompilation of host Protoc, the proto java deps(gson, protobuf_java, protobuf_java_util) and the core precompiled protos are my current pain points. Should we narrow the scope of this issue down to just proto ? The concept of sharing other deps (asm / Jacoco etc) could be revisited in other isses

@aehlig aehlig removed their assignment Feb 1, 2020
@jin jin added team-ExternalDeps External dependency handling, remote repositiories, WORKSPACE file. untriaged labels Apr 30, 2020
@jin jin unassigned dslomov Apr 30, 2020
@philwo philwo added the team-OSS Issues for the Bazel OSS team: installation, release processBazel packaging, website label Jun 15, 2020
@philwo
Copy link
Member

philwo commented Feb 8, 2021

I'm sorry, I don't understand what is asked for in this issue. What is a "default workspace"? What's the current behavior and what's the expected behavior of Bazel?

@philwo philwo added more data needed P4 This is either out of scope or we don't have bandwidth to review a PR. (No assignee) and removed under investigation untriaged labels Feb 8, 2021
@ittaiz
Copy link
Member

ittaiz commented Feb 9, 2021

I'm not the original OP but I think the idea was about tools bazel ships with precompiled

@philwo philwo removed the team-OSS Issues for the Bazel OSS team: installation, release processBazel packaging, website label Nov 29, 2021
@ckolli5 ckolli5 added awaiting-review PR is awaiting review from an assigned reviewer and removed more data needed labels Jun 10, 2022
@github-actions
Copy link

Thank you for contributing to the Bazel repository! This issue has been marked as stale since it has not had any activity in the last 1+ years. It will be closed in the next 90 days unless any other activity occurs or one of the following labels is added: "not stale", "awaiting-bazeler". Please reach out to the triage team (@bazelbuild/triage) if you think this issue is still relevant or you are interested in getting the issue resolved.

@github-actions github-actions bot added the stale Issues or PRs that are stale (no activity for 30 days) label Aug 15, 2023
Copy link

This issue has been automatically closed due to inactivity. If you're still interested in pursuing this, please reach out to the triage team (@bazelbuild/triage). Thanks!

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-review PR is awaiting review from an assigned reviewer P4 This is either out of scope or we don't have bandwidth to review a PR. (No assignee) stale Issues or PRs that are stale (no activity for 30 days) team-ExternalDeps External dependency handling, remote repositiories, WORKSPACE file. type: feature request
Projects
None yet
Development

No branches or pull requests

10 participants