Problem I am solving: I need a Maven plugin for Protobuf and from my google searches, I have concluded that the maven-protoc-plugin has the most mindshare at the moment. The most recent activity on this plugin was in March 2013 which is also very encouraging (Link: https://code.google.com/p/protobuf/issues/detail?id=476)
My roadblocks: I am unable to get the plugin to work. Specifically, I am unable to get the plugin to download. I use Maven with Eclipse [Eclipse Java EE IDE for Web Developers, Version: Juno Service Release 1 Build id: 20120920-0800] I have put the relevant snippets of the configuration I have added to my pom.xml below. There were multiple references that led me to this configuration but I am not being allowed to post them here. I have tried to reference them in some way (for complete information) and have noted issues with each of them:
Ref 1: On github (github.com), there is a location
sergei-ivanovSLASHmaven-protoc-plugin - This has the configuration
for the plugin repository but the URL mentioned in this resource is a 404 resourceRef 2: The github HTTP location (sergei-ivanov.github.io) has an HTML file at maven-protoc-pluginSLASHproject-summary.html which has a
Download URL that is not working eitherRef 3: The github location (sergei-ivanov.github.io) has another HTML file at /maven-protoc-pluginSLASHusage.html - This URL has a snippet that shows the configuration for: maven-protoc-plugin,
maven-compiler-plugin and the protobuf-java dependency. It does NOT
have a plugin repository configuration.
My XML is on pastebin at http://pastebin.com/VPyH3CPr
I am trying to run a goal in the plugin with the following commands through Eclipse Run Configuration: Goals: maven-protoc-plugin:protobufcompile Profiles: dev
I get the following messages: [INFO] Scanning for projects... [WARNING] The POM for com.google.protobuf.tools:maven-protoc-plugin:jar:0.3.1 is missing, no dependency information available [WARNING] Failed to retrieve plugin descriptor for com.google.protobuf.tools:maven-protoc-plugin:0.3.1: Plugin com.google.protobuf.tools:maven-protoc-plugin:0.3.1 or one of its dependencies could not be resolved: [ERROR] No plugin found for prefix 'maven-protoc-plugin' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\Users\.m2\repository), all-repos (/artifactory/all-repos)] -> [Help 1] Some other errors here. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] URL for confluence/display/MAVEN/NoPluginFoundForPrefixException
Questions:
- Can I get a complete snippet of XML that needs to be added to the POM to get the maven-protoc-plugin to work?
- The plugin repository locations in the references I have listed seem to be dead ends. So, what is a valid place I can get the plugin from?
- Alternately, can somebody suggest what is wrong with my XML? The error output shows that my configuration is not having an effect during plugin resolution.
- I am relatively new to Maven and hence this newbie type of question: Can I just define goal names for the plugin like I did (protobufcompile) or does a Maven plugin come with pre-defined names that I cannot change?
- Tangentially related to the main problem in this entry: My .m2 directory was created when I created a Maven project and everything in it was automatically populated. My question is: Where is Maven getting the repository locations it is configuring in the settings.xml file from?