Commit 0711c5ce authored by Naum Spaseski's avatar Naum Spaseski
Browse files

Added generate_changemarks

parent 9ca503ba
Loading
Loading
Loading
Loading
+78 −0
Original line number Diff line number Diff line
#
#	generate_changemarks.sh
#
#	Script to generate CR Word documents from merge requests. Outputs:
#       - 1 - Word CR document containing the git diff 
#       - 2 - Word CR document containing tracked changes (informative) - Deprecated 
#	(c) 2024 by Miguel Angel Reina Ortega
#	License: BSD 3-Clause License. See the LICENSE file for further details.
#
#!/bin/bash

FORGELIB_DOCKER_IMAGE=forge.3gpp.org:5050/tools/3gpp-scripts/forgelib:v2.21.0
GENERATE_CHANGEMARKS_DOCKER_IMAGE=generatechangemarks:master
DOCKER_IMAGE=pandoc/core:3.1.1.0

#Parameters

#${CI_PROJECT_URL} -> 1
echo "CI_PROJECT_URL:" $1
#${CI_MERGE_REQUEST_PROJECT_ID} -> 2
echo "CI_MERGE_REQUEST_PROJECT_ID:" $2
#${CI_MERGE_REQUEST_IID} -> 3
echo "CI_MERGE_REQUEST_IID:" $3
#${data_start_delimiter} -> 4
echo "data_start_delimiter:" $4
#${data_coversheet_template} -> 5
echo "data_coversheet_template:" $5
#"$MIKE_ACCESS_TOKEN" -> 6
echo "MIKE_ACCESS_TOKEN:" $6

echo "\n------ Checking for docker image --------"
docker pull "$DOCKER_IMAGE"

echo "------ Removing previous outputs --------"
rm **/*.docx
rm out/*.md

echo "------ Parsing repo URL --------"

HOST_URL=$(echo $1 | cut -d'/' -f 1-4)
PROJECT_NAME=$(echo $1 | grep -o '[^/]*$' | cut -d'.' -f 1)
echo "HOST URL:" $HOST_URL
echo "PROJECT NAME:" $PROJECT_NAME
echo "PROJECT ID:" $2
echo "MERGE IID:" $3

echo "\n------ Generating change marks MD --------"
#docker container run --rm -v $(pwd):/tmp/ "$DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --preprocessor onem2m --outPath=/tmp/docs --startdelimiter "/tmp/$4" --enddelimiter "/tmp/$5" --coversheet "/tmp/$6" "$HOST_URL" "$2" "$PROJECT_NAME" "$3"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" changemarks -o "/tmp/out" "$HOST_URL" "$2" "$3"

#echo "\n------ Generating changemarks docx --------"
#for i in out/*.md ;  do
#    DOCUMENT_NAME=$(echo $i | cut -d'/' -f 2)
#	echo "\n------ Preparaing spec --------" 
#	docker run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" pandocFilter -o "/tmp/out" "/tmp/$i"
#	echo "\n------ Publishing spec --------" 
#	docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -f markdown -t docx --reference-doc "/data/${7}" -o "/data/out/${DOCUMENT_NAME}.docx"
#   #docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -f markdown -t html -o "/data/out/${DOCUMENT_NAME}.html"
#    #docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/out/${DOCUMENT_NAME}.html" -f html -t docx --reference-doc "Spec-template.docx" -o "/data/out/${DOCUMENT_NAME}.docx"
#done

#echo "\n------ Combining docx --------"
##docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv -sf "/tmp/out/" --preprocessor onem2m --outPath=/tmp/docs --startdelimiter "/tmp/$4" --enddelimiter "/tmp/$5" --coversheet "/tmp/$6" "$HOST_URL" "$2" "$3"
#docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv -sf "out/" --preprocessor onem2m --token ${8} --outPath=docs/ --startdelimiter "$4" --enddelimiter "$5" --coversheet "$6" "$HOST_URL" "$2" "$3"

#echo "\n------ Converting to tracked changes docx --------"
#for i in docs/*.docx ; do
#    DOCUMENT_NAME=$(echo $i | cut -d'/' -f 2)
#	docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" addTrackedChanges -o "/tmp/docs/$DOCUMENT_NAME" "/tmp/$i" "$HOST_URL" "$2" "$3"
#done
#for filename in docs/*.docx; do
#    mv $filename ${filename%.*}_revisionMarks\(informative\).docx; done;
#    #mv "$filename" "prefix_${filename}"; done;

echo "\n------ Generating change marks --------"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --linenumbers --extension "png" --extension "jpg" --extension "svg" --extension "md" --preprocessor data --token ${6} --outPath=docs/ --startdelimiter "$4" --coversheet "$5" "$HOST_URL" "$2" "$3"

exit 0