diff options
Diffstat (limited to 'python-th2-grpc-hand.spec')
| -rw-r--r-- | python-th2-grpc-hand.spec | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/python-th2-grpc-hand.spec b/python-th2-grpc-hand.spec new file mode 100644 index 0000000..8cccae0 --- /dev/null +++ b/python-th2-grpc-hand.spec @@ -0,0 +1,192 @@ +%global _empty_manifest_terminate_build 0 +Name: python-th2-grpc-hand +Version: 2.11.0 +Release: 1 +Summary: th2_grpc_hand +License: Apache License 2.0 +URL: https://github.com/th2-net/th2-grpc-hand +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/29/11/13cc37fa0bd9d61f186e0b4540ef0db0d40b9b6ea81c3037555a5ba75814/th2_grpc_hand-2.11.0.tar.gz +BuildArch: noarch + + +%description +# th2 gRPC hand library (2.11.0) + +This library contains proto messages and `RhBatch` service with RPC methods that are used in [th2 hand](https://github.com/th2-net/th2-hand "th2-hand"). See [proto](src/main/proto "proto") files for details. <br> +Tool generates code from `.proto` files and uploads built packages (`.proto` files and generated code) to specified repositories. + +## 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](https://github.com/th2-net/th2-python-service-generator "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. + +%package -n python3-th2-grpc-hand +Summary: th2_grpc_hand +Provides: python-th2-grpc-hand +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-th2-grpc-hand +# th2 gRPC hand library (2.11.0) + +This library contains proto messages and `RhBatch` service with RPC methods that are used in [th2 hand](https://github.com/th2-net/th2-hand "th2-hand"). See [proto](src/main/proto "proto") files for details. <br> +Tool generates code from `.proto` files and uploads built packages (`.proto` files and generated code) to specified repositories. + +## 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](https://github.com/th2-net/th2-python-service-generator "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. + +%package help +Summary: Development documents and examples for th2-grpc-hand +Provides: python3-th2-grpc-hand-doc +%description help +# th2 gRPC hand library (2.11.0) + +This library contains proto messages and `RhBatch` service with RPC methods that are used in [th2 hand](https://github.com/th2-net/th2-hand "th2-hand"). See [proto](src/main/proto "proto") files for details. <br> +Tool generates code from `.proto` files and uploads built packages (`.proto` files and generated code) to specified repositories. + +## 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](https://github.com/th2-net/th2-python-service-generator "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. + +%prep +%autosetup -n th2-grpc-hand-2.11.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-th2-grpc-hand -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 2.11.0-1 +- Package Spec generated |
