From 83e5eede8e5490d60b1f6cb23f6ad64b8d1ced16 Mon Sep 17 00:00:00 2001 From: Vitor Conceicao Date: Mon, 9 Feb 2026 19:34:45 -0300 Subject: [PATCH 1/2] refactor: change template to use env vars --- Projects/App/Project.swift | 2 +- .../ProjectDescriptionHelpers/Project+Template.swift | 10 ++++++---- scripts/generate-project.sh | 12 ++++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Projects/App/Project.swift b/Projects/App/Project.swift index 3d4769a..4176c82 100644 --- a/Projects/App/Project.swift +++ b/Projects/App/Project.swift @@ -81,6 +81,6 @@ let project = Project( arguments: .arguments(environmentVariables: ["IS_TESTING": "true"])), runAction: .runAction(configuration: .debug, executable: .project(path: ".", target: moduleName), - arguments: .arguments(environmentVariables: developmentEnv))) + arguments: .arguments(environmentVariables: envs))) ] ) diff --git a/Tuist/ProjectDescriptionHelpers/Project+Template.swift b/Tuist/ProjectDescriptionHelpers/Project+Template.swift index 996e655..5cf2d28 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Template.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Template.swift @@ -4,10 +4,12 @@ public enum ModuleTargets: Equatable { case test, testing, interfaces, app, source } -let cmApiBaseURL = EnvironmentVariable(stringLiteral: "https://pro-api.coinmarketcap.com") +let cmApiBaseURL = Environment.cmApiBaseUrl.getString(default: "") +let cmApiKey = Environment.cmApiKey.getString(default: "") -public let developmentEnv: [String: EnvironmentVariable] = [ - "CM_API_BASE_URL": cmApiBaseURL, +public let envs: [String: EnvironmentVariable] = [ + "CM_API_BASE_URL": EnvironmentVariable(stringLiteral: cmApiBaseURL), + "CM_API_KEY": EnvironmentVariable(stringLiteral: cmApiKey) ] public let iOSDeploymentTarget: DeploymentTargets = .iOS("15.0") @@ -116,7 +118,7 @@ public extension Project { testAction: targets.contains(.test) ? .targets(["\(moduleName)Tests"]) : nil, runAction: .runAction( configuration: .debug, - arguments: shouldSetEnvVars ? .arguments(environmentVariables: developmentEnv) : nil + arguments: shouldSetEnvVars ? .arguments(environmentVariables: envs) : nil ) ) ] diff --git a/scripts/generate-project.sh b/scripts/generate-project.sh index 4d62bd8..b47380e 100644 --- a/scripts/generate-project.sh +++ b/scripts/generate-project.sh @@ -1,2 +1,14 @@ +#!/bin/bash + +# Verifica se o ficheiro .env existe +if [ -f .env ]; then + # Lê o ficheiro linha a linha e exporta as variáveis + export $(grep -v '^#' .env | xargs) + echo "✅ Variáveis de ambiente carregadas do .env" +else + echo "⚠️ Ficheiro .env não encontrado!" +fi + +# Executa os comandos do Tuist tuist install tuist generate \ No newline at end of file From 814614d9a85740810f8d4a4f431814837a5d1e73 Mon Sep 17 00:00:00 2001 From: Vitor Conceicao Date: Mon, 9 Feb 2026 19:39:44 -0300 Subject: [PATCH 2/2] chore: add .env to ignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 867d74a..b582d5a 100644 --- a/.gitignore +++ b/.gitignore @@ -75,4 +75,5 @@ test_output derived_data Gemfile.lock .bundle -reports-*/ \ No newline at end of file +reports-*/ +.env \ No newline at end of file