From 27a348fdf457d2256397970c4852a8e0bca1bdc2 Mon Sep 17 00:00:00 2001 From: mxwli Date: Wed, 14 Aug 2024 11:35:45 -0400 Subject: [PATCH 1/5] fix platform issues (hopefully) --- scripts/antlr4/generate_grammar.cmake | 5 ++--- scripts/antlr4/hash.md5 | 2 +- scripts/antlr4/hash.py | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 scripts/antlr4/hash.py diff --git a/scripts/antlr4/generate_grammar.cmake b/scripts/antlr4/generate_grammar.cmake index a5dca6fd5eb..dc93514da04 100644 --- a/scripts/antlr4/generate_grammar.cmake +++ b/scripts/antlr4/generate_grammar.cmake @@ -2,12 +2,12 @@ # This is to make sure clean build from source needn't have Java installed. # We can't use checksums because of windows line ending normalization. - +find_package(Python3 REQUIRED COMPONENTS Interpreter) file(READ hash.md5 OLDHASH) execute_process( COMMAND cat ${ROOT_DIR}/src/antlr4/keywords.txt ${ROOT_DIR}/src/antlr4/Cypher.g4 - COMMAND md5sum OUTPUT_VARIABLE NEWHASH + COMMAND ${Python3_EXECUTABLE} hash.py OUTPUT_VARIABLE NEWHASH RESULTS_VARIABLE RESVAR ERROR_VARIABLE ERRVAR) @@ -35,7 +35,6 @@ endif() file(MAKE_DIRECTORY generated) find_package(Java REQUIRED) -find_package(Python3 REQUIRED COMPONENTS Interpreter) # use script to generate final Cypher.g4 file and update tools/shell/include/keywords.h execute_process(COMMAND ${Python3_EXECUTABLE} keywordhandler.py ${ROOT_DIR}/src/antlr4/Cypher.g4 ${ROOT_DIR}/src/antlr4/keywords.txt Cypher.g4 ${ROOT_DIR}/tools/shell/include/keywords.h) diff --git a/scripts/antlr4/hash.md5 b/scripts/antlr4/hash.md5 index 14daeb4cf5e..13e29c5db32 100644 --- a/scripts/antlr4/hash.md5 +++ b/scripts/antlr4/hash.md5 @@ -1 +1 @@ -e9d15715485e7edcd27e1374e1ef57cc - +e9d15715485e7edcd27e1374e1ef57cc diff --git a/scripts/antlr4/hash.py b/scripts/antlr4/hash.py new file mode 100644 index 00000000000..c9bd84e8371 --- /dev/null +++ b/scripts/antlr4/hash.py @@ -0,0 +1,2 @@ +import hashlib, sys +print(hashlib.md5((''.join(sys.stdin)).encode('utf-8')).hexdigest()) From 2ad2eb34db140b2acafaf06900e2cc3fb1399d30 Mon Sep 17 00:00:00 2001 From: mxwli Date: Wed, 14 Aug 2024 11:41:34 -0400 Subject: [PATCH 2/5] fix sanity check workflow --- .github/workflows/ci-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 901e4559339..deb5f9a202a 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -461,7 +461,7 @@ jobs: - name: Ensure generated grammar files are up to date run: | - cat src/antlr4/keywords.txt src/antlr4/Cypher.g4 | md5sum > tmphashfile + cat src/antlr4/keywords.txt src/antlr4/Cypher.g4 | python3 scripts/antlr4/hash.py > tmphashfile cmp tmphashfile scripts/antlr4/hash.md5 rm tmphashfile From 0e86d5a43bfe49c5f9035b0789bb6b5e2acc29d1 Mon Sep 17 00:00:00 2001 From: mxwli Date: Wed, 14 Aug 2024 12:02:28 -0400 Subject: [PATCH 3/5] windows --- scripts/antlr4/generate_grammar.cmake | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/scripts/antlr4/generate_grammar.cmake b/scripts/antlr4/generate_grammar.cmake index dc93514da04..fc3fb78b9bd 100644 --- a/scripts/antlr4/generate_grammar.cmake +++ b/scripts/antlr4/generate_grammar.cmake @@ -4,15 +4,17 @@ find_package(Python3 REQUIRED COMPONENTS Interpreter) + file(READ hash.md5 OLDHASH) -execute_process( - COMMAND cat ${ROOT_DIR}/src/antlr4/keywords.txt ${ROOT_DIR}/src/antlr4/Cypher.g4 - COMMAND ${Python3_EXECUTABLE} hash.py OUTPUT_VARIABLE NEWHASH - RESULTS_VARIABLE RESVAR - ERROR_VARIABLE ERRVAR) - -if(NOT "${RESVAR}" STREQUAL "0 0") - message(DEBUG "${ERRVAR}") + +if(WIN32) + execute_process( + COMMAND cat ${ROOT_DIR}/src/antlr4/keywords.txt,${ROOT_DIR}/src/antlr4/Cypher.g4 + COMMAND ${Python3_EXECUTABLE} hash.py OUTPUT_VARIABLE NEWHASH) +else() + execute_process( + COMMAND cat ${ROOT_DIR}/src/antlr4/keywords.txt ${ROOT_DIR}/src/antlr4/Cypher.g4 + COMMAND ${Python3_EXECUTABLE} hash.py OUTPUT_VARIABLE NEWHASH) endif() if("${OLDHASH}" STREQUAL "${NEWHASH}") From 4b010e8278e292c6c5d59315a90a375e22cf3b62 Mon Sep 17 00:00:00 2001 From: mxwli Date: Wed, 14 Aug 2024 12:20:10 -0400 Subject: [PATCH 4/5] fix --- scripts/antlr4/generate_grammar.cmake | 11 ++--------- scripts/antlr4/hash.py | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/scripts/antlr4/generate_grammar.cmake b/scripts/antlr4/generate_grammar.cmake index fc3fb78b9bd..9e2abfa9d89 100644 --- a/scripts/antlr4/generate_grammar.cmake +++ b/scripts/antlr4/generate_grammar.cmake @@ -7,15 +7,8 @@ find_package(Python3 REQUIRED COMPONENTS Interpreter) file(READ hash.md5 OLDHASH) -if(WIN32) - execute_process( - COMMAND cat ${ROOT_DIR}/src/antlr4/keywords.txt,${ROOT_DIR}/src/antlr4/Cypher.g4 - COMMAND ${Python3_EXECUTABLE} hash.py OUTPUT_VARIABLE NEWHASH) -else() - execute_process( - COMMAND cat ${ROOT_DIR}/src/antlr4/keywords.txt ${ROOT_DIR}/src/antlr4/Cypher.g4 - COMMAND ${Python3_EXECUTABLE} hash.py OUTPUT_VARIABLE NEWHASH) -endif() +execute_process( + COMMAND ${Python3_EXECUTABLE} hash.py ${ROOT_DIR}/src/antlr4/keywords.txt ${ROOT_DIR}/src/antlr4/Cypher.g4 OUTPUT_VARIABLE NEWHASH) if("${OLDHASH}" STREQUAL "${NEWHASH}") message(DEBUG " Not regenerating grammar files as Cypher.g4 and keywords.txt is unchanged.") diff --git a/scripts/antlr4/hash.py b/scripts/antlr4/hash.py index c9bd84e8371..c05df8151df 100644 --- a/scripts/antlr4/hash.py +++ b/scripts/antlr4/hash.py @@ -1,2 +1,2 @@ import hashlib, sys -print(hashlib.md5((''.join(sys.stdin)).encode('utf-8')).hexdigest()) +print(hashlib.md5((''.join(open(sys.argv[1])) + ''.join(open(sys.argv[2]))).encode('utf-8')).hexdigest()) From 8a02d357438d3e86b7bebdb2a8ec937c7a22bb31 Mon Sep 17 00:00:00 2001 From: mxwli Date: Wed, 14 Aug 2024 12:32:33 -0400 Subject: [PATCH 5/5] fix ci... again --- .github/workflows/ci-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index deb5f9a202a..c46a9f7aa40 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -461,7 +461,7 @@ jobs: - name: Ensure generated grammar files are up to date run: | - cat src/antlr4/keywords.txt src/antlr4/Cypher.g4 | python3 scripts/antlr4/hash.py > tmphashfile + python3 scripts/antlr4/hash.py src/antlr4/keywords.txt src/antlr4/Cypher.g4 > tmphashfile cmp tmphashfile scripts/antlr4/hash.md5 rm tmphashfile