Compare commits

..

7 Commits

Author SHA1 Message Date
Lothar Bender
9a6f4b71b3 adopt latest custom build task changes
- single BuildTaskHandler instead of BuildTaskProvider/BuildTaskHandler
  approach
- static build task handler config moved to meta
- default build task properties are now returned as name/value pairs
  using property config
- runWith to declare dependencies across build task handlers, ensuring
  correct dependency graph
- optional getTasks method to implement build task specific constraints
2021-12-09 13:04:08 +01:00
Lothar Bender
c796bda9ad Merge branch 'main' into add/customBuildTask 2021-12-06 10:10:14 +01:00
Lothar Bender
8852c91406 rename applyTaskDefaults 2021-11-24 18:30:30 +01:00
Lothar Bender
a7ab8b3bda optional plugin.activate() method 2021-11-24 17:59:43 +01:00
Lothar Bender
b2b4907b4a Merge branch 'main' into add/customBuildTask 2021-11-24 11:51:03 +01:00
Lothar Bender
69126b94af lookupTasks becomes optional
- change output dir
2021-11-24 11:47:52 +01:00
Lothar Bender
8b0f6010a5 add custom build task contribution sample 2021-11-23 23:11:32 +01:00
9 changed files with 50 additions and 39 deletions

View File

@@ -1,7 +1,7 @@
using { Currency, managed, sap, extensible } from '@sap/cds/common';
using { Currency, managed, sap } from '@sap/cds/common';
namespace sap.capire.bookshop;
entity Books : managed, extensible {
entity Books : managed {
key ID : Integer;
title : localized String(111);
descr : localized String(1111);
@@ -13,7 +13,7 @@ entity Books : managed, extensible {
image : LargeBinary @Core.MediaType : 'image/png';
}
entity Authors : managed, extensible {
entity Authors : managed {
key ID : Integer;
name : String(111);
dateOfBirth : Date;

View File

@@ -8,6 +8,9 @@
"express": "^4.17.1",
"passport": "0.4.1"
},
"devDependencies": {
"@cds/cds-plugin-openapi": "*"
},
"scripts": {
"genres": "cds serve test/genres.cds",
"start": "cds run",

View File

@@ -0,0 +1,29 @@
/* eslint-disable require-await */
const cds = require('@sap/cds'), { BuildTaskHandler } = cds.build
const cdsdk = require('@sap/cds-dk')
cds.build.register(class OpenApiHandler extends BuildTaskHandler {
static get meta() {
return {
id: 'openapi',
runWith: ['node-cf', 'java-cf'],
config: { src: cds.env.folders.srv.replace(/\/$/, '') }
}
}
async clean() {
return this.remove('openapi-docs')
}
async build() {
const model = await this.model()
const { options } = this.task
// generate openapi files for all services
await Promise.all(cds.linked(model).services.map(service => {
const openApi = cdsdk.compile.to.openapi(model, {
service: service.name,
'openapi:diagram': String(options.diagram) === 'true'
})
this.write(openApi).to(`openapi-docs/${service.name}.openapi3.json`)
}))
}
})

View File

@@ -0,0 +1,9 @@
{
"name": "@sap/cds-plugin-openapi",
"version": "1.0.0",
"description": "OpenAPI service specification build plugin",
"main": "index.js",
"dependencies": {
"@sap/cds-dk": "^4"
}
}

View File

@@ -50,10 +50,6 @@
}
},
"sap.ui5": {
"flexEnabled": true,
"config": {
"experimentalCAPScenario": true
},
"dependencies": {
"minUI5Version": "1.81.0",
"libs": {

View File

@@ -22,10 +22,6 @@
}
},
"sap.ui5": {
"flexEnabled": true,
"config": {
"experimentalCAPScenario": true
},
"dependencies": {
"libs": {
"sap.fe.templates": {}

View File

@@ -10,21 +10,7 @@
<script>
window["sap-ushell-config"] = {
defaultRenderer: "fiori2",
applications: {},
bootstrapPlugins: {
RuntimeAuthoringPlugin: {
component: "sap.ushell.plugins.rta",
config: {
validateAppVersion: false,
},
},
PersonalizePlugin: {
component: "sap.ushell.plugins.rta-personalize",
config: {
validateAppVersion: false,
},
},
}
applications: {}
};
</script>
@@ -36,13 +22,8 @@
data-sap-ui-frameOptions="allow"
></script>
<script>
sap.ui.getCore().attachInit(()=> sap.ushell.Container.createRenderer().placeAt("content"));
sap.ui
.getCore()
.getConfiguration()
.setFlexibilityServices([{ connector: "SessionStorageConnector" }]);
sap.ui.getCore().getConfiguration().setLanguage("en");
</script>
sap.ui.getCore().attachInit(()=> sap.ushell.Container.createRenderer().placeAt("content"))
</script>
</head>
<body class="sapUiBody" id="content"></body>

View File

@@ -13,9 +13,6 @@
},
"cds": {
"requires": {
"extensibility": {
"kind": "uiflex"
},
"auth": {
"strategy": "dummy"
},

View File

@@ -13,13 +13,14 @@
"@capire/media": "./media",
"@capire/orders": "./orders",
"@capire/reviews": "./reviews",
"@sap/cds": "^5.5.3"
"@sap/cds": "git+https://github.tools.sap/cap/cds#add/customBuildTaskProviders"
},
"devDependencies": {
"chai": "^4.3.4",
"chai-as-promised": "^7.1.1",
"chai-subset": "^1.6.0",
"sqlite3": "^5"
"sqlite3": "^5",
"@cds/cds-plugin-openapi": "./cds-plugin-openapi"
},
"scripts": {
"cleanup": "rm -rf node_modules && rm -rf */node_modules && rm -rf */*/node_modules",
@@ -30,7 +31,6 @@
"media": "cds watch media",
"mocha": "npx mocha || echo",
"jest": "npx jest",
"start": "cds watch fiori",
"test": "npm run jest -- --silent",
"test:hello": "cd hello && npm test"
},