@sap/cds-dk
Version:
Command line client and development toolkit for the SAP Cloud Application Programming Model
34 lines (28 loc) • 1.1 kB
JavaScript
const { join } = require('path')
const cds = require('../../../cds')
const { exists } = cds.utils
const { bold } = require('../../../util/term')
const { copyRenderedYAML } = require('../../../util/fs')
const { readProject } = require('../../projectReader')
const { merge, sort } = require('../../merge')
const { mvn } = require('../../add')
module.exports = class MtaTemplate extends require('../../plugin') {
static help() {
return 'Cloud Foundry deployment using mta.yaml'
}
static hasInProduction() {
return exists('mta.yaml')
}
async run() {
const project = readProject()
if (!exists('mta.yaml')) {
await copyRenderedYAML(join(__dirname, 'files', 'mta.yaml.hbs'), 'mta.yaml', project)
}
await merge(__dirname, 'files/package.json').into('package.json')
await sort('package.json', 'devDependencies')
if (project.isJava) await mvn.add('cf')
}
async finalize() {
if (!exists('pom.xml')) console.log(`\nrun ${bold('npm update --package-lock-only')} to freeze dependencies`)
}
}