@@ -30,26 +30,37 @@ trap finish EXIT
30
30
# Generate source code and compile
31
31
function generate_coin {
32
32
# Define coin paths
33
- export BASE_COIN_PATH=" ${WORK_FOLDERS_PATH} /${__CONFIG_base_coin_name } "
33
+ export BASE_COIN_PATH=" ${WORK_FOLDERS_PATH} /${__CONFIG_BASE_COIN_extension_folder } "
34
34
export NEW_COIN_PATH=" ${WORK_FOLDERS_PATH} /${__CONFIG_core_CRYPTONOTE_NAME} "
35
35
if [ -d " ${BASE_COIN_PATH} " ]; then
36
36
cd " ${BASE_COIN_PATH} "
37
- echo " Updating ${__CONFIG_base_coin_name} ..."
37
+ echo " Updating ${__CONFIG_BASE_COIN_name} ..."
38
+ git checkout master
38
39
git pull
39
40
cd " ${PROJECT_DIR} "
40
41
else
41
- echo " Cloning ${__CONFIG_base_coin_name} ..."
42
- git clone " ${__CONFIG_base_coin_git} " " ${BASE_COIN_PATH} "
42
+ echo " Cloning ${__CONFIG_BASE_COIN_name} ..."
43
+ git clone " ${__CONFIG_BASE_COIN_git} " " ${BASE_COIN_PATH} "
44
+ fi
45
+
46
+ if [[ ! -z $BRANCH ]]; then
47
+ cd " ${BASE_COIN_PATH} "
48
+ git checkout ${BRANCH}
49
+ cd " ${PROJECT_DIR} "
50
+ else
51
+ cd " ${BASE_COIN_PATH} "
52
+ git checkout ${__CONFIG_BASE_COIN_branch}
53
+ cd " ${PROJECT_DIR} "
43
54
fi
44
55
45
56
# Exit if base coin does not exists
46
57
if [ ! -d " ${BASE_COIN_PATH} " ]; then
47
- echo " Base coin does not exists "
58
+ echo " Base coin does not exist "
48
59
echo " Abort clone generation"
49
60
exit 4
50
61
fi
51
62
52
- echo " Make temporary ${__CONFIG_base_coin_name } copy..."
63
+ echo " Make temporary ${__CONFIG_BASE_COIN_name } copy..."
53
64
[ -d " ${TEMP_PATH} " ] || mkdir -p " ${TEMP_PATH} "
54
65
cp -af " ${BASE_COIN_PATH} /." " ${TEMP_PATH} "
55
66
@@ -81,6 +92,11 @@ function generate_coin {
81
92
82
93
bash " ${SCRIPTS_PATH} /compile.sh" -c " ${COMPILE_ARGS} " -z
83
94
fi
95
+
96
+ if [[ ! -z $BRANCH ]]; then
97
+ cd " ${BASE_COIN_PATH} "
98
+ git checkout master
99
+ fi
84
100
}
85
101
86
102
# Usage info
@@ -91,6 +107,7 @@ Reads a config file and creates and compiles Cryptonote coin. "config.json" as d
91
107
92
108
-h display this help and exit
93
109
-f config file
110
+ -b branch
94
111
-c compile arguments
95
112
EOF
96
113
}
@@ -100,16 +117,19 @@ OPTIND=1 # Reset in case getopts has been used previously in the shell.
100
117
101
118
# Initialize our own variables:
102
119
CONFIG_FILE=' config.json'
120
+ CORE_CONFIG_FILE=' '
103
121
COMPILE_ARGS=' '
104
122
105
- while getopts " h?f:c:" opt; do
123
+ while getopts " h?f:b: c:" opt; do
106
124
case " $opt " in
107
125
h|\? )
108
126
show_help
109
127
exit 0
110
128
;;
111
129
f) CONFIG_FILE=${OPTARG}
112
130
;;
131
+ b) BRANCH=${OPTARG}
132
+ ;;
113
133
c) COMPILE_ARGS=${OPTARG}
114
134
;;
115
135
esac
@@ -123,7 +143,7 @@ if [[ "${CONFIG_FILE}" != /* ]]; then
123
143
fi
124
144
125
145
if [ ! -f ${CONFIG_FILE} ]; then
126
- echo " ERROR: config file does not exist "
146
+ echo " ERROR: config file does not exits "
127
147
exit
128
148
fi
129
149
@@ -138,4 +158,25 @@ if [ ! -f ${BASH_CONFIG} ]; then
138
158
fi
139
159
source ${BASH_CONFIG}
140
160
161
+ CORE_CONFIG_FILE=${__CONFIG_base_coin}
162
+ # Setting core config file
163
+ if [[ " ${CORE_CONFIG_FILE} " != /* ]]; then
164
+ CORE_CONFIG_FILE=" ${CORE_CONFIG_PATH} /cores/${CORE_CONFIG_FILE} .json"
165
+ fi
166
+
167
+ if [ ! -f ${CORE_CONFIG_FILE} ]; then
168
+ echo " ERROR: core config file does not exits"
169
+ echo " ${CORE_CONFIG_FILE} "
170
+ exit
171
+ fi
172
+
173
+ # Get environment environment_variables
174
+ python " lib/environment_variables.py" --config=$CORE_CONFIG_FILE --output=$BASH_CONFIG --prefix=" _BASE_COIN"
175
+ if [ ! -f ${BASH_CONFIG} ]; then
176
+ echo " Core config file was not translated to bash."
177
+ echo " Abort coin generation"
178
+ exit 3
179
+ fi
180
+ source ${BASH_CONFIG}
181
+
141
182
generate_coin
0 commit comments