-
Notifications
You must be signed in to change notification settings - Fork 30
Add java runtime plugin for exonum-launcher [ECR-3692] #1171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add java runtime plugin for exonum-launcher [ECR-3692] #1171
Conversation
artifact: {} | ||
``` | ||
|
||
To load service artifact, provide a path to the service artifact, for example: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not a path, but a file name — and please specify where the file shall be
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Renamed, added todo to move this entire section to ejb app tutorial. This readme is not intended to be used by our end-users.
exonum-java-binding/launcher-plugin/exonum_java_runtime_plugin/plugin.py
Outdated
Show resolved
Hide resolved
raise RuntimeError("Use proto/generate_proto.sh script to generate protobuf definition") | ||
|
||
|
||
class JavaRuntimeSpecLoader(RuntimeSpecLoader): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DeploySpec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tend to avoid extremely long names, as the users will need to use them in their config files, so I renamed it to JavaDeploySpecLoader
protoc = find_executable('protoc') | ||
|
||
|
||
def generate_proto(source): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I very much would not like to have this code in the project which does things that a build system must do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, it is the only possible option here and now. The only project I found that does the same thing (https://github.com/pupssman/protobuf-setuptools) does not support integration into our own setup.py
. It's weird, but I wasn't able to find a solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can configure the build to generate Python sources (either by adding an execution to core module, or to a new module). Would that work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to maven configuration of the core module
- [`exonum-launcher`](https://github.com/exonum/exonum-launcher) | ||
|
||
```bash | ||
cd exonum-java-binding |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably cd is irrelevant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just wanted to show current working directory. Probably yes, removed
#### Requirements | ||
|
||
- [Python3](https://www.python.org/downloads/) | ||
- [`exonum-python-client`](https://github.com/exonum/exonum-python-client) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do I have to install these manually?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now yes, later we will provide an easier approach (after publishing on pypi)
Overview
Unfortunately we cannot (yet) test this plugin, but given extremely simple implementation, it probably should work. We will be able to test it after implementing Java Runtime.
See: https://jira.bf.local/browse/ECR-3692
Definition of Done