diff options
| -rw-r--r-- | src/deliverable.c | 9 | ||||
| -rw-r--r-- | src/main.c | 16 | 
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) @@ -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"); | 
