aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/deliverable.c9
-rw-r--r--src/main.c16
2 files changed, 14 insertions, 11 deletions
diff --git a/src/deliverable.c b/src/deliverable.c
index 77aa619..0ae94f7 100644
--- a/src/deliverable.c
+++ b/src/deliverable.c
@@ -441,9 +441,12 @@ int delivery_init(struct Delivery *ctx, struct INIFILE *ini, struct INIFILE *cfg
getter(ini, "meta", "based_on", INIVAL_TYPE_STR)
conv_str(ctx, meta.based_on)
- getter(ini, "meta", "python", INIVAL_TYPE_STR)
- conv_str(ctx, meta.python)
- ctx->meta.python_compact = to_short_version(ctx->meta.python);
+ if (!ctx->meta.python) {
+ getter(ini, "meta", "python", INIVAL_TYPE_STR)
+ conv_str(ctx, meta.python)
+ guard_free(ctx->meta.python_compact)
+ ctx->meta.python_compact = to_short_version(ctx->meta.python);
+ }
getter_required(ini, "conda", "installer_name", INIVAL_TYPE_STR)
conv_str(ctx, conda.installer_name)
diff --git a/src/main.c b/src/main.c
index 9a05c45..9b2d7e4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -291,6 +291,14 @@ int main(int argc, char *argv[], char *arge[]) {
exit(1);
}
+ // Override Python version from command-line, if any
+ if (strlen(python_override_version)) {
+ guard_free(ctx.meta.python)
+ ctx.meta.python = strdup(python_override_version);
+ guard_free(ctx.meta.python_compact);
+ ctx.meta.python_compact = to_short_version(ctx.meta.python);
+ }
+
if (delivery_init(&ctx, ini, cfg)) {
msg(OMC_MSG_ERROR | OMC_MSG_L1, "Failed to initialize delivery context\n");
exit(1);
@@ -299,14 +307,6 @@ int main(int argc, char *argv[], char *arge[]) {
globals.always_update_base_environment = arg_always_update_base_environment;
globals.continue_on_error = arg_continue_on_error;
- // Override Python version from command-line, if any
- // TODO: Investigate better method to override.
- // And make sure all pointers/strings are updated
- if (strlen(python_override_version) && ctx.meta.python) {
- guard_free(ctx.meta.python)
- ctx.meta.python = strdup(python_override_version);
- }
-
msg(OMC_MSG_L2, "Configuring JFrog CLI\n");
if (delivery_init_artifactory(&ctx)) {
msg(OMC_MSG_ERROR | OMC_MSG_L2, "JFrog CLI configuration failed\n");