{{{ ProtocolBuffer 0.3.0
Source: Source code is in GIT with the tag v0.3.0
Announcement: We are pleased to announce the initial release of the Protocol Buffer Plugin
Requires Java 1.7
Requires jEdit 05.03.00.00
Required plugins:
Antlr 4.4 (antlr.AntlrPlugin)
EclipseIcons 1.0 (eclipseicons.EclipseIconsPlugin)
ErrorList 1.9 (errorlist.ErrorListPlugin)
Info Viewer 1.6 (infoviewer.InfoViewerPlugin)
SideKick 1.7 (sidekick.SideKickPlugin)
Short Description: The Protocol Buffer plugin provides Sidekick parsing for Googles Protocol Buffer definitions.
Long Description: <p>The Protocol Buffer plugin provides features for editing Google Protocol Buffers, as well as generating C, Java and Python code from the proto file.</p>
There is no protoc compiler included with this plugin. You should download the compiler for your operating system, and configure it using the Plugin Options.
}}}
Hi Tim,
I'm getting oodles of compile errors 100+. It looks like a missing library?
Also, It looks like you're bundling pre-generated help docs, is that correct? If so, please change the
docs-proc.targetvalue tonone- when I tried to build the plugin, it looks like description.html was getting overwritten.Please fix the errors, and then retag. If tag changes (it's fine), please include new tag name in a comment and then re-open submission request.
Hi Eric, all those errors look like the antlr plugin or more specifically, the antlr jar file is not in the build path. It's listed as a dependency, so it should be there somewhere...
I just noticed the dependency is for Antlr 4.4, the Antrl 4.5.1 plugin has been out for about a year. I'd suggest bumping the dependency to the latest one.
Sorry been awol for a bit, will have a look this week. Thanks Chaps
Hi Dale, Thanks for the pointer. I was able to get the compile errors down to 36, and I think they're still related to Antlr. As you saw, this plugin depends on an older version of the Antlr plugin and was looking for the
antlr-4.4-complete.jar, I don't see that jar with the new version of Antlr plugin, I see aantlr4-4.5-opt.jarinstead. I changed the classpath path element to include all jars in the jedit.plugins.dir which brought it down to 36. Now, I'm thinking there's some difference between 4.4 and 4.5.1 that is causing the errors below? Tim, I suggest you up the dependency and test, because user's can't actually get 4.4 for jEdit 5.3 anymore unless they manually download and install it - Plugin manager only shows Antlr 4.5.1.Here are the errors:
compileProtocolBuffer:
[mkdir] Created dir: /ProtocolBuffer/build/classesProtocolBuffer
[javac] /ProtocolBuffer/build.xml:63: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 19 source files to /ProtocolBuffer/build/classesProtocolBuffer
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:64: warning: [deprecation] getTokenNames() in Recognizer has been deprecated
[javac] public String[] getTokenNames() { return tokenNames; }
[javac] ^
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:15: error: cannot find symbol
[javac] static { RuntimeMetaData.checkVersion("4.4", RuntimeMetaData.VERSION); }
[javac] ^
[javac] symbol: variable RuntimeMetaData
[javac] location: class ProtoParserParser
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:15: error: cannot find symbol
[javac] static { RuntimeMetaData.checkVersion("4.4", RuntimeMetaData.VERSION); }
[javac] ^
[javac] symbol: variable RuntimeMetaData
[javac] location: class ProtoParserParser
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:77: error: no suitable constructor found for ParserATNSimulator(ProtoParserParser,ATN,DFA[],PredictionContextCache)
[javac] _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
[javac] ^
[javac] constructor ParserATNSimulator.ParserATNSimulator(ATN) is not applicable
[javac] (actual and formal argument lists differ in length)
[javac] constructor ParserATNSimulator.ParserATNSimulator(Parser,ATN) is not applicable
[javac] (actual and formal argument lists differ in length)
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:277: error: incompatible types: List<cap#1> cannot be converted to List<option_line_defcontext>
[javac] return getRuleContexts(Option_line_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_line_defContext from capture of ? extends Option_line_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:280: error: incompatible types: List<cap#1> cannot be converted to List<package_defcontext>
[javac] return getRuleContexts(Package_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Package_defContext from capture of ? extends Package_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:292: error: incompatible types: List<cap#1> cannot be converted to List<message_defcontext>
[javac] return getRuleContexts(Message_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Message_defContext from capture of ? extends Message_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:301: error: incompatible types: List<cap#1> cannot be converted to List<ext_defcontext>
[javac] return getRuleContexts(Ext_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Ext_defContext from capture of ? extends Ext_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:308: error: incompatible types: List<cap#1> cannot be converted to List<enum_defcontext>
[javac] return getRuleContexts(Enum_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Enum_defContext from capture of ? extends Enum_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:311: error: incompatible types: List<cap#1> cannot be converted to List<service_defcontext>
[javac] return getRuleContexts(Service_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Service_defContext from capture of ? extends Service_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:317: error: incompatible types: List<cap#1> cannot be converted to List<import_defcontext>
[javac] return getRuleContexts(Import_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Import_defContext from capture of ? extends Import_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:611: error: incompatible types: List<cap#1> cannot be converted to List<terminalnode>
[javac] public List<terminalnode> COMMA() { return getTokens(ProtoParserParser.COMMA); }
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends TerminalNode from capture of ? extends TerminalNode
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:618: error: incompatible types: List<cap#1> cannot be converted to List<option_field_itemcontext>
[javac] return getRuleContexts(Option_field_itemContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_field_itemContext from capture of ? extends Option_field_itemContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:781: error: incompatible types: List<cap#1> cannot be converted to List<option_value_itemcontext>
[javac] return getRuleContexts(Option_value_itemContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_value_itemContext from capture of ? extends Option_value_itemContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:880: error: incompatible types: List<cap#1> cannot be converted to List<terminalnode>
[javac] public List<terminalnode> FIELD_IDENTIFIER() { return getTokens(ProtoParserParser.FIELD_IDENTIFIER); }
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends TerminalNode from capture of ? extends TerminalNode
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1036: error: incompatible types: List<cap#1> cannot be converted to List<option_line_defcontext>
[javac] return getRuleContexts(Option_line_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_line_defContext from capture of ? extends Option_line_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1045: error: incompatible types: List<cap#1> cannot be converted to List<enum_item_defcontext>
[javac] return getRuleContexts(Enum_item_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Enum_item_defContext from capture of ? extends Enum_item_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1254: error: incompatible types: List<cap#1> cannot be converted to List<option_line_defcontext>
[javac] return getRuleContexts(Option_line_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_line_defContext from capture of ? extends Option_line_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1260: error: incompatible types: List<cap#1> cannot be converted to List<message_item_defcontext>
[javac] return getRuleContexts(Message_item_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Message_item_defContext from capture of ? extends Message_item_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1272: error: incompatible types: List<cap#1> cannot be converted to List<message_defcontext>
[javac] return getRuleContexts(Message_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Message_defContext from capture of ? extends Message_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1275: error: incompatible types: List<cap#1> cannot be converted to List<message_ext_defcontext>
[javac] return getRuleContexts(Message_ext_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Message_ext_defContext from capture of ? extends Message_ext_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1278: error: incompatible types: List<cap#1> cannot be converted to List<enum_defcontext>
[javac] return getRuleContexts(Enum_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Enum_defContext from capture of ? extends Enum_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1419: error: incompatible types: List<cap#1> cannot be converted to List<terminalnode>
[javac] public List<terminalnode> INTEGER_LITERAL() { return getTokens(ProtoParserParser.INTEGER_LITERAL); }
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends TerminalNode from capture of ? extends TerminalNode
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1575: error: incompatible types: List<cap#1> cannot be converted to List<option_line_defcontext>
[javac] return getRuleContexts(Option_line_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_line_defContext from capture of ? extends Option_line_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1581: error: incompatible types: List<cap#1> cannot be converted to List<message_item_defcontext>
[javac] return getRuleContexts(Message_item_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Message_item_defContext from capture of ? extends Message_item_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1590: error: incompatible types: List<cap#1> cannot be converted to List<message_defcontext>
[javac] return getRuleContexts(Message_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Message_defContext from capture of ? extends Message_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1593: error: incompatible types: List<cap#1> cannot be converted to List<enum_defcontext>
[javac] return getRuleContexts(Enum_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Enum_defContext from capture of ? extends Enum_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1761: error: incompatible types: List<cap#1> cannot be converted to List<option_line_defcontext>
[javac] return getRuleContexts(Option_line_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_line_defContext from capture of ? extends Option_line_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1767: error: incompatible types: List<cap#1> cannot be converted to List<rpc_defcontext>
[javac] return getRuleContexts(Rpc_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Rpc_defContext from capture of ? extends Rpc_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1833: error: incompatible types: List<cap#1> cannot be converted to List<option_line_defcontext>
[javac] return getRuleContexts(Option_line_defContext.class);
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends Option_line_defContext from capture of ? extends Option_line_defContext
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1852: error: incompatible types: List<cap#1> cannot be converted to List<terminalnode>
[javac] public List<terminalnode> PAREN_CLOSE() { return getTokens(ProtoParserParser.PAREN_CLOSE); }
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends TerminalNode from capture of ? extends TerminalNode
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserParser.java:1857: error: incompatible types: List<cap#1> cannot be converted to List<terminalnode>
[javac] public List<terminalnode> PAREN_OPEN() { return getTokens(ProtoParserParser.PAREN_OPEN); }
[javac] ^
[javac] where CAP#1 is a fresh type-variable:
[javac] CAP#1 extends TerminalNode from capture of ? extends TerminalNode
[javac] /ProtocolBuffer/sidekick/protobuf/SideKickErrorListener.java:18: error: name clash: syntaxError(Recognizer,Object,int,int,String,RecognitionException) in SideKickErrorListener and <t>syntaxError(Recognizer<t,?>,T,int,int,String,RecognitionException) in ANTLRErrorListener have the same erasure, yet neither overrides the other
[javac] public void syntaxError( Recognizer recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e ) {
[javac] ^
[javac] where T,Symbol are type-variables:
[javac] T extends Symbol declared in method <t>syntaxError(Recognizer<t,?>,T,int,int,String,RecognitionException)
[javac] Symbol extends Object declared in interface ANTLRErrorListener
[javac] /ProtocolBuffer/sidekick/protobuf/SideKickErrorListener.java:17: error: method does not override or implement a method from a supertype
[javac] @Override
[javac] ^
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserLexer.java:15: error: cannot find symbol
[javac] static { RuntimeMetaData.checkVersion("4.4", RuntimeMetaData.VERSION); }
[javac] ^
[javac] symbol: variable RuntimeMetaData
[javac] location: class ProtoParserLexer
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserLexer.java:15: error: cannot find symbol
[javac] static { RuntimeMetaData.checkVersion("4.4", RuntimeMetaData.VERSION); }
[javac] ^
[javac] symbol: variable RuntimeMetaData
[javac] location: class ProtoParserLexer
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserLexer.java:63: error: no suitable constructor found for LexerATNSimulator(ProtoParserLexer,ATN,DFA[],PredictionContextCache)
[javac] _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
[javac] ^
[javac] constructor LexerATNSimulator.LexerATNSimulator(ATN) is not applicable
[javac] (actual and formal argument lists differ in length)
[javac] constructor LexerATNSimulator.LexerATNSimulator(Lexer,ATN) is not applicable
[javac] (actual and formal argument lists differ in length)
[javac] /ProtocolBuffer/sidekick/protobuf/parser/ProtoParserLexer.java:70: warning: [deprecation] getTokenNames() in Lexer has been deprecated
[javac] public String[] getTokenNames() { return tokenNames; }
[javac] ^
[javac] 36 errors
[javac] 2 warnings</t,?></t></t,?></t></terminalnode></terminalnode></cap#1></terminalnode></terminalnode></cap#1></option_line_defcontext></cap#1></rpc_defcontext></cap#1></option_line_defcontext></cap#1></enum_defcontext></cap#1></message_defcontext></cap#1></message_item_defcontext></cap#1></option_line_defcontext></cap#1></terminalnode></terminalnode></cap#1></enum_defcontext></cap#1></message_ext_defcontext></cap#1></message_defcontext></cap#1></message_item_defcontext></cap#1></option_line_defcontext></cap#1></enum_item_defcontext></cap#1></option_line_defcontext></cap#1></terminalnode></terminalnode></cap#1></option_value_itemcontext></cap#1></option_field_itemcontext></cap#1></terminalnode></terminalnode></cap#1></import_defcontext></cap#1></service_defcontext></cap#1></enum_defcontext></cap#1></ext_defcontext></cap#1></message_defcontext></cap#1></package_defcontext></cap#1></option_line_defcontext></cap#1>
OK finally gotten around to sorting this out and running the announcement macro. It looks like the Antlr Plugin uses a non-mainstream version of Antlr, hence the compilation problems as I was using a maintream version of the library.
Anyway here is the release announcement
Paste the text below into the Plugin Central Submission Tracker at https://sourceforge.net/tracker/?group_id=588&atid=625093
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{{{ ProtocolBuffer 0.4.0
Source: Source code is in GIT with the tag v0.4.0
Announcement: We are pleased to announce the first release of the Protocol Buffer plugin
Requires Java 1.7
Requires jEdit 05.03.00.00
Required plugins:
Antlr 4.5.1 (antlr.AntlrPlugin)
EclipseIcons 1.0 (eclipseicons.EclipseIconsPlugin)
ErrorList 1.9 (errorlist.ErrorListPlugin)
Info Viewer 1.6 (infoviewer.InfoViewerPlugin)
SideKick 1.7 (sidekick.SideKickPlugin)
The Protocol Buffer plugin provides the following:
}}}
Yes, the Antlr plugin currently uses a forked version of Antlr 4.5 (
https://github.com/sharwell/antlr4) that is optimized for speed. Antlr 4.7
was release a couple of months ago, it's been on my list to test. I went
with the optimized version because the Java 8 grammar produces a parser
that is much slower than the Java 7 grammar, so using the non-optimized
version was painfully slow in JavaSideKick and Beauty. Supposedly the
reference 4.7 version is much faster, but I have not had time to test it
yet.
Dale
On Sun, Jun 4, 2017 at 7:34 AM, Tim Blackler grepppo@users.sf.net wrote:
Related
Plugin Central Submission:
#1016Released to plugin central, thanks for your help and patience.