Skip to main content

th2_grpc_generator_template

Project description

th2 gRPC generator template library

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

How to transform template

  1. Create a directory with the same name as 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 created directory. Pay attention to package specifier and 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 Java package.
  5. Edit package_info.json file in order to specify name and version for Python package (create file if it's absent).
  6. Edit parameters of setup.py in setup function invocation such as: author, author_email, url. Do not edit the others.
  7. Edit README.md file according to the new project.

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

How to maintain project

  1. Make your changes.
  2. Up version of Java package in gradle.properties file.
  3. Up version of Python package in package_info.json file.
  4. Commit everything.

How to run project

Java

If you wish to manually create and publish package for Java, run these command:

gradle --no-daemon clean build publish artifactoryPublish \
       -Pbintray_user=${BINTRAY_USER} \
       -Pbintray_key=${BINTRAY_KEY}

BINTRAY_USER and BINTRAY_KEY are parameters for publishing.

Python

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

  1. Generate services from .proto files:
    • Download and build th2 Python service generator project with Gradle:
      gradle clean build
      
    • Run th2 Python service generator:
      java -jar {path_to_jar} -p src/main/proto/{package_name} -w PythonServiceWriter -o src/gen/main/python/{package_name}
      
  2. Generate code from .proto files and publish everything:
    pip install -r requirements.txt
    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.

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.2.4.tar.gz (7.4 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: th2_grpc_generator_template-1.2.4.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

File hashes

Hashes for th2_grpc_generator_template-1.2.4.tar.gz
Algorithm Hash digest
SHA256 6387f1bfef5aa850382e85ae6855d8e94473b8284d33d8fff2e3c890387e505d
MD5 7302f4e14d38c0b0a6e34f8594532dc9
BLAKE2b-256 f56e51680240bae35d0ca8285285eb77c5a178d0076210630d41747cf9f8a880

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