Replace vanilla parboiled with grappa library
Grappa library was chosen by Gitiles project to implement markdown rendering. Grappa library includes non-relocated parboiled library that is incompatible with vanilla parboiled library. When Grappa driven gitiles-plugin is deployed in Gerrit, there is a class collision. The only way to make them co-exist is to relocate one of them, using JarJar utility. But doing it can be error prone as this issue has shown: [2]. This change takes another approach and replace parboiled library in Gerrit core with Grappa library. This fixed the deployment problem with gitiles-plugin: markdown files rendering work as expected. [1] https://github.com/fge/grappa [2] https://github.com/sirthias/parboiled/issues/80 Change-Id: I793a84013468bf9fd07e62960bc2e789674ff35c
This commit is contained in:
		 David Ostrovsky
					David Ostrovsky
				
			
				
					committed by
					
						 David Pursehouse
						David Pursehouse
					
				
			
			
				
	
			
			
			 David Pursehouse
						David Pursehouse
					
				
			
						parent
						
							625479682c
						
					
				
				
					commit
					4e69765b9e
				
			| @@ -35,8 +35,8 @@ public class ParboiledTest { | ||||
|   "      [Number] '42'\n" + | ||||
|   "        [0..9] '4'\n" + | ||||
|   "        [0..9] '2'\n" + | ||||
|   "    [ZeroOrMore]\n" + | ||||
|   "  [ZeroOrMore]\n"; | ||||
|   "    [zeroOrMore]\n" + | ||||
|   "  [zeroOrMore]\n"; | ||||
|  | ||||
|   private CalculatorParser parser; | ||||
|  | ||||
| @@ -49,7 +49,7 @@ public class ParboiledTest { | ||||
|   public void test() { | ||||
|     ParsingResult<String> result = | ||||
|         new ReportingParseRunner<String>(parser.Expression()).run("42"); | ||||
|     assertThat(result.hasErrors()).isFalse(); | ||||
|     assertThat(result.isSuccess()).isTrue(); | ||||
|     // next test is optional; we could stop here. | ||||
|     assertThat(ParseTreeUtils.printNodeTree(result)).isEqualTo(EXPECTED); | ||||
|   } | ||||
| @@ -57,19 +57,19 @@ public class ParboiledTest { | ||||
|   @BuildParseTree | ||||
|   static class CalculatorParser extends BaseParser<Object> { | ||||
|     Rule Expression() { | ||||
|       return Sequence(Term(), ZeroOrMore(AnyOf("+-"), Term())); | ||||
|       return sequence(Term(), zeroOrMore(anyOf("+-"), Term())); | ||||
|     } | ||||
|  | ||||
|     Rule Term() { | ||||
|       return Sequence(Factor(), ZeroOrMore(AnyOf("*/"), Factor())); | ||||
|       return sequence(Factor(), zeroOrMore(anyOf("*/"), Factor())); | ||||
|     } | ||||
|  | ||||
|     Rule Factor() { | ||||
|       return FirstOf(Number(), Sequence('(', Expression(), ')')); | ||||
|       return firstOf(Number(), sequence('(', Expression(), ')')); | ||||
|     } | ||||
|  | ||||
|     Rule Number() { | ||||
|       return OneOrMore(CharRange('0', '9')); | ||||
|       return oneOrMore(charRange('0', '9')); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user