-
Notifications
You must be signed in to change notification settings - Fork 80
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
Allow ProtoPlugin to specify an executable artifact that does not need to be run by Java #66
base: master
Are you sure you want to change the base?
Conversation
This should be already working with compile-custom goal. |
Common configuration mistakes are:
|
It feels odd to have two ways to specify the protoc plugins. This
seems more consistent than
since all of the protocPlugins are specified in one place. It's also more similar to how we run protoc which is specifying all of the plugins in one step. This change still leaves the |
I see what you mean. It's not that it's not working as expected, or that your goal is unachievable by the existing means. It's more about bringing better consistency to the configuration. You are right, a lot of these additional options were developed without much of a foresight. I recently started a major refactoring of the existing codebase, which is expected bring more simplicity and consistency to the way various protoc outputs are configured. I shall either release it for a preview soon or merge your patch in the interim, if my work takes too long. |
…d to be run by Java
67aa93f
to
ba3bd35
Compare
@sergei-ivanov do mind taking another look at this? |
Applicable Issues
I didn't open an issue for this before creating the PR
Description
I want to be able to use proto plugins that are executables and not jars. e.g. java-grpc https://github.com/grpc/grpc-java/blob/master/README.md
I couldn't get the combination of protocPlugins and pluginArtifact with custom-compile to run consistently.
Currently all protocPlugins are assumed to be jar classes that need to be run with java. java-grpc is a standalone executable plugin so I added the option for the following to work.
If no mainClass is specified then it is assumed the protocPlugin is an executable artifact and is downloaded and run.
I also wonder if this change might also eliminate the need for the pluginArtifact option?