Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | 5x 5x 5x 5x 5x 5x 5x 5x 5x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 5x | /* * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0/ * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ "use strict"; const chalk = require('chalk') const moment = require('moment') const fs = require('fs-extra') const projectInfoManager = require('./project-info-manager.js') const awsmobilejsConstant = require('./utils/awsmobilejs-constant.js') const pathManager = require('./utils/awsmobilejs-path-manager.js') const backendSpecManager = require('./backend-operations/backend-spec-manager.js') const opsProject = require('./backend-operations/ops-project.js') let _callback let _projectInfo let _backendProject let _isNewBuildExecuted = false function build(callback) { _callback = callback _projectInfo = projectInfoManager.getProjectInfo() Eif(_projectInfo){ ensureFolderStructure(_projectInfo.ProjectPath) _backendProject = backendSpecManager.getBackendProjectObject(_projectInfo) Eif(_backendProject){ console.log('checking the backend contents') let enabledFeatures = backendSpecManager.getEnabledFeatures(_projectInfo, _backendProject) Eif(enabledFeatures.length > 0){ let count = 0 enabledFeatures.forEach(function(featureName){ const opsFeature = require(pathManager.getOpsFeatureFilePath(featureName)) opsFeature.build(_projectInfo, _backendProject, function(isNewBuildExecuted){ Eif(isNewBuildExecuted){ _isNewBuildExecuted = true } count++ Eif(count == enabledFeatures.length){ opsProject.build(_projectInfo, _backendProject, function(isNewBuildExecuted){ Eif(isNewBuildExecuted){ _isNewBuildExecuted = true } onBuildComplete() }) } }) }) }else{ opsProject.build(_projectInfo, _backendProject, function(isNewBuildExecuted){ if(isNewBuildExecuted){ _isNewBuildExecuted = true } onBuildComplete() }) } }else{ console.log(chalk.red('local backend specs appear to be corrupted')) console.log('please restore the local backend specs to a valid state before continuing') } } } function onBuildComplete(){ Eif(_isNewBuildExecuted){ _projectInfo.BackendLastBuildTime = moment().format(awsmobilejsConstant.DateTimeFormatString) projectInfoManager.setProjectInfo(_projectInfo) console.log('backend build artifacts are saved at: ') console.log(chalk.blue(pathManager.getBackendBuildDirPath(_projectInfo.ProjectPath))) } Eif(_callback){ _callback() } } function ensureFolderStructure(projectPath){ let backendBuildPath = pathManager.getBackendBuildDirPath(projectPath) fs.ensureDirSync(backendBuildPath) } module.exports = { build } |