Stencil

Library to pull latest proto descriptors from a remote server

License

License

GroupId

GroupId

com.gojek
ArtifactId

ArtifactId

stencil
Last Version

Last Version

4.2.2
Release Date

Release Date

Type

Type

jar
Description

Description

Stencil
Library to pull latest proto descriptors from a remote server
Project URL

Project URL

https://github.com/gojekfarm/stencil
Source Code Management

Source Code Management

https://github.com/gojekfarm/stencil.git

Download stencil

How to add to project

<!-- https://jarcasting.com/artifacts/com.gojek/stencil/ -->
<dependency>
    <groupId>com.gojek</groupId>
    <artifactId>stencil</artifactId>
    <version>4.2.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.gojek/stencil/
implementation 'com.gojek:stencil:4.2.2'
// https://jarcasting.com/artifacts/com.gojek/stencil/
implementation ("com.gojek:stencil:4.2.2")
'com.gojek:stencil:jar:4.2.2'
<dependency org="com.gojek" name="stencil" rev="4.2.2">
  <artifact name="stencil" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.gojek', module='stencil', version='4.2.2')
)
libraryDependencies += "com.gojek" % "stencil" % "4.2.2"
[com.gojek/stencil "4.2.2"]

Dependencies

compile (8)

Group / Artifact Type Version
org.slf4j : slf4j-simple jar 1.7.25
org.apache.httpcomponents : httpclient jar 4.5.6
org.apache.commons : commons-lang3 jar 3.7
com.google.protobuf : protobuf-java jar 3.1.0
com.google.guava : guava jar 27.0.1-jre
com.timgroup : java-statsd-client jar 3.1.0
org.aeonbits.owner : owner jar 1.0.9
com.google.protobuf : protobuf-java-util jar 3.1.0

Project Modules

There are no modules declared in this project.

Stencil

Stencil is dynamic schema registry for protobuf. Protobuf is a great efficient and fast mechanism for serializing structured data. The challenge with protobuf is that for every change it requires to recompile the package to generate the necessary classes. This is not a big challenge if you have protobuf enclosed in your application and compile at startup. But if you have thousands of protos stored in central registry and 100s of applications use them. Updating dependencies of compiled proto jar can soon become a nightmare.

Protobuf allows you to define a whole proto file using google.protobuf.FileDescriptorProto. A google.protobuf.FileDescriptorSet contains list of FileDescriptorProto. Stencil heavily make use of this feature to update proto schemas in runtime.

com.gojek

Gojek Farm

The Gojek Open Source Incubator ๐Ÿ’ป ๐Ÿ”Œ ๐ŸŒพ ๐Ÿšœ

Versions

Version
4.2.2
4.2.1
4.2.0
4.1.0
4.0.1
4.0.0
3.0.0
2.0.17
2.0.16
2.0.15
2.0.13
2.0.12
2.0.5
2.0.4
2.0.3
2.0.2