1
1
"use strict" ;
2
2
3
3
const cds = require ( "@sap/cds" ) ;
4
-
5
4
const { path } = cds . utils ;
6
5
6
+ const DEFAULT_MAIN_FOLDER = "_main" ;
7
+
7
8
module . exports = class COV2APBuildPlugin extends cds . build . BuildPlugin {
8
9
static hasTask ( ) {
9
10
cds . env . cov2ap = cds . env . cov2ap || { } ;
@@ -25,7 +26,12 @@ module.exports = class COV2APBuildPlugin extends cds.build.BuildPlugin {
25
26
this . task . src = mtxBuildTask . src ;
26
27
const sidecarEnv = cds . env . for ( "cds" , mtxBuildTask . src ) ;
27
28
const modelProviderService = sidecarEnv . requires [ "cds.xt.ModelProviderService" ] ;
28
- this . task . dest = path . join ( mtxBuildTask . dest , modelProviderService . root , cds . env . folders . srv , "odata/v2" ) ;
29
+ let main = modelProviderService . root ;
30
+ const profiles = cds . env . profiles ?? [ ] ;
31
+ if ( ! profiles . includes ( "production" ) && ! profiles . includes ( "prod" ) ) {
32
+ main = DEFAULT_MAIN_FOLDER ;
33
+ }
34
+ this . task . dest = path . join ( mtxBuildTask . dest , main , cds . env . folders . srv , "odata/v2" ) ;
29
35
}
30
36
31
37
async build ( ) {
@@ -48,9 +54,9 @@ module.exports = class COV2APBuildPlugin extends cds.build.BuildPlugin {
48
54
} ) ;
49
55
this . write ( result ) . to ( `${ service . name } .xml` ) ;
50
56
} catch ( err ) {
51
- this . _logger . info (
52
- `EDMX V2 compilation failed. Service '${ service . name } ' is (probably) not compatible with OData V2` ,
53
- err ,
57
+ this . pushMessage (
58
+ `EDMX V2 compilation failed. Service '${ service . name } ' is (probably) not compatible with OData V2: ` + err ,
59
+ COV2APBuildPlugin . INFO ,
54
60
) ;
55
61
}
56
62
}
0 commit comments