Joe McDonnell has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24598


Change subject: PROTOTYPE: Generate CUP parser Java source via CMake
......................................................................

PROTOTYPE: Generate CUP parser Java source via CMake

This moves the code generation for the CUP parser from a
Maven plugin to CMake. The Maven plugin is old and always
regenerates the sources even if they haven't changed. This
means that Maven rebuilds many source files on each run,
slowing down the iteration cycle when running frontend
tests.

Fixing the Maven CUP plugin is possible, but it involves
maintaining our own custom Maven plugin for our version
of CUP. The CMake version is less code and almost as good.
Since Maven doesn't generate the files, they never change
and Maven won't rebuild source files on each run. However,
it means that if someone is actually changing sql-parser.cup,
then Maven won't notice itself. Instead, the developer
needs to run "make java" to regenerate the CUP sources and
rebuild the Java code. This properly specifies the inputs /
outputs and will notice if the files need to be regenerated.

As part of this, it moves the sql-parser.cup from fe/src/main/cup
to common/cup. This is not strictly necessary, but it matches
how Thrift and other things are structured.

Testing:
 - Ran local build / local tests

Change-Id: I180b191b72b54e3661726e1560be844341ed92e5
---
M CMakeLists.txt
A bin/cmake_aux/generate-cup-sources.sh
A common/cup/CMakeLists.txt
R common/cup/sql-parser.cup
M fe/pom.xml
5 files changed, 122 insertions(+), 24 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/98/24598/1
--
To view, visit http://gerrit.cloudera.org:8080/24598
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I180b191b72b54e3661726e1560be844341ed92e5
Gerrit-Change-Number: 24598
Gerrit-PatchSet: 1
Gerrit-Owner: Joe McDonnell <[email protected]>

Reply via email to