Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
#!/bin/bash
SCRIPT_DIR="$(dirname "$0")";

ROOT_DIR="$SCRIPT_DIR/../../../../../../..";
COMMONS_DIR="${ROOT_DIR}/commons";
source ${COMMONS_DIR}/commons.sh;

setGitProjectName;

setIsCI;

GTFS_RDS_VALUES_FILE="${ROOT_DIR}/app-android/src/main/res/values/gtfs_rts_values.xml"; # do not change to avoid breaking compat w/ old modules
Comment thread
mmathieum marked this conversation as resolved.
if [ ! -f "${GTFS_RDS_VALUES_FILE}" ]; then
echo ">> Generating values-fr/gtfs_rts_strings.xml... SKIP (not an rds agency)";
Comment thread
mmathieum marked this conversation as resolved.
exit 0; # ok
fi

echo ">> Generating values-fr/gtfs_rts_strings.xml...";

APP_ANDROID_DIR="${ROOT_DIR}/app-android";
SRC_DIR="${APP_ANDROID_DIR}/src";
MAIN_DIR="${SRC_DIR}/main";
RES_DIR="${MAIN_DIR}/res";
VALUES_DIR="${RES_DIR}/values";
VALUES_FR_DIR="${RES_DIR}/values-fr";
GTFS_RTS_STRINGS_FILE="${VALUES_FR_DIR}/gtfs_rts_strings.xml";
mkdir -p "${VALUES_FR_DIR}";
checkResult $?;
Comment thread
mmathieum marked this conversation as resolved.
if [ -f "${GTFS_RTS_STRINGS_FILE}" ]; then
echo ">> File '$GTFS_RTS_STRINGS_FILE' already exist."; # compat with existing values-fr/gtfs_rts_strings.xml
exit 0; # compat w/ manually created file
fi

rm -f "${GTFS_RTS_STRINGS_FILE}";
checkResult $?;
touch "${GTFS_RTS_STRINGS_FILE}";
checkResult $?;
Comment thread
mmathieum marked this conversation as resolved.

CONFIG_DIR="${ROOT_DIR}/config";
if [ ! -d "$CONFIG_DIR" ]; then
echo "$CONFIG_DIR doesn't exist!";
exit 1;
fi

AGENCY_NAME_FILE="${CONFIG_DIR}/agency_name";
if [ ! -f "$AGENCY_NAME_FILE" ]; then
echo "$AGENCY_NAME_FILE doesn't exist!";
exit 1;
fi

AGENCY_NAME_LONG=$(tail -n 1 $AGENCY_NAME_FILE);
if [ -z "$AGENCY_NAME_LONG" ]; then
echo "AGENCY_NAME_LONG is empty!";
exit 1;
fi

AGENCY_NAME_SHORT=$(head -n 1 $AGENCY_NAME_FILE);
if [ -z "$AGENCY_NAME_SHORT" ]; then
echo "AGENCY_NAME_SHORT is empty!";
exit 1;
fi
Comment thread
mmathieum marked this conversation as resolved.
Outdated

requireCommand "xmllint" "libxml2-utils";
requireCommand "jq";

GTFS_CONFIG_DIR="${CONFIG_DIR}/gtfs";
GTFS_RDS_VALUES_GEN_FILE="${VALUES_DIR}/gtfs_rts_values_gen.xml"; # do not change to avoid breaking compat w/ old modules
AGENCY_JSON_FILE="${GTFS_CONFIG_DIR}/agency.json";
TYPE=-1;
if [ -f $GTFS_RDS_VALUES_GEN_FILE ]; then
# https://github.com/mtransitapps/parser/blob/master/src/main/java/org/mtransit/parser/gtfs/data/GRouteType.kt
TYPE=$(xmllint --xpath "//resources/integer[@name='gtfs_rts_agency_type']/text()" "$GTFS_RDS_VALUES_GEN_FILE")
elif [ -f $AGENCY_JSON_FILE ]; then
Comment thread
mmathieum marked this conversation as resolved.
# https://github.com/mtransitapps/parser/blob/master/src/main/java/org/mtransit/parser/gtfs/data/GRouteType.kt
TYPE=$(jq '.target_route_type_id // empty' "$AGENCY_JSON_FILE")
else
echo "> No agency file! (rds:$GTFS_RDS_VALUES_GEN_FILE|json:$AGENCY_JSON_FILE)"
exit 1 # error
fi
if [ -z "$TYPE" ]; then
echo " > No type found for agency!"
exit 1 # error
fi
TYPE_LABEL="";
if [ "$TYPE" -eq 0 ]; then # LIGHT_RAIL
TYPE_LABEL="trains léger"; # TODO?
elif [ "$TYPE" -eq 1 ]; then # SUBWAY
TYPE_LABEL="métros";
elif [ "$TYPE" -eq 2 ]; then # TRAIN
TYPE_LABEL="trains";
elif [ "$TYPE" -eq 3 ]; then # BUS
TYPE_LABEL="autobus";
elif [ "$TYPE" -eq 4 ]; then # FERRY
TYPE_LABEL="bateaux";
else
echo "Unexpected agency type '$TYPE'!"
exit 1 # error
fi

AGENCY_TYPE_FILE="${CONFIG_DIR}/agency_type";
if [ -f "$AGENCY_TYPE_FILE" ]; then
AGENCY_TYPE_SHORT=$(head -n 1 "$AGENCY_TYPE_FILE");
if [ -n "$AGENCY_TYPE_SHORT" ]; then
TYPE_LABEL="$AGENCY_TYPE_SHORT";
fi
fi

cat >>"${GTFS_RTS_STRINGS_FILE}" <<EOL
Comment thread
mmathieum marked this conversation as resolved.
<?xml version="1.0" encoding="utf-8"?>
<!-- DO NOT EDIT: this file is generated by MTgtfs_rts_strings.xml.MT.sh -->
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en">
<string name="gtfs_rts_label">$AGENCY_NAME_LONG $TYPE_LABEL</string>
<string name="gtfs_rts_short_name">$AGENCY_NAME_SHORT</string>
</resources>
EOL

if [[ ${IS_CI} = true ]]; then
echo "---------------------------------------------------------------------------------------------------------------";
cat "${GTFS_RTS_STRINGS_FILE}"; #DEBUG
echo "---------------------------------------------------------------------------------------------------------------";
fi

echo ">> Generating values-fr/gtfs_rts_strings.xml... DONE";
Comment thread
mmathieum marked this conversation as resolved.
Outdated
1 change: 1 addition & 0 deletions shared/app-android/MT.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ proguard/
/src/main/res/values/module_app_icon_color.xml
/src/main/res/values/parent_agency_values.xml
/src/main/res/values-fr/bike_station_strings.xml
/src/main/res/values-fr/gtfs_rts_strings.xml
/src/main/res/values-fr/strings.xml

# trigger change 1
Expand Down