catalyst-core-internal 0.0.1-beta.46 → 0.0.1-beta.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var _fs=_interopRequireDefault(require("fs"));var _child_process=require("child_process");var _utils=require("./utils.js");var _TerminalProgress=_interopRequireDefault(require("./TerminalProgress.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const pwd=`${process.cwd()}/node_modules/catalyst-core/dist/native`;const configPath=`${process.env.PWD}/config/config.json`;const steps={java:'Check Java Environment',config:'Initialize Configuration',androidTools:'Validate Android Tools',emulator:'Configure Android Emulator',properties:'Update Local Properties',saveConfig:'Save Configuration'};const progressPaddingConfig={titlePaddingTop:2,titlePaddingBottom:1,stepPaddingLeft:4,stepSpacing:1,errorPaddingLeft:6,bottomMargin:2};const progress=new _TerminalProgress.default(steps,"Catalyst Universal Android Setup",progressPaddingConfig);async function checkJavaInstallation(){try{(0,_utils.runCommand)('java -version');(0,_utils.runCommand)('javac -version');progress.log('Java is installed and configured','success');return true;}catch(error){progress.log('Java installation not found or not properly configured','error');return false;}}async function installJava(){progress.log('Installing Java (Zulu JDK 17)...');try{try{(0,_utils.runCommand)('brew --version');}catch(error){throw new Error('Homebrew is required but not installed. Please install Homebrew first.');}await(0,_utils.runCommand)('brew install --cask zulu@17');const javaHome='/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home';const homeDir=process.env.HOME;const shellProfile=`${homeDir}/.zshrc`;const exportCommand=`\n# Java Configuration\nexport JAVA_HOME=${javaHome}\nexport PATH=$JAVA_HOME/bin:$PATH\n`;_fs.default.appendFileSync(shellProfile,exportCommand);process.env.JAVA_HOME=javaHome;process.env.PATH=`${javaHome}/bin:${process.env.PATH}`;progress.log('Java installed and configured successfully','success');progress.log(`NOTE: Please restart your terminal or run: source ${shellProfile}`,'info');const javaVersion=(0,_utils.runCommand)('java -version');progress.log(`Java installation verified: ${javaVersion}`,'success');return true;}catch(error){progress.log(`Failed to install Java: ${error.message}`,'error');return false;}}async function validateJavaEnvironment(){progress.start('java');const hasJava=await checkJavaInstallation();if(!hasJava){progress.log('Java installation required. Starting installation process...');const javaInstalled=await installJava();if(!javaInstalled){progress.fail('java','Failed to set up Java environment');throw new Error('Failed to set up Java environment');}}progress.complete('java');}async function initializeConfig(){const configFile=_fs.default.readFileSync(configPath,'utf8');const config=JSON.parse(configFile);const{WEBVIEW_CONFIG}=config;if(!WEBVIEW_CONFIG||Object.keys(WEBVIEW_CONFIG).length===0){progress.log('WebView Config missing in '+configPath,'error');process.exit(1);}if(!WEBVIEW_CONFIG.android){WEBVIEW_CONFIG.android={};}return{WEBVIEW_CONFIG};}async function saveConfig(newConfig){try{const existingConfigFile=_fs.default.readFileSync(configPath,'utf8');const existingConfig=JSON.parse(existingConfigFile);const updatedConfig={...existingConfig,WEBVIEW_CONFIG:newConfig.WEBVIEW_CONFIG};_fs.default.writeFileSync(configPath,JSON.stringify(updatedConfig,null,2));progress.log('Configuration saved successfully','success');}catch(error){progress.log('Failed to save configuration: '+error.message,'error');process.exit(1);}}function validateAndroidTools(androidConfig){const ANDROID_SDK=androidConfig.sdkPath;const EMULATOR_PATH=`${ANDROID_SDK}/emulator/emulator`;const ADB_PATH=`${ANDROID_SDK}/platform-tools/adb`;if(!ANDROID_SDK){throw new Error('Android SDK path is not configured');}if(!_fs.default.existsSync(ANDROID_SDK)){throw new Error(`Android SDK path does not exist: ${ANDROID_SDK}`);}if(!_fs.default.existsSync(ADB_PATH)){throw new Error(`ADB not found at: ${ADB_PATH}`);}try{(0,_utils.runCommand)(`${ADB_PATH} version`);progress.log('ADB is valid','success');}catch(error){throw new Error(`ADB is not working properly: ${error.message}`);}if(!_fs.default.existsSync(EMULATOR_PATH)){throw new Error(`Emulator not found at: ${EMULATOR_PATH}`);}try{(0,_utils.runCommand)(`${EMULATOR_PATH} -version`);progress.log('Emulator is valid','success');}catch(error){throw new Error(`Emulator is not working properly: ${error.message}`);}try{const avdOutput=(0,_utils.runCommand)(`${EMULATOR_PATH} -list-avds`);if(!avdOutput.includes(androidConfig.emulatorName)){throw new Error(`Specified emulator "${androidConfig.emulatorName}" not found in available AVDs`);}progress.log(`Emulator "${androidConfig.emulatorName}" exists`,'success');}catch(error){throw new Error(`Error checking emulator AVD: ${error.message}`);}progress.log('Android tools validation completed successfully!','success');return{EMULATOR_PATH,ADB_PATH};}async function checkEmulator(ADB_PATH){try{const devices=(0,_utils.runCommand)(`${ADB_PATH} devices`);return devices.includes('emulator');}catch(error){progress.log(`Error checking emulator: ${error}`,'error');return false;}}async function startEmulator(EMULATOR_PATH,androidConfig){progress.log(`Starting emulator: ${androidConfig.emulatorName}...`);(0,_child_process.exec)(`${EMULATOR_PATH} -avd ${androidConfig.emulatorName} -read-only > /dev/null &`,(error,stdout,stderr)=>{if(error){progress.log(`Error starting emulator: ${error}`,'error');}});}async function updateLocalProperties(sdkPath){progress.start('properties');try{(0,_utils.runCommand)(`cd ${pwd}/androidProject && ./gradlew updateSdkPath -PsdkPath="${sdkPath}"`);progress.log('Updated local.properties successfully','success');progress.complete('properties');}catch(error){progress.fail('properties',`Failed to update local.properties: ${error.message}`);throw error;}}async function setupAndroidEnvironment(){try{await validateJavaEnvironment();progress.start('config');const{WEBVIEW_CONFIG}=await initializeConfig();const config=await(0,_utils.validateAndCompleteConfig)('android',configPath);progress.complete('config');progress.start('androidTools');const{EMULATOR_PATH,ADB_PATH}=validateAndroidTools(config.android);progress.complete('androidTools');progress.start('emulator');const emulatorRunning=await checkEmulator(ADB_PATH);if(!emulatorRunning){progress.log('No emulator running, attempting to start one...');await startEmulator(EMULATOR_PATH,config.android);}else{progress.log('Emulator already running, proceeding with installation...','success');}progress.complete('emulator');if(config.android?.sdkPath){await updateLocalProperties(config.android.sdkPath);}progress.start('saveConfig');await saveConfig({WEBVIEW_CONFIG:config});progress.complete('saveConfig');progress.printTreeContent('Configuration Explanation',['WEBVIEW_CONFIG: Main configuration object for the WebView setup',{text:'port: Port number for the WebView server',indent:1,prefix:'├─ ',color:'gray'},{text:'android: Android-specific configuration',indent:1,prefix:'└─ ',color:'gray'},{text:'buildType: Build type (debug/release)',indent:2,prefix:'├─ ',color:'gray'},{text:'sdkPath: Android SDK path',indent:2,prefix:'├─ ',color:'gray'},{text:'emulatorName: Selected Android emulator name',indent:2,prefix:'└─ ',color:'gray'}]);progress.printTreeContent('Final Configuration',[JSON.stringify(config,null,2)]);process.exit(0);}catch(error){if(progress.currentStep){progress.fail(progress.currentStep.id,error.message);}process.exit(1);}}// Execute the main setup
|
|
1
|
+
"use strict";var _fs=_interopRequireDefault(require("fs"));var _child_process=require("child_process");var _utils=require("./utils.js");var _TerminalProgress=_interopRequireDefault(require("./TerminalProgress.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const pwd=`${process.cwd()}/node_modules/catalyst-core-internal/dist/native`;const configPath=`${process.env.PWD}/config/config.json`;const steps={java:'Check Java Environment',config:'Initialize Configuration',androidTools:'Validate Android Tools',emulator:'Configure Android Emulator',properties:'Update Local Properties',saveConfig:'Save Configuration'};const progressPaddingConfig={titlePaddingTop:2,titlePaddingBottom:1,stepPaddingLeft:4,stepSpacing:1,errorPaddingLeft:6,bottomMargin:2};const progress=new _TerminalProgress.default(steps,"Catalyst Universal Android Setup",progressPaddingConfig);async function checkJavaInstallation(){try{(0,_utils.runCommand)('java -version');(0,_utils.runCommand)('javac -version');progress.log('Java is installed and configured','success');return true;}catch(error){progress.log('Java installation not found or not properly configured','error');return false;}}async function installJava(){progress.log('Installing Java (Zulu JDK 17)...');try{try{(0,_utils.runCommand)('brew --version');}catch(error){throw new Error('Homebrew is required but not installed. Please install Homebrew first.');}await(0,_utils.runCommand)('brew install --cask zulu@17');const javaHome='/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home';const homeDir=process.env.HOME;const shellProfile=`${homeDir}/.zshrc`;const exportCommand=`\n# Java Configuration\nexport JAVA_HOME=${javaHome}\nexport PATH=$JAVA_HOME/bin:$PATH\n`;_fs.default.appendFileSync(shellProfile,exportCommand);process.env.JAVA_HOME=javaHome;process.env.PATH=`${javaHome}/bin:${process.env.PATH}`;progress.log('Java installed and configured successfully','success');progress.log(`NOTE: Please restart your terminal or run: source ${shellProfile}`,'info');const javaVersion=(0,_utils.runCommand)('java -version');progress.log(`Java installation verified: ${javaVersion}`,'success');return true;}catch(error){progress.log(`Failed to install Java: ${error.message}`,'error');return false;}}async function validateJavaEnvironment(){progress.start('java');const hasJava=await checkJavaInstallation();if(!hasJava){progress.log('Java installation required. Starting installation process...');const javaInstalled=await installJava();if(!javaInstalled){progress.fail('java','Failed to set up Java environment');throw new Error('Failed to set up Java environment');}}progress.complete('java');}async function initializeConfig(){const configFile=_fs.default.readFileSync(configPath,'utf8');const config=JSON.parse(configFile);const{WEBVIEW_CONFIG}=config;if(!WEBVIEW_CONFIG||Object.keys(WEBVIEW_CONFIG).length===0){progress.log('WebView Config missing in '+configPath,'error');process.exit(1);}if(!WEBVIEW_CONFIG.android){WEBVIEW_CONFIG.android={};}return{WEBVIEW_CONFIG};}async function saveConfig(newConfig){try{const existingConfigFile=_fs.default.readFileSync(configPath,'utf8');const existingConfig=JSON.parse(existingConfigFile);const updatedConfig={...existingConfig,WEBVIEW_CONFIG:newConfig.WEBVIEW_CONFIG};_fs.default.writeFileSync(configPath,JSON.stringify(updatedConfig,null,2));progress.log('Configuration saved successfully','success');}catch(error){progress.log('Failed to save configuration: '+error.message,'error');process.exit(1);}}function validateAndroidTools(androidConfig){const ANDROID_SDK=androidConfig.sdkPath;const EMULATOR_PATH=`${ANDROID_SDK}/emulator/emulator`;const ADB_PATH=`${ANDROID_SDK}/platform-tools/adb`;if(!ANDROID_SDK){throw new Error('Android SDK path is not configured');}if(!_fs.default.existsSync(ANDROID_SDK)){throw new Error(`Android SDK path does not exist: ${ANDROID_SDK}`);}if(!_fs.default.existsSync(ADB_PATH)){throw new Error(`ADB not found at: ${ADB_PATH}`);}try{(0,_utils.runCommand)(`${ADB_PATH} version`);progress.log('ADB is valid','success');}catch(error){throw new Error(`ADB is not working properly: ${error.message}`);}if(!_fs.default.existsSync(EMULATOR_PATH)){throw new Error(`Emulator not found at: ${EMULATOR_PATH}`);}try{(0,_utils.runCommand)(`${EMULATOR_PATH} -version`);progress.log('Emulator is valid','success');}catch(error){throw new Error(`Emulator is not working properly: ${error.message}`);}try{const avdOutput=(0,_utils.runCommand)(`${EMULATOR_PATH} -list-avds`);if(!avdOutput.includes(androidConfig.emulatorName)){throw new Error(`Specified emulator "${androidConfig.emulatorName}" not found in available AVDs`);}progress.log(`Emulator "${androidConfig.emulatorName}" exists`,'success');}catch(error){throw new Error(`Error checking emulator AVD: ${error.message}`);}progress.log('Android tools validation completed successfully!','success');return{EMULATOR_PATH,ADB_PATH};}async function checkEmulator(ADB_PATH){try{const devices=(0,_utils.runCommand)(`${ADB_PATH} devices`);return devices.includes('emulator');}catch(error){progress.log(`Error checking emulator: ${error}`,'error');return false;}}async function startEmulator(EMULATOR_PATH,androidConfig){progress.log(`Starting emulator: ${androidConfig.emulatorName}...`);(0,_child_process.exec)(`${EMULATOR_PATH} -avd ${androidConfig.emulatorName} -read-only > /dev/null &`,(error,stdout,stderr)=>{if(error){progress.log(`Error starting emulator: ${error}`,'error');}});}async function updateLocalProperties(sdkPath){progress.start('properties');try{(0,_utils.runCommand)(`cd ${pwd}/androidProject && ./gradlew updateSdkPath -PsdkPath="${sdkPath}"`);progress.log('Updated local.properties successfully','success');progress.complete('properties');}catch(error){progress.fail('properties',`Failed to update local.properties: ${error.message}`);throw error;}}async function setupAndroidEnvironment(){try{await validateJavaEnvironment();progress.start('config');const{WEBVIEW_CONFIG}=await initializeConfig();const config=await(0,_utils.validateAndCompleteConfig)('android',configPath);progress.complete('config');progress.start('androidTools');const{EMULATOR_PATH,ADB_PATH}=validateAndroidTools(config.android);progress.complete('androidTools');progress.start('emulator');const emulatorRunning=await checkEmulator(ADB_PATH);if(!emulatorRunning){progress.log('No emulator running, attempting to start one...');await startEmulator(EMULATOR_PATH,config.android);}else{progress.log('Emulator already running, proceeding with installation...','success');}progress.complete('emulator');if(config.android?.sdkPath){await updateLocalProperties(config.android.sdkPath);}progress.start('saveConfig');await saveConfig({WEBVIEW_CONFIG:config});progress.complete('saveConfig');progress.printTreeContent('Configuration Explanation',['WEBVIEW_CONFIG: Main configuration object for the WebView setup',{text:'port: Port number for the WebView server',indent:1,prefix:'├─ ',color:'gray'},{text:'android: Android-specific configuration',indent:1,prefix:'└─ ',color:'gray'},{text:'buildType: Build type (debug/release)',indent:2,prefix:'├─ ',color:'gray'},{text:'sdkPath: Android SDK path',indent:2,prefix:'├─ ',color:'gray'},{text:'emulatorName: Selected Android emulator name',indent:2,prefix:'└─ ',color:'gray'}]);progress.printTreeContent('Final Configuration',[JSON.stringify(config,null,2)]);process.exit(0);}catch(error){if(progress.currentStep){progress.fail(progress.currentStep.id,error.message);}process.exit(1);}}// Execute the main setup
|
|
2
2
|
setupAndroidEnvironment();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _child_process=require("child_process");var _fs=_interopRequireDefault(require("fs"));var _utils=require("./utils.js");var _TerminalProgress=_interopRequireDefault(require("./TerminalProgress.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const configPath=`${process.env.PWD}/config/config.json`;const pwd=`${process.cwd()}/node_modules/catalyst-core/dist/native`;const ANDROID_PACKAGE="com.example.androidProject";const steps={config:'Initialize Configuration',tools:'Validate Android Tools',emulator:'Check and Start Emulator',build:'Build and Install Application'};const progressConfig={titlePaddingTop:2,titlePaddingBottom:1,stepPaddingLeft:4,stepSpacing:1,errorPaddingLeft:6,bottomMargin:2};const progress=new _TerminalProgress.default(steps,"Catalyst Android Build",progressConfig);async function initializeConfig(){const configFile=_fs.default.readFileSync(configPath,'utf8');const config=JSON.parse(configFile);const{WEBVIEW_CONFIG}=config;if(!WEBVIEW_CONFIG||Object.keys(WEBVIEW_CONFIG).length===0){throw new Error('WebView Config missing in '+configPath);}if(!WEBVIEW_CONFIG.android){throw new Error('Android config missing in WebView Config');}return{WEBVIEW_CONFIG};}function validateAndroidTools(androidConfig){const ANDROID_SDK=androidConfig.sdkPath;const ADB_PATH=`${ANDROID_SDK}/platform-tools/adb`;const EMULATOR_PATH=`${ANDROID_SDK}/emulator/emulator`;progress.log('Validating Android tools...','info');if(!ANDROID_SDK){throw new Error('Android SDK path is not configured');}if(!_fs.default.existsSync(ANDROID_SDK)){throw new Error(`Android SDK path does not exist: ${ANDROID_SDK}`);}if(!_fs.default.existsSync(ADB_PATH)){throw new Error(`ADB not found at: ${ADB_PATH}`);}try{(0,_utils.runCommand)(`${ADB_PATH} version`);progress.log('ADB validation successful','success');}catch(error){throw new Error(`ADB is not working properly: ${error.message}`);}if(!_fs.default.existsSync(EMULATOR_PATH)){throw new Error(`Emulator not found at: ${EMULATOR_PATH}`);}try{(0,_utils.runCommand)(`${EMULATOR_PATH} -version`);progress.log('Emulator validation successful','success');}catch(error){throw new Error(`Emulator is not working properly: ${error.message}`);}try{const avdOutput=(0,_utils.runCommand)(`${EMULATOR_PATH} -list-avds`);if(!avdOutput.includes(androidConfig.emulatorName)){throw new Error(`Specified emulator "${androidConfig.emulatorName}" not found in available AVDs`);}progress.log(`Emulator "${androidConfig.emulatorName}" exists`,'success');}catch(error){throw new Error(`Error checking emulator AVD: ${error.message}`);}progress.log('Android tools validation completed successfully!','success');return{ANDROID_SDK,ADB_PATH,EMULATOR_PATH};}async function checkEmulator(ADB_PATH){try{const devices=(0,_utils.runCommand)(`${ADB_PATH} devices`);return devices.includes('emulator');}catch(error){progress.log('Error checking emulator status: '+error.message,'error');return false;}}async function startEmulator(EMULATOR_PATH,androidConfig){progress.log(`Starting emulator: ${androidConfig.emulatorName}...`,'info');return new Promise((resolve,reject)=>{(0,_child_process.exec)(`${EMULATOR_PATH} -avd ${androidConfig.emulatorName} -read-only > /dev/null &`,(error,stdout,stderr)=>{if(error){progress.log('Error starting emulator: '+error.message,'error');reject(error);}else{progress.log('Emulator started successfully','success');resolve();}});});}async function installApp(ADB_PATH,androidConfig){progress.log('Building and installing app...','info');try{const buildCommand=`cd ${pwd}/androidProject && ./gradlew generateWebViewConfig -PconfigPath=${configPath} && ./gradlew clean installDebug && ${ADB_PATH} shell monkey -p ${ANDROID_PACKAGE} 1`;await(0,_utils.runInteractiveCommand)('sh',['-c',buildCommand],{'BUILD SUCCESSFUL':''});progress.log('Installation completed successfully!','success');}catch(error){throw new Error('Error installing app: '+error.message);}}async function buildAndroidApp(){try{// Initialize configuration
|
|
1
|
+
"use strict";var _child_process=require("child_process");var _fs=_interopRequireDefault(require("fs"));var _utils=require("./utils.js");var _TerminalProgress=_interopRequireDefault(require("./TerminalProgress.js"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const configPath=`${process.env.PWD}/config/config.json`;const pwd=`${process.cwd()}/node_modules/catalyst-core-internal/dist/native`;const ANDROID_PACKAGE="com.example.androidProject";const steps={config:'Initialize Configuration',tools:'Validate Android Tools',emulator:'Check and Start Emulator',build:'Build and Install Application'};const progressConfig={titlePaddingTop:2,titlePaddingBottom:1,stepPaddingLeft:4,stepSpacing:1,errorPaddingLeft:6,bottomMargin:2};const progress=new _TerminalProgress.default(steps,"Catalyst Android Build",progressConfig);async function initializeConfig(){const configFile=_fs.default.readFileSync(configPath,'utf8');const config=JSON.parse(configFile);const{WEBVIEW_CONFIG}=config;if(!WEBVIEW_CONFIG||Object.keys(WEBVIEW_CONFIG).length===0){throw new Error('WebView Config missing in '+configPath);}if(!WEBVIEW_CONFIG.android){throw new Error('Android config missing in WebView Config');}return{WEBVIEW_CONFIG};}function validateAndroidTools(androidConfig){const ANDROID_SDK=androidConfig.sdkPath;const ADB_PATH=`${ANDROID_SDK}/platform-tools/adb`;const EMULATOR_PATH=`${ANDROID_SDK}/emulator/emulator`;progress.log('Validating Android tools...','info');if(!ANDROID_SDK){throw new Error('Android SDK path is not configured');}if(!_fs.default.existsSync(ANDROID_SDK)){throw new Error(`Android SDK path does not exist: ${ANDROID_SDK}`);}if(!_fs.default.existsSync(ADB_PATH)){throw new Error(`ADB not found at: ${ADB_PATH}`);}try{(0,_utils.runCommand)(`${ADB_PATH} version`);progress.log('ADB validation successful','success');}catch(error){throw new Error(`ADB is not working properly: ${error.message}`);}if(!_fs.default.existsSync(EMULATOR_PATH)){throw new Error(`Emulator not found at: ${EMULATOR_PATH}`);}try{(0,_utils.runCommand)(`${EMULATOR_PATH} -version`);progress.log('Emulator validation successful','success');}catch(error){throw new Error(`Emulator is not working properly: ${error.message}`);}try{const avdOutput=(0,_utils.runCommand)(`${EMULATOR_PATH} -list-avds`);if(!avdOutput.includes(androidConfig.emulatorName)){throw new Error(`Specified emulator "${androidConfig.emulatorName}" not found in available AVDs`);}progress.log(`Emulator "${androidConfig.emulatorName}" exists`,'success');}catch(error){throw new Error(`Error checking emulator AVD: ${error.message}`);}progress.log('Android tools validation completed successfully!','success');return{ANDROID_SDK,ADB_PATH,EMULATOR_PATH};}async function checkEmulator(ADB_PATH){try{const devices=(0,_utils.runCommand)(`${ADB_PATH} devices`);return devices.includes('emulator');}catch(error){progress.log('Error checking emulator status: '+error.message,'error');return false;}}async function startEmulator(EMULATOR_PATH,androidConfig){progress.log(`Starting emulator: ${androidConfig.emulatorName}...`,'info');return new Promise((resolve,reject)=>{(0,_child_process.exec)(`${EMULATOR_PATH} -avd ${androidConfig.emulatorName} -read-only > /dev/null &`,(error,stdout,stderr)=>{if(error){progress.log('Error starting emulator: '+error.message,'error');reject(error);}else{progress.log('Emulator started successfully','success');resolve();}});});}async function installApp(ADB_PATH,androidConfig){progress.log('Building and installing app...','info');try{const buildCommand=`cd ${pwd}/androidProject && ./gradlew generateWebViewConfig -PconfigPath=${configPath} && ./gradlew clean installDebug && ${ADB_PATH} shell monkey -p ${ANDROID_PACKAGE} 1`;await(0,_utils.runInteractiveCommand)('sh',['-c',buildCommand],{'BUILD SUCCESSFUL':''});progress.log('Installation completed successfully!','success');}catch(error){throw new Error('Error installing app: '+error.message);}}async function buildAndroidApp(){try{// Initialize configuration
|
|
2
2
|
progress.start('config');const{WEBVIEW_CONFIG}=await initializeConfig();const androidConfig=WEBVIEW_CONFIG.android;progress.complete('config');// Validate tools and get paths
|
|
3
3
|
progress.start('tools');const{ANDROID_SDK,ADB_PATH,EMULATOR_PATH}=await validateAndroidTools(androidConfig);progress.complete('tools');// Check and start emulator if needed
|
|
4
4
|
progress.start('emulator');const emulatorRunning=await checkEmulator(ADB_PATH);if(!emulatorRunning){progress.log('No emulator running, attempting to start one...','info');await startEmulator(EMULATOR_PATH,androidConfig);// Wait for emulator to fully boot
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const{exec,execSync}=require("child_process");const fs=require("fs");const path=require("path");const TerminalProgress=require("./TerminalProgress.js").default;const pwd=`${process.cwd()}/node_modules/catalyst-core/dist/native`;const{WEBVIEW_CONFIG}=require(`${process.env.PWD}/config/config.json`);// Configuration constants
|
|
1
|
+
"use strict";const{exec,execSync}=require("child_process");const fs=require("fs");const path=require("path");const TerminalProgress=require("./TerminalProgress.js").default;const pwd=`${process.cwd()}/node_modules/catalyst-core-internal/dist/native`;const{WEBVIEW_CONFIG}=require(`${process.env.PWD}/config/config.json`);// Configuration constants
|
|
2
2
|
const iosConfig=WEBVIEW_CONFIG.ios;const url=`http://${getLocalIPAddress()}:${WEBVIEW_CONFIG.port}`;const PROJECT_DIR=`${pwd}/iosnativeWebView`;const SCHEME_NAME="iosnativeWebView";const APP_BUNDLE_ID=iosConfig.appBundleId||"com.debug.webview";const PROJECT_NAME=path.basename(PROJECT_DIR);const IPHONE_MODEL=iosConfig.simulatorName;// Define build steps for progress tracking
|
|
3
3
|
const steps={config:'Generating Required Configuration for build',launchSimulator:'Launch iOS Simulator',clean:'Clean Build Artifacts',build:'Build IOS Project',findApp:'Locate Built Application',install:'Install Application',launch:'Launch Application'};// Configure progress display
|
|
4
4
|
const progressConfig={titlePaddingTop:2,titlePaddingBottom:1,stepPaddingLeft:4,stepSpacing:1,errorPaddingLeft:6,bottomMargin:2};const progress=new TerminalProgress(steps,"Catalyst iOS Build",progressConfig);async function generateConfigConstants(){progress.start('config');try{const configOutputPath=path.join(PROJECT_DIR,PROJECT_NAME,"ConfigConstants.swift");await runCommand(`swift ${pwd}/build.swift "${url}" "${configOutputPath}"`);progress.log('Configuration constants generated successfully','success');progress.complete('config');}catch(error){progress.fail('config',error.message);// throw error;
|