11#! /bin/sh
22
3+ init_options () {
4+ OPTIONS=" --no-progress" ;
5+
6+ if [[ " $INPUT_DEBUG_MODE " = true ]]; then
7+ set -x;
8+
9+ OPTIONS=" ${OPTIONS} --verbose"
10+ fi
11+
12+ if [[ -n " $INPUT_CROWDIN_BRANCH_NAME " ]]; then
13+ OPTIONS=" ${OPTIONS} --branch=${INPUT_CROWDIN_BRANCH_NAME} "
14+ fi
15+
16+ if [[ -n " $INPUT_IDENTITY " ]]; then
17+ OPTIONS=" ${OPTIONS} --identity=${INPUT_IDENTITY} "
18+ fi
19+
20+ if [[ -n " $INPUT_CONFIG " ]]; then
21+ OPTIONS=" ${OPTIONS} --config=${INPUT_CONFIG} "
22+ fi
23+
24+ if [[ " $INPUT_DRYRUN_ACTION " = true ]]; then
25+ OPTIONS=" ${OPTIONS} --dryrun"
26+ fi
27+
28+ echo ${OPTIONS} ;
29+ }
30+
31+ init_config_options () {
32+ CONFIG_OPTIONS=" " ;
33+
34+ if [[ -n " $INPUT_PROJECT_ID " ]]; then
35+ CONFIG_OPTIONS=" ${CONFIG_OPTIONS} --project-id=${INPUT_PROJECT_ID} "
36+ fi
37+
38+ if [[ -n " $INPUT_TOKEN " ]]; then
39+ CONFIG_OPTIONS=" ${CONFIG_OPTIONS} --token=${INPUT_TOKEN} "
40+ fi
41+
42+ if [[ -n " $INPUT_BASE_URL " ]]; then
43+ CONFIG_OPTIONS=" ${CONFIG_OPTIONS} --base-url=${INPUT_BASE_URL} "
44+ fi
45+
46+ if [[ -n " $INPUT_BASE_PATH " ]]; then
47+ CONFIG_OPTIONS=" ${CONFIG_OPTIONS} --base-path=${INPUT_BASE_PATH} "
48+ fi
49+
50+ if [[ -n " $INPUT_SOURCE " ]]; then
51+ CONFIG_OPTIONS=" ${CONFIG_OPTIONS} --source=${INPUT_SOURCE} "
52+ fi
53+
54+ if [[ -n " $INPUT_TRANSLATION " ]]; then
55+ CONFIG_OPTIONS=" ${CONFIG_OPTIONS} --translation=${INPUT_TRANSLATION} "
56+ fi
57+
58+ echo ${CONFIG_OPTIONS} ;
59+ }
60+
361upload_sources () {
462 echo " UPLOAD SOURCES" ;
563 crowdin upload sources ${CONFIG_OPTIONS} ${OPTIONS} ;
@@ -11,6 +69,10 @@ upload_translations() {
1169}
1270
1371download_translations () {
72+ if [[ -n " $INPUT_LANGUAGE " ]]; then
73+ OPTIONS=" ${OPTIONS} --language=${INPUT_LANGUAGE} "
74+ fi
75+
1476 echo " DOWNLOAD TRANSLATIONS" ;
1577 crowdin download ${CONFIG_OPTIONS} ${OPTIONS} ;
1678}
@@ -34,7 +96,7 @@ create_pull_request() {
3496 if [[ " ${PULL_REQUESTS#* $LOCALIZATION_BRANCH } " == " $PULL_REQUESTS " ]]; then
3597 echo " CREATE PULL REQUEST" ;
3698
37- DATA=" {\" title\" :\" ${TITLE} \" , \" body \" : \" ${BODY} \" , \" base\" :\" ${BASE_BRANCH} \" , \" head\" :\" ${LOCALIZATION_BRANCH} \" }" ;
99+ DATA=" {\" title\" :\" ${TITLE} \" , \" base\" :\" ${BASE_BRANCH} \" , \" head\" :\" ${LOCALIZATION_BRANCH} \" }" ;
38100 curl -sSL -H " ${AUTH_HEADER} " -H " ${HEADER} " -X POST --data " ${DATA} " ${PULLS_URL} ;
39101 else
40102 echo " PULL REQUEST ALREADY EXIST" ;
@@ -71,28 +133,13 @@ push_to_branch() {
71133 fi
72134}
73135
136+ # STARTING WORK
74137echo " STARTING CROWDIN ACTION" ;
75138
76139set -e;
77140
78- if [[ " $INPUT_DEBUG_MODE " = true ]]; then
79- set -x;
80- fi
81-
82- CONFIG_OPTIONS=" " ;
83- OPTIONS=" --no-progress" ;
84-
85- if [[ -n " $INPUT_CROWDIN_BRANCH_NAME " ]]; then
86- OPTIONS=" ${OPTIONS} --branch=${INPUT_CROWDIN_BRANCH_NAME} "
87- fi
88-
89- if [[ -n " $INPUT_CONFIG " ]]; then
90- OPTIONS=" ${OPTIONS} --config=${INPUT_CONFIG} "
91- fi
92-
93- if [[ " $INPUT_DRYRUN_ACTION " = true ]]; then
94- OPTIONS=" ${OPTIONS} --dryrun"
95- fi
141+ OPTIONS=$( init_options ) ;
142+ CONFIG_OPTIONS=$( init_config_options ) ;
96143
97144if [[ " $INPUT_UPLOAD_SOURCES " = true ]]; then
98145 upload_sources;
@@ -102,7 +149,6 @@ if [[ "$INPUT_UPLOAD_TRANSLATIONS" = true ]]; then
102149 upload_translations;
103150fi
104151
105-
106152if [[ " $INPUT_DOWNLOAD_TRANSLATIONS " = true ]]; then
107153 [[ -z " ${GITHUB_TOKEN} " ]] && {
108154 echo " CAN NOT FIND 'GITHUB_TOKEN' IN ENVIRONMENT VARIABLES" ;
0 commit comments