Skip to content

Initial Bazel build definition#216

Draft
odisseus wants to merge 11 commits into
ipfs-shipyard:masterfrom
odisseus:bazel-build
Draft

Initial Bazel build definition#216
odisseus wants to merge 11 commits into
ipfs-shipyard:masterfrom
odisseus:bazel-build

Conversation

@odisseus

@odisseus odisseus commented Feb 28, 2023

Copy link
Copy Markdown
Contributor

How to:

  • Build all sources
bazel build //...
  • Run all tests
bazel test //...
  • Run the demo
bazel run //src/main/java/io/ipfs/api/demo:demo

TODO:

  • Create a target for building the distribution JAR
  • Clean up the remains of the Ant and Maven build definitions

Questions:

  • How to set up artifact publishing?
  • Is it possible to import java-multiaddr etc. as source repositories instead of importing the published JARs?

@odisseus odisseus force-pushed the bazel-build branch 2 times, most recently from 4ceae67 to 9e4bcc1 Compare February 28, 2023 13:29
@odisseus odisseus mentioned this pull request Mar 3, 2023
@odisseus odisseus force-pushed the bazel-build branch 3 times, most recently from 2eee719 to a9c06da Compare March 8, 2024 10:28
@cstamas

cstamas commented Jan 18, 2026

Copy link
Copy Markdown
Collaborator

Aside of Ant and Maven adding Bazel too? What is the intent here?

@odisseus

odisseus commented Jan 19, 2026

Copy link
Copy Markdown
Contributor Author

Bazel is better suited for a project that releases multiple artifacts which depend on each other (such as multibase ← multihash ← multiaddr ← http-client). This particular example shows that the sources for these inter-dependent artifacts don't even have to live in the same repository (although it is definitely easier to work with them if they do).

Bazel has its own disadvantages: the build definitions are more complicated than e.g. Maven, and the IDE support is not as good. However, the Bazel ecosystem has seen a lot of changes in the past two years, and this concept might be worth revisiting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants