Skip to content

Releases: bpalermo/protoc-gen-clojure

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 23:38
19a8623

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.5.0/protoc-gen-clojure_0.5.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.5.0")

plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 19:33
67a8b7b

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.4.0/protoc-gen-clojure_0.4.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.4.0")

plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

  • Generated code requires clj-protobuf.*, the artifact that ships it by @bpalermo in #49

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 22 Aug 23:46
3ff893b

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.3.1/protoc-gen-clojure_0.3.1_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.3.1")

plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:42
v0.3.0
1b10701

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.3.0/protoc-gen-clojure_0.3.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.3.0")

plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

  • feat(release): ship linux_x86_64 fully static by @bpalermo in #41
  • fix(emitter): spell a nest_in_file_class message inside the file class by @bpalermo in #43
  • release: 0.3.0 by @bpalermo in #44

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Aug 22:12
v0.2.0
aeb7131

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.2.0/protoc-gen-clojure_0.2.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.2.0")

plugin = use_extension("@protoc_gen_clojure//clojure:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

  • fix(bcr): author the registry entry with the CLA address by @bpalermo in #31
  • feat(emitter): hint the generated Java class so the runtime can skip DynamicMessage by @bpalermo in #32
  • feat(emitter): generate records for nested messages by @bpalermo in #33
  • test: add the nested-message fixture and its golden by @bpalermo in #35
  • test: generate the nested golden from one proto, not from all eight by @bpalermo in #36
  • test: verify the prebuilt-toolchain path against a published release by @bpalermo in #38
  • feat(bazel)!: move the public API to //clojure, and document it by @bpalermo in #39

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 00:23
v0.1.0
6e8551c

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.1.0/protoc-gen-clojure_0.1.0_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.1.0")

plugin = use_extension("@protoc_gen_clojure//bazel:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

  • chore(ci): update docker/login-action to v4 by @bpalermo in #29
  • fix(bcr): widen presubmit to ubuntu2204 and pin the glibc ceiling to what ships by @bpalermo in #28
  • chore(release): declare 0.1.0 by @bpalermo in #30

Full Changelog: v0.1.0-rc1...v0.1.0

v0.1.0-rc1

v0.1.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Aug 23:20
v0.1.0-rc1
f6bb984

Install

protoc discovers plugins as protoc-gen-<name> on PATH, so the file name is
load-bearing — it is what makes --clojure_out work.

curl -fsSLo protoc-gen-clojure \
  "https://github.com/bpalermo/protoc-gen-clojure/releases/download/v0.1.0-rc1/protoc-gen-clojure_0.1.0-rc1_linux_x86_64"
chmod +x protoc-gen-clojure && mv protoc-gen-clojure /usr/local/bin/

On macOS, clear the quarantine attribute: xattr -d com.apple.quarantine <path>.
Binaries are unsigned.

Bazel

bazel_dep(name = "protoc_gen_clojure", version = "0.1.0-rc1")

plugin = use_extension("@protoc_gen_clojure//bazel:extensions.bzl", "toolchains")
use_repo(plugin, "protoc_gen_clojure_toolchains")

register_toolchains("@protoc_gen_clojure_toolchains//:all")

Consumers need no Clojure, no JVM and no GraalVM: the toolchain fetches the
prebuilt binary for the host platform.

What's Changed

  • protoc-gen-clojure: a protoc/buf plugin that emits Clojure by @bpalermo in #1
  • ci: pull requests restore caches but never write them by @bpalermo in #4
  • ci: fix retired macos-13 runner, and gate cache saves on the ref by @bpalermo in #5
  • ci: gate release cache saves on the ref too by @bpalermo in #6
  • release: attested, immutable releases via bazel-contrib workflows by @bpalermo in #7
  • release: make a prerelease tag actually work by @bpalermo in #8
  • refactor: name the generator after itself, not its runtime by @bpalermo in #9
  • feat: make the emitted requires configurable by @bpalermo in #10
  • chore: add CODEOWNERS by @bpalermo in #12
  • feat: build the plugin container image with rules_img by @bpalermo in #13
  • build: assert the glibc floor of the released Linux binaries by @bpalermo in #14
  • feat: publish the plugin image to ghcr.io with stamped tags by @bpalermo in #15
  • fix(release): correct job ordering and resolve the publish token from an environment by @bpalermo in #19
  • fix(release): publish the release last, after every side effect by @bpalermo in #20
  • fix(bcr): presubmit only on platforms the binaries can run on by @bpalermo in #21
  • chore(release): declare 0.1.0-rc1 and keep prereleases out of BCR by @bpalermo in #22
  • fix(release): call publish-to-bcr directly, so the release workflow can start by @bpalermo in #23
  • fix(release): find the native binaries where the caller actually extracts them by @bpalermo in #24
  • perf(bazel): resolve protoc from the toolchain and prefer the prebuilt binary by @bpalermo in #25
  • chore(ci): update actions/download-artifact to v8 by @bpalermo in #26
  • fix(release): map publish_token explicitly instead of inheriting it by @bpalermo in #27

New Contributors

Full Changelog: https://github.com/bpalermo/protoc-gen-clojure/commits/v0.1.0-rc1