Visit NES for Protocol Buffers Home Page

Protocol Buffers Setup

Installation and configuration guide for NES for Protocol Buffers 3.21.x

Setup Instructions

Configure Registry

Create or update your registry configuration:

Maven (~/.m2/settings.xml)
<settings>
  <servers>
    <server>
      <id>herodevs-nes-registry</id>
      <username>any_text_here_not_used</username>
      <password>YOUR_NES_ACCESS_TOKEN</password>
    </server>
  </servers>
</settings>
Gradle (~/.gradle/gradle.properties)
herodevs_nes_registry_url=https://registry.nes.herodevs.com/maven
herodevs_nes_registry_user=any_text_here_not_used
herodevs_nes_registry_token=NES_TOKEN_HERE

Update Build Configuration

Add the NES repository and dependencies to your build configuration:

Maven (pom.xml)
<!-- Import the NES protobuf BOM so every protobuf artifact resolves to the NES version -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-bom</artifactId>
      <version>3.21.12-protobuf-3.21.14</version><!-- Updated Version -->
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<!-- Use the protobuf artifacts your project needs; the BOM manages their versions -->
<dependencies>
  <dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
  </dependency>
</dependencies>

<!-- Add NES repository -->
<repositories>
  <repository>
    <id>herodevs-nes-registry</id>
    <url>https://registry.nes.herodevs.com/maven</url>
  </repository>
</repositories>
Gradle
dependencies {
  implementation(platform("com.google.protobuf:protobuf-bom:3.21.12-protobuf-3.21.14")) // Updated Version
  implementation("com.google.protobuf:protobuf-java")
}

// Add NES Repository
repositories {
  maven {
    url = uri("${herodevs_nes_registry_url}")
    credentials {
      username = "${herodevs_nes_registry_user}"
      password = "${herodevs_nes_registry_token}"
    }
  }
  mavenCentral()
}

The same NES version is published for protobuf-java-util, protobuf-javalite, protobuf-kotlin, and protobuf-kotlin-lite — swap in the artifact IDs your project depends on. All of them are managed by the imported protobuf-bom.

Build

In order to remove potential obstacles before building your project, make sure the following domains are whitelisted by your firewall/networking team:

  • registry.nes.herodevs.com
  • assets.nes.herodevs.com

This will ensure that your network/firewall allows connection to our registry.

Run your build tool:

Maven
mvn clean install
Gradle
gradle clean build

Verification

To verify your installation, check that:

  1. Dependencies are downloaded successfully
  2. No version conflicts are reported in your build
  3. Your application starts without errors

Manual Downloads

The direct download URLs for NES for Protocol Buffers packages follow this format:

PortionValue
base_urlhttps://registry.nes.herodevs.com/maven/com/google/protobuf/
package_nameprotobuf-java
version3.21.12-protobuf-3.21.14
filenamepackage_name + version + extension

Example Link

https://registry.nes.herodevs.com/maven/com/google/protobuf/protobuf-java/3.21.12-protobuf-3.21.14/protobuf-java-3.21.12-protobuf-3.21.14.pom