Skip to main content

th2_grpc_generator_template

Project description

th2 gRPC generator template library (1.4.0)

This is the template project for creating custom gRPC libraries. It contains an example of proto messages and services.
The tool generates code from .proto files and uploads built packages (.proto files and generated code) to the specified repositories.

How to transform the template

  1. Create a directory with the same name as the project name (use underscores instead of dashes) under src/main/proto directory (remove other files and directories if they exist).
  2. Place your custom .proto files in the created directory. Pay attention to both the package specifier and to the import statements.
  3. Edit release_version and vcs_url properties in gradle.properties file.
  4. Edit rootProject.name variable in settings.gradle file. This will be the name of the Java package.
  5. Edit package_info.json file in order to specify its name and its version for Python package (create the file in case it's absent).
  6. Edit parameters of setup.py in setup function invocation such as: author, author_email, url. Do not edit the other's parameters.
  7. Edit README.md file according to the new project.

Note that the name of the created directory under src/main/proto directory is used in Python (it's a package name).

How to maintain a project

  1. Perform the necessary changes.
  2. Update the package version of Java in gradle.properties file.
  3. Update the package version of Python in package_info.json file.
  4. Commit everything.

How to run project

Java

If you wish to manually create and publish a package for Java, run the following command:

gradle --no-daemon clean build publish artifactoryPublish \
       -Purl=${URL} \ 
       -Puser=${USER} \
       -Ppassword=${PASSWORD}

URL, USER and PASSWORD are parameters for publishing.

Python

If you wish to manually create and publish a package for Python:

  1. Generate services with Gradle:
       gradle --no-daemon clean generateProto
    
    You can find the generated files by following path: src/gen/main/services/python
  2. Generate code from .proto files and publish everything using twine:
    pip install -r requirements.txt
    pip install twine
    python setup.py generate
    python setup.py sdist
    twine upload --repository-url ${PYPI_REPOSITORY_URL} --username ${PYPI_USER} --password ${PYPI_PASSWORD} dist/*
    
    PYPI_REPOSITORY_URL, PYPI_USER and PYPI_PASSWORD are parameters for publishing.

Release notes

1.4.0

  • Implement stubs creation for Python

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

th2_grpc_generator_template-1.4.0.tar.gz (7.9 kB view details)

Uploaded Source

File details

Details for the file th2_grpc_generator_template-1.4.0.tar.gz.

File metadata

  • Download URL: th2_grpc_generator_template-1.4.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for th2_grpc_generator_template-1.4.0.tar.gz
Algorithm Hash digest
SHA256 a0f8ce1d36583bbcda217b28422dcd9141ebb521c966024e6acf857b2e6cd18a
MD5 55b9ee344ba37b453a2d4a0418749bba
BLAKE2b-256 8aaaae3d97e95d21a3e69be07c1b73d8dd814b68f023dca9a6aed40fe8098cf8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page