@sap/artifact-management 1.49.1 → 1.51.0
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.
- package/dist/src/definitions/PluginDefintionProvider.js +2 -0
- package/dist/src/definitions/PluginDefintionProvider.js.map +1 -1
- package/dist/src/plugins/cap/index.js +1 -0
- package/dist/src/plugins/cap/index.js.map +1 -1
- package/dist/src/plugins/cap/readers/CapProjectReader.js +2 -3
- package/dist/src/plugins/cap/readers/CapProjectReader.js.map +1 -1
- package/dist/src/plugins/dataproduct/InfoList.js +43 -0
- package/dist/src/plugins/dataproduct/InfoList.js.map +1 -0
- package/dist/src/plugins/dataproduct/index.js +36 -0
- package/dist/src/plugins/dataproduct/index.js.map +1 -0
- package/dist/src/plugins/dataproduct/readers/DataProductItemReader.js +116 -0
- package/dist/src/plugins/dataproduct/readers/DataProductItemReader.js.map +1 -0
- package/dist/src/plugins/dataproduct/readers/DataProductModuleReader.js +43 -0
- package/dist/src/plugins/dataproduct/readers/DataProductModuleReader.js.map +1 -0
- package/dist/src/plugins/dataproduct/readers/DataProductProjectReader.js +59 -0
- package/dist/src/plugins/dataproduct/readers/DataProductProjectReader.js.map +1 -0
- package/dist/src/plugins/dataproduct/types/DataProductDefinition.js +6 -0
- package/dist/src/plugins/dataproduct/types/DataProductDefinition.js.map +1 -0
- package/dist/src/plugins/workflow/index.js +2 -4
- package/dist/src/plugins/workflow/index.js.map +1 -1
- package/dist/src/plugins/workflow/readers/WorkflowModuleReader.js +16 -9
- package/dist/src/plugins/workflow/readers/WorkflowModuleReader.js.map +1 -1
- package/dist/src/plugins/workflow/readers/WorkflowProjectReader.js +44 -0
- package/dist/src/plugins/workflow/readers/WorkflowProjectReader.js.map +1 -0
- package/dist/src/project-api/ProjectModulesInstance.js +1 -1
- package/dist/src/project-api/ProjectModulesInstance.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +132 -51
- package/dist/types/src/plugins/cap/readers/CapProjectReader.d.ts +1 -2
- package/dist/types/src/plugins/dataproduct/InfoList.d.ts +37 -0
- package/dist/types/src/plugins/dataproduct/index.d.ts +8 -0
- package/dist/types/src/plugins/dataproduct/readers/DataProductItemReader.d.ts +24 -0
- package/dist/types/src/plugins/dataproduct/readers/DataProductModuleReader.d.ts +17 -0
- package/dist/types/src/plugins/dataproduct/readers/DataProductProjectReader.d.ts +16 -0
- package/dist/types/src/plugins/dataproduct/types/DataProductDefinition.d.ts +96 -0
- package/dist/types/src/plugins/workflow/index.d.ts +0 -1
- package/dist/types/src/plugins/workflow/readers/WorkflowModuleReader.d.ts +2 -0
- package/dist/types/src/plugins/workflow/readers/WorkflowProjectReader.d.ts +11 -0
- package/package.json +10 -10
- package/dist/src/plugins/workflow/InfoList.js +0 -10
- package/dist/src/plugins/workflow/InfoList.js.map +0 -1
- package/dist/types/src/plugins/workflow/InfoList.d.ts +0 -6
|
@@ -11,6 +11,7 @@ const bas_1 = __importDefault(require("../plugins/bas"));
|
|
|
11
11
|
const java_1 = __importDefault(require("../plugins/java"));
|
|
12
12
|
const artifact_management_mdkplugin_1 = __importDefault(require("@sap/artifact-management-mdkplugin"));
|
|
13
13
|
const artifact_management_hanaplugin_1 = __importDefault(require("@sap/artifact-management-hanaplugin"));
|
|
14
|
+
const dataproduct_1 = __importDefault(require("../plugins/dataproduct"));
|
|
14
15
|
const abap_1 = __importDefault(require("../plugins/abap"));
|
|
15
16
|
/**
|
|
16
17
|
* Central entrypoint for project and module specific implementations ("plugins").
|
|
@@ -30,6 +31,7 @@ class PluginDefintionProvider {
|
|
|
30
31
|
this.register(artifact_management_hanaplugin_1.default);
|
|
31
32
|
this.register(bas_1.default);
|
|
32
33
|
this.register(abap_1.default);
|
|
34
|
+
this.register(dataproduct_1.default);
|
|
33
35
|
}
|
|
34
36
|
register(plugin) {
|
|
35
37
|
if (this.pluginMap.has(plugin.name)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginDefintionProvider.js","sourceRoot":"","sources":["../../../src/definitions/PluginDefintionProvider.ts"],"names":[],"mappings":";;;;;AAAA,yDAAuC;AACvC,6DAAgD;AAChD,mEAAiD;AACjD,2GAA6D;AAC7D,yDAAuC;AACvC,2DAAyC;AACzC,uGAA2D;AAC3D,yGAA6D;
|
|
1
|
+
{"version":3,"file":"PluginDefintionProvider.js","sourceRoot":"","sources":["../../../src/definitions/PluginDefintionProvider.ts"],"names":[],"mappings":";;;;;AAAA,yDAAuC;AACvC,6DAAgD;AAChD,mEAAiD;AACjD,2GAA6D;AAC7D,yDAAuC;AACvC,2DAAyC;AACzC,uGAA2D;AAC3D,yGAA6D;AAC7D,yEAAuD;AAEvD,2DAAyC;AAEzC;;;;;GAKG;AACH,MAAM,uBAAuB;IAGzB;QAFQ,cAAS,GAAwB,IAAI,GAAG,EAAkB,CAAC;QAG/D,IAAI,CAAC,QAAQ,CAAC,cAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,aAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,eAAgB,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,kBAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,yCAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,uCAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,wCAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,aAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,cAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,qBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ,CAAC,MAAc;QACnB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,WAAW;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,UAAkB;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;SAC1C;QACD,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,mBAAmB,CAAC,CAAC;IAC7D,CAAC;CACJ;AAED,kBAAe,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/cap/index.ts"],"names":[],"mappings":";;;;;;AACA,gFAAwD;AACxD,oGAA4E;AAC5E,kFAA0D;AAC1D,2FAAmE;AACnE,yFAAiE;AACjE,sDAA8B;AAE9B,MAAM,SAAS,GAAW;IACtB,IAAI,EAAE,yBAAyB;IAE/B,eAAe;QACX,OAAO;YACH,KAAK;YACL,KAAK;YACL,OAAO;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/cap/index.ts"],"names":[],"mappings":";;;;;;AACA,gFAAwD;AACxD,oGAA4E;AAC5E,kFAA0D;AAC1D,2FAAmE;AACnE,yFAAiE;AACjE,sDAA8B;AAE9B,MAAM,SAAS,GAAW;IACtB,IAAI,EAAE,yBAAyB;IAE/B,eAAe;QACX,OAAO;YACH,KAAK;YACL,KAAK;YACL,OAAO;YACP,WAAW;SACd,CAAC;IACN,CAAC;IAED,iBAAiB;QACb,OAAO,CAAC,IAAI,0BAAgB,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,gBAAgB;QACZ,OAAO,CAAC,IAAI,yBAAe,EAAE,EAAE,IAAI,mCAAyB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,4BAA4B;QACxB,OAAO,CAAC,IAAI,6BAAmB,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,2BAA2B;QACvB,OAAO,CAAC,IAAI,4BAAkB,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,gBAAM,EAAE,CAAC;IACxB,CAAC;CACJ,CAAC;AAEF,kBAAe,SAAS,CAAC;AACzB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
|
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const artifact_management_base_1 = require("@sap/artifact-management-base");
|
|
7
7
|
const XsSecurityModuleReader_1 = __importDefault(require("../../xsuaa/readers/XsSecurityModuleReader"));
|
|
8
8
|
const InfoList_1 = require("../InfoList");
|
|
9
|
-
const WorkflowModuleReader_1 = __importDefault(require("../../workflow/readers/WorkflowModuleReader"));
|
|
10
9
|
class CapProjectReader extends artifact_management_base_1.ProjectReader {
|
|
11
10
|
constructor() {
|
|
12
11
|
super({
|
|
13
12
|
requiredFilePatterns: ['package.json'],
|
|
14
13
|
});
|
|
15
14
|
this.additionalModuleReaders = [
|
|
16
|
-
[new XsSecurityModuleReader_1.default()
|
|
15
|
+
[new XsSecurityModuleReader_1.default()],
|
|
17
16
|
];
|
|
18
17
|
this.tags = [artifact_management_base_1.Tag.Project, artifact_management_base_1.Tag.CAP];
|
|
19
18
|
}
|
|
@@ -93,7 +92,7 @@ class CapProjectReader extends artifact_management_base_1.ProjectReader {
|
|
|
93
92
|
return false;
|
|
94
93
|
}
|
|
95
94
|
async moduleSearchPattern() {
|
|
96
|
-
return ['app', 'db', 'srv', 'test', 'app/*'];
|
|
95
|
+
return ['app', 'db', 'srv', 'test', 'app/*', 'workflows'];
|
|
97
96
|
}
|
|
98
97
|
async probeMtaExtension(fs, isLcap) {
|
|
99
98
|
const pattern = '**/*.mtaext';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapProjectReader.js","sourceRoot":"","sources":["../../../../../src/plugins/cap/readers/CapProjectReader.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"CapProjectReader.js","sourceRoot":"","sources":["../../../../../src/plugins/cap/readers/CapProjectReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InfoList = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Error and warning message definitions for Data Product plugin
|
|
6
|
+
*/
|
|
7
|
+
exports.InfoList = Object.freeze({
|
|
8
|
+
// Errors
|
|
9
|
+
ERR_DPD_FILE_INVALID: {
|
|
10
|
+
code: 'ERR_DPD_FILE_INVALID',
|
|
11
|
+
description: 'Invalid .dpd file format',
|
|
12
|
+
},
|
|
13
|
+
ERR_DPD_HEADER_MISSING: {
|
|
14
|
+
code: 'ERR_DPD_HEADER_MISSING',
|
|
15
|
+
description: 'Missing header section in .dpd file',
|
|
16
|
+
},
|
|
17
|
+
ERR_DPD_NAME_UNDEFINED: {
|
|
18
|
+
code: 'ERR_DPD_NAME_UNDEFINED',
|
|
19
|
+
description: 'Data product name is undefined',
|
|
20
|
+
},
|
|
21
|
+
ERR_DPD_NAMESPACE_UNDEFINED: {
|
|
22
|
+
code: 'ERR_DPD_NAMESPACE_UNDEFINED',
|
|
23
|
+
description: 'Data product namespace is undefined',
|
|
24
|
+
},
|
|
25
|
+
ERR_DPD_VERSION_UNDEFINED: {
|
|
26
|
+
code: 'ERR_DPD_VERSION_UNDEFINED',
|
|
27
|
+
description: 'Data product version is undefined',
|
|
28
|
+
},
|
|
29
|
+
ERR_DATAPRODUCTS_FOLDER_EMPTY: {
|
|
30
|
+
code: 'ERR_DATAPRODUCTS_FOLDER_EMPTY',
|
|
31
|
+
description: 'dataProducts folder contains no .dpd files',
|
|
32
|
+
},
|
|
33
|
+
// Warnings
|
|
34
|
+
WARN_DPD_TITLE_UNDEFINED: {
|
|
35
|
+
code: 'WARN_DPD_TITLE_UNDEFINED',
|
|
36
|
+
description: 'Data product title is undefined',
|
|
37
|
+
},
|
|
38
|
+
WARN_DPD_DESCRIPTION_UNDEFINED: {
|
|
39
|
+
code: 'WARN_DPD_DESCRIPTION_UNDEFINED',
|
|
40
|
+
description: 'Data product description is undefined',
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=InfoList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfoList.js","sourceRoot":"","sources":["../../../../src/plugins/dataproduct/InfoList.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,SAAS;IACT,oBAAoB,EAAE;QAClB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,0BAA0B;KAC1C;IACD,sBAAsB,EAAE;QACpB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,qCAAqC;KACrD;IACD,sBAAsB,EAAE;QACpB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,gCAAgC;KAChD;IACD,2BAA2B,EAAE;QACzB,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,qCAAqC;KACrD;IACD,yBAAyB,EAAE;QACvB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,mCAAmC;KACnD;IACD,6BAA6B,EAAE;QAC3B,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,4CAA4C;KAC5D;IAED,WAAW;IACX,wBAAwB,EAAE;QACtB,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,iCAAiC;KACjD;IACD,8BAA8B,EAAE;QAC5B,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,uCAAuC;KACvD;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InfoList = void 0;
|
|
7
|
+
const DataProductProjectReader_1 = __importDefault(require("./readers/DataProductProjectReader"));
|
|
8
|
+
const DataProductModuleReader_1 = __importDefault(require("./readers/DataProductModuleReader"));
|
|
9
|
+
/**
|
|
10
|
+
* Data Product Plugin for Artifact Management.
|
|
11
|
+
* Provides support for Data Product projects containing .dpd files.
|
|
12
|
+
*/
|
|
13
|
+
const DataProductPlugin = {
|
|
14
|
+
name: '@sap/dataproduct-project-plugin',
|
|
15
|
+
getDependencies() {
|
|
16
|
+
return [];
|
|
17
|
+
},
|
|
18
|
+
getProjectReaders() {
|
|
19
|
+
return [new DataProductProjectReader_1.default()];
|
|
20
|
+
},
|
|
21
|
+
getModuleReaders() {
|
|
22
|
+
return [new DataProductModuleReader_1.default()];
|
|
23
|
+
},
|
|
24
|
+
getProjectManifestGenerators() {
|
|
25
|
+
// No MTA generation support for now
|
|
26
|
+
return [];
|
|
27
|
+
},
|
|
28
|
+
getModuleManifestGenerators() {
|
|
29
|
+
// No MTA generation support for now
|
|
30
|
+
return [];
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
exports.default = DataProductPlugin;
|
|
34
|
+
var InfoList_1 = require("./InfoList");
|
|
35
|
+
Object.defineProperty(exports, "InfoList", { enumerable: true, get: function () { return InfoList_1.InfoList; } });
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/dataproduct/index.ts"],"names":[],"mappings":";;;;;;AACA,kGAA0E;AAC1E,gGAAwE;AAExE;;;GAGG;AACH,MAAM,iBAAiB,GAAW;IAC9B,IAAI,EAAE,iCAAiC;IAEvC,eAAe;QACX,OAAO,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB;QACb,OAAO,CAAC,IAAI,kCAAwB,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB;QACZ,OAAO,CAAC,IAAI,iCAAuB,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,4BAA4B;QACxB,oCAAoC;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,2BAA2B;QACvB,oCAAoC;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAC;AAEF,kBAAe,iBAAiB,CAAC;AACjC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const artifact_management_base_1 = require("@sap/artifact-management-base");
|
|
4
|
+
const InfoList_1 = require("../InfoList");
|
|
5
|
+
/**
|
|
6
|
+
* Item reader for individual .dpd files.
|
|
7
|
+
* Extracts metadata from each data product definition file.
|
|
8
|
+
*/
|
|
9
|
+
class DataProductItemReader {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.matchConditions = {
|
|
12
|
+
filePatterns: ['*.dpd'],
|
|
13
|
+
};
|
|
14
|
+
this.types = [artifact_management_base_1.ItemType.DataProduct];
|
|
15
|
+
this.tags = [artifact_management_base_1.Tag.Item, artifact_management_base_1.Tag.DataProduct, artifact_management_base_1.Tag.DPD];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Read all .dpd files in the current directory and extract their metadata.
|
|
19
|
+
*/
|
|
20
|
+
async read({ fs }) {
|
|
21
|
+
const items = [];
|
|
22
|
+
const dpdFiles = await fs.glob('*.dpd', { onlyFiles: true });
|
|
23
|
+
for (const file of dpdFiles) {
|
|
24
|
+
try {
|
|
25
|
+
const content = await fs.readJson(file);
|
|
26
|
+
const item = this.parseDataProductFile(fs.relativeToRoot(file), content);
|
|
27
|
+
if (item) {
|
|
28
|
+
items.push(item);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
// If we can't parse the file, create an error item
|
|
33
|
+
items.push(this.createErrorItem(fs.relativeToRoot(file), error));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return items;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Parse a .dpd file and create an Item from it.
|
|
40
|
+
*/
|
|
41
|
+
parseDataProductFile(filePath, content) {
|
|
42
|
+
if (!content || !content.definition) {
|
|
43
|
+
return this.createErrorItem(filePath, new Error('Invalid .dpd file structure'));
|
|
44
|
+
}
|
|
45
|
+
const header = content.definition.header;
|
|
46
|
+
if (!header) {
|
|
47
|
+
return this.createErrorItem(filePath, new Error('Missing header in .dpd file'));
|
|
48
|
+
}
|
|
49
|
+
const info = new artifact_management_base_1.Info();
|
|
50
|
+
const errors = [];
|
|
51
|
+
// Validate required fields
|
|
52
|
+
if (!header.name) {
|
|
53
|
+
info.add(InfoList_1.InfoList.ERR_DPD_NAME_UNDEFINED);
|
|
54
|
+
errors.push(InfoList_1.InfoList.ERR_DPD_NAME_UNDEFINED.code);
|
|
55
|
+
}
|
|
56
|
+
if (!header.namespace) {
|
|
57
|
+
info.add(InfoList_1.InfoList.ERR_DPD_NAMESPACE_UNDEFINED);
|
|
58
|
+
errors.push(InfoList_1.InfoList.ERR_DPD_NAMESPACE_UNDEFINED.code);
|
|
59
|
+
}
|
|
60
|
+
if (!header.version) {
|
|
61
|
+
info.add(InfoList_1.InfoList.ERR_DPD_VERSION_UNDEFINED);
|
|
62
|
+
errors.push(InfoList_1.InfoList.ERR_DPD_VERSION_UNDEFINED.code);
|
|
63
|
+
}
|
|
64
|
+
// Extract version components
|
|
65
|
+
const version = header.version || '0.0.0';
|
|
66
|
+
const majorVersion = version.split('.')[0] || '0';
|
|
67
|
+
// Build the reference (namespace.name)
|
|
68
|
+
const ref = header.namespace && header.name
|
|
69
|
+
? `${header.namespace}.${header.name}`
|
|
70
|
+
: header.name || filePath;
|
|
71
|
+
// Create the data product info object
|
|
72
|
+
const dataProductInfo = {
|
|
73
|
+
id: header.name || '',
|
|
74
|
+
title: header.title || '',
|
|
75
|
+
namespace: header.namespace || '',
|
|
76
|
+
version: version,
|
|
77
|
+
majorVersion: majorVersion,
|
|
78
|
+
description: header.description,
|
|
79
|
+
};
|
|
80
|
+
const item = {
|
|
81
|
+
type: artifact_management_base_1.ItemType.DataProduct,
|
|
82
|
+
name: header.name || filePath,
|
|
83
|
+
ref: ref,
|
|
84
|
+
path: filePath,
|
|
85
|
+
tags: this.tags,
|
|
86
|
+
info: dataProductInfo,
|
|
87
|
+
};
|
|
88
|
+
// Add errors if any
|
|
89
|
+
if (errors.length > 0) {
|
|
90
|
+
item.info = {
|
|
91
|
+
...dataProductInfo,
|
|
92
|
+
errors: errors,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return item;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create an error item when parsing fails.
|
|
99
|
+
*/
|
|
100
|
+
createErrorItem(filePath, error) {
|
|
101
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
102
|
+
return {
|
|
103
|
+
type: artifact_management_base_1.ItemType.DataProduct,
|
|
104
|
+
name: filePath,
|
|
105
|
+
ref: filePath,
|
|
106
|
+
path: filePath,
|
|
107
|
+
tags: this.tags,
|
|
108
|
+
info: {
|
|
109
|
+
errors: [InfoList_1.InfoList.ERR_DPD_FILE_INVALID.code],
|
|
110
|
+
errorMessage: errorMessage,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.default = DataProductItemReader;
|
|
116
|
+
//# sourceMappingURL=DataProductItemReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataProductItemReader.js","sourceRoot":"","sources":["../../../../../src/plugins/dataproduct/readers/DataProductItemReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const artifact_management_base_1 = require("@sap/artifact-management-base");
|
|
7
|
+
const DataProductItemReader_1 = __importDefault(require("./DataProductItemReader"));
|
|
8
|
+
/**
|
|
9
|
+
* Module reader for the dataProducts folder.
|
|
10
|
+
* Reads the dataProducts folder and its .dpd files.
|
|
11
|
+
*/
|
|
12
|
+
class DataProductModuleReader extends artifact_management_base_1.ModuleReader {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.supportedProjectType = [artifact_management_base_1.ProjectType.DataProduct];
|
|
16
|
+
this.matchConditions = {
|
|
17
|
+
requiredFilePatterns: ['*.dpd'],
|
|
18
|
+
};
|
|
19
|
+
this.itemReaders = [new DataProductItemReader_1.default()];
|
|
20
|
+
this.tags = [artifact_management_base_1.Tag.Module, artifact_management_base_1.Tag.DataProduct];
|
|
21
|
+
}
|
|
22
|
+
getType() {
|
|
23
|
+
return artifact_management_base_1.ModuleType.DataProduct;
|
|
24
|
+
}
|
|
25
|
+
getDetectionMechanism() {
|
|
26
|
+
return artifact_management_base_1.DetectionMechanism.FILE_PATTERN;
|
|
27
|
+
}
|
|
28
|
+
async read({ fs }) {
|
|
29
|
+
// Check if there are any .dpd files in this directory
|
|
30
|
+
const dpdFiles = await fs.glob('*.dpd', { onlyFiles: true });
|
|
31
|
+
if (dpdFiles.length === 0) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
type: artifact_management_base_1.ModuleType.DataProduct,
|
|
36
|
+
name: 'dataProducts',
|
|
37
|
+
path: fs.relativeToRoot(),
|
|
38
|
+
tags: this.tags,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.default = DataProductModuleReader;
|
|
43
|
+
//# sourceMappingURL=DataProductModuleReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataProductModuleReader.js","sourceRoot":"","sources":["../../../../../src/plugins/dataproduct/readers/DataProductModuleReader.ts"],"names":[],"mappings":";;;;;AAAA,4EASuC;AACvC,oFAA4D;AAE5D;;;GAGG;AACH,MAAqB,uBAAwB,SAAQ,uCAAY;IAAjE;;QACI,yBAAoB,GAAG,CAAC,sCAAW,CAAC,WAAW,CAAC,CAAC;QAUjD,oBAAe,GAAG;YACd,oBAAoB,EAAE,CAAC,OAAO,CAAC;SAClC,CAAC;QAEF,gBAAW,GAAG,CAAC,IAAI,+BAAqB,EAAE,CAAC,CAAC;QAE5C,SAAI,GAAG,CAAC,8BAAG,CAAC,MAAM,EAAE,8BAAG,CAAC,WAAW,CAAC,CAAC;IAgBzC,CAAC;IA9BG,OAAO;QACH,OAAO,qCAAU,CAAC,WAAW,CAAC;IAClC,CAAC;IAED,qBAAqB;QACjB,OAAO,6CAAkB,CAAC,YAAY,CAAC;IAC3C,CAAC;IAUD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAkC;QAC7C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO;YACH,IAAI,EAAE,qCAAU,CAAC,WAAW;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,CAAC,cAAc,EAAE;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;CACJ;AAjCD,0CAiCC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const artifact_management_base_1 = require("@sap/artifact-management-base");
|
|
7
|
+
const DataProductModuleReader_1 = __importDefault(require("./DataProductModuleReader"));
|
|
8
|
+
/**
|
|
9
|
+
* Project reader for Data Product projects.
|
|
10
|
+
* Detects projects that have a 'dataProducts' folder directly under root
|
|
11
|
+
* containing .dpd files.
|
|
12
|
+
*/
|
|
13
|
+
class DataProductProjectReader extends artifact_management_base_1.ProjectReader {
|
|
14
|
+
constructor() {
|
|
15
|
+
super({
|
|
16
|
+
requiredFilePatterns: ['dataProducts/*.dpd'],
|
|
17
|
+
});
|
|
18
|
+
this.additionalModuleReaders = [
|
|
19
|
+
[new DataProductModuleReader_1.default()],
|
|
20
|
+
];
|
|
21
|
+
this.tags = [artifact_management_base_1.Tag.Project, artifact_management_base_1.Tag.DataProduct];
|
|
22
|
+
}
|
|
23
|
+
getType() {
|
|
24
|
+
return artifact_management_base_1.ProjectType.DataProduct;
|
|
25
|
+
}
|
|
26
|
+
getDetectionMechanism() {
|
|
27
|
+
return artifact_management_base_1.DetectionMechanism.UNIQUE_IDENTIFICATION;
|
|
28
|
+
}
|
|
29
|
+
async moduleSearchPattern() {
|
|
30
|
+
// Only search in the dataProducts folder directly under root
|
|
31
|
+
return ['dataProducts'];
|
|
32
|
+
}
|
|
33
|
+
async read({ fs }) {
|
|
34
|
+
// Check for .dpd files in the dataProducts folder
|
|
35
|
+
const dpdFiles = await fs.glob('dataProducts/*.dpd', { onlyFiles: true });
|
|
36
|
+
if (dpdFiles.length === 0) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
// Get project name from the folder name
|
|
40
|
+
const pathParts = fs.basePath.replace(/\\/g, '/').split('/');
|
|
41
|
+
const projectName = pathParts[pathParts.length - 1] || 'DataProductProject';
|
|
42
|
+
return {
|
|
43
|
+
type: artifact_management_base_1.ProjectType.DataProduct,
|
|
44
|
+
typeName: artifact_management_base_1.ProjectTypeName.DataProduct,
|
|
45
|
+
path: fs.basePath,
|
|
46
|
+
name: projectName,
|
|
47
|
+
prefix: projectName,
|
|
48
|
+
cloudService: projectName,
|
|
49
|
+
version: '1.0.0',
|
|
50
|
+
ui5version: artifact_management_base_1.ProjectDataDefaults.ui5version,
|
|
51
|
+
ui5theme: artifact_management_base_1.ProjectDataDefaults.ui5theme,
|
|
52
|
+
terminal: artifact_management_base_1.ProjectDataDefaults.terminal,
|
|
53
|
+
tags: this.tags,
|
|
54
|
+
nonDeployable: true,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.default = DataProductProjectReader;
|
|
59
|
+
//# sourceMappingURL=DataProductProjectReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataProductProjectReader.js","sourceRoot":"","sources":["../../../../../src/plugins/dataproduct/readers/DataProductProjectReader.ts"],"names":[],"mappings":";;;;;AAAA,4EAUuC;AACvC,wFAAgE;AAEhE;;;;GAIG;AACH,MAAqB,wBAAyB,SAAQ,wCAAa;IAC/D;QACI,KAAK,CAAC;YACF,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;SAC/C,CAAC,CAAC;QAWP,4BAAuB,GAAG;YACtB,CAAC,IAAI,iCAAuB,EAAE,CAAC;SAClC,CAAC;QAEF,SAAI,GAAG,CAAC,8BAAG,CAAC,OAAO,EAAE,8BAAG,CAAC,WAAW,CAAC,CAAC;IAdtC,CAAC;IAED,OAAO;QACH,OAAO,sCAAW,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,qBAAqB;QACjB,OAAO,6CAAkB,CAAC,qBAAqB,CAAC;IACpD,CAAC;IAQD,KAAK,CAAC,mBAAmB;QACrB,6DAA6D;QAC7D,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAwB;QACnC,kDAAkD;QAClD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,SAAS,CAAC;SACpB;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,oBAAoB,CAAC;QAE5E,OAAO;YACH,IAAI,EAAE,sCAAW,CAAC,WAAW;YAC7B,QAAQ,EAAE,0CAAe,CAAC,WAAW;YACrC,IAAI,EAAE,EAAE,CAAC,QAAQ;YACjB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,WAAW;YACnB,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,8CAAmB,CAAC,UAAU;YAC1C,QAAQ,EAAE,8CAAmB,CAAC,QAAQ;YACtC,QAAQ,EAAE,8CAAmB,CAAC,QAAQ;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI;SACtB,CAAC;IACN,CAAC;CACJ;AApDD,2CAoDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataProductDefinition.js","sourceRoot":"","sources":["../../../../../src/plugins/dataproduct/types/DataProductDefinition.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -3,15 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.InfoList = void 0;
|
|
7
6
|
const WorkflowModuleReader_1 = __importDefault(require("./readers/WorkflowModuleReader"));
|
|
7
|
+
const WorkflowProjectReader_1 = __importDefault(require("./readers/WorkflowProjectReader"));
|
|
8
8
|
const WorkflowPlugin = {
|
|
9
9
|
name: '@sap/workflow-project-plugin',
|
|
10
10
|
getDependencies() {
|
|
11
11
|
return [];
|
|
12
12
|
},
|
|
13
13
|
getProjectReaders() {
|
|
14
|
-
return [];
|
|
14
|
+
return [new WorkflowProjectReader_1.default()];
|
|
15
15
|
},
|
|
16
16
|
getModuleReaders() {
|
|
17
17
|
return [new WorkflowModuleReader_1.default()];
|
|
@@ -24,6 +24,4 @@ const WorkflowPlugin = {
|
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
exports.default = WorkflowPlugin;
|
|
27
|
-
var InfoList_1 = require("./InfoList");
|
|
28
|
-
Object.defineProperty(exports, "InfoList", { enumerable: true, get: function () { return InfoList_1.InfoList; } });
|
|
29
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/workflow/index.ts"],"names":[],"mappings":";;;;;AACA,0FAAkE;AAClE,4FAAoE;AAEpE,MAAM,cAAc,GAAW;IAC3B,IAAI,EAAE,8BAA8B;IAEpC,eAAe;QACX,OAAO,EAAE,CAAC;IACd,CAAC;IAED,iBAAiB;QACb,OAAO,CAAC,IAAI,+BAAqB,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;QACZ,OAAO,CAAC,IAAI,8BAAoB,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,4BAA4B;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,2BAA2B;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const artifact_management_base_1 = require("@sap/artifact-management-base");
|
|
4
|
-
const
|
|
4
|
+
const path_1 = require("path");
|
|
5
5
|
class WorkflowModuleReader extends artifact_management_base_1.ModuleReader {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
|
+
this.workflowFolderName = 'workflows';
|
|
9
|
+
this.supportedProjectType = [
|
|
10
|
+
artifact_management_base_1.ProjectType.Workflow,
|
|
11
|
+
artifact_management_base_1.ProjectType.CAP,
|
|
12
|
+
artifact_management_base_1.ProjectType.LCAP,
|
|
13
|
+
artifact_management_base_1.ProjectType.CAPJAVA,
|
|
14
|
+
];
|
|
8
15
|
this.matchConditions = {
|
|
9
|
-
requiredFilePatterns: ['
|
|
16
|
+
requiredFilePatterns: ['*.json'],
|
|
10
17
|
};
|
|
11
18
|
this.itemTags = [artifact_management_base_1.Tag.Item, artifact_management_base_1.Tag.Workflow, artifact_management_base_1.Tag.N8N];
|
|
12
19
|
this.itemReaders = [
|
|
13
20
|
{
|
|
14
21
|
matchConditions: {
|
|
15
|
-
requiredFilePatterns: ['
|
|
22
|
+
requiredFilePatterns: ['*.json'],
|
|
16
23
|
},
|
|
17
24
|
types: [artifact_management_base_1.ItemType.N8NWorkflow],
|
|
18
25
|
tags: this.itemTags,
|
|
@@ -25,19 +32,19 @@ class WorkflowModuleReader extends artifact_management_base_1.ModuleReader {
|
|
|
25
32
|
return artifact_management_base_1.ModuleType.Workflow;
|
|
26
33
|
}
|
|
27
34
|
getDetectionMechanism() {
|
|
28
|
-
return artifact_management_base_1.DetectionMechanism.
|
|
35
|
+
return artifact_management_base_1.DetectionMechanism.UNIQUE_IDENTIFICATION;
|
|
29
36
|
}
|
|
30
37
|
async read({ fs }) {
|
|
31
|
-
const
|
|
38
|
+
const folderName = fs.getName(path_1.resolve(fs.basePath));
|
|
39
|
+
if (folderName !== this.workflowFolderName) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
32
42
|
const module = {
|
|
33
43
|
type: artifact_management_base_1.ModuleType.Workflow,
|
|
34
|
-
name:
|
|
44
|
+
name: this.workflowFolderName,
|
|
35
45
|
path: fs.relativeToRoot(),
|
|
36
46
|
tags: this.tags,
|
|
37
47
|
};
|
|
38
|
-
if (!pack.name) {
|
|
39
|
-
module.info = { 'errors': [InfoList_1.InfoList.ERR_PACK_NAME_UNDEFINED] };
|
|
40
|
-
}
|
|
41
48
|
return module;
|
|
42
49
|
}
|
|
43
50
|
async readWorkflows({ fs, matchedFiles }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowModuleReader.js","sourceRoot":"","sources":["../../../../../src/plugins/workflow/readers/WorkflowModuleReader.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"WorkflowModuleReader.js","sourceRoot":"","sources":["../../../../../src/plugins/workflow/readers/WorkflowModuleReader.ts"],"names":[],"mappings":";;AAAA,4EAIuC;AACvC,+BAA+B;AAE/B,MAAqB,oBAAqB,SAAQ,uCAAY;IAA9D;;QACY,uBAAkB,GAAG,WAAW,CAAC;QAGzC,yBAAoB,GAAG;YACnB,sCAAW,CAAC,QAAQ;YACpB,sCAAW,CAAC,GAAG;YACf,sCAAW,CAAC,IAAI;YAChB,sCAAW,CAAC,OAAO;SACtB,CAAC;QAWF,oBAAe,GAAG;YACd,oBAAoB,EAAE,CAAC,QAAQ,CAAC;SACnC,CAAC;QAEF,aAAQ,GAAG,CAAC,8BAAG,CAAC,IAAI,EAAE,8BAAG,CAAC,QAAQ,EAAE,8BAAG,CAAC,GAAG,CAAC,CAAC;QAE7C,gBAAW,GAAG;YACV;gBACI,eAAe,EAAE;oBACb,oBAAoB,EAAE,CAAC,QAAQ,CAAC;iBACnC;gBACD,KAAK,EAAE,CAAC,mCAAQ,CAAC,WAAW,CAAC;gBAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,IAAI,EAAE,KAAK,EAAC,OAAuC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;aACtF;SACJ,CAAC;QAEF,SAAI,GAAG,CAAC,8BAAG,CAAC,MAAM,EAAE,8BAAG,CAAC,GAAG,EAAE,8BAAG,CAAC,QAAQ,CAAC,CAAC;IAkD/C,CAAC;IA3EG,OAAO;QACH,OAAO,qCAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,qBAAqB;QACjB,OAAO,6CAAkB,CAAC,qBAAqB,CAAC;IACpD,CAAC;IAqBD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAA6B;QACxC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,cAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpD,IAAI,UAAU,KAAK,IAAI,CAAC,kBAAkB,EAAE;YACxC,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,qCAAU,CAAC,QAAQ;YACzB,IAAI,EAAE,IAAI,CAAC,kBAAkB;YAC7B,IAAI,EAAE,EAAE,CAAC,cAAc,EAAE;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,YAAY,EAAkC;QACpE,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,IAAI,KAAK,GAAa,EAAE,CAAC;QAEzB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC7C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/C;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;gBACvB,SAAS;aACZ;YAED,MAAM,IAAI,GAAS;gBACf,IAAI,EAAE,mCAAQ,CAAC,WAAW;gBAC1B,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,IAAI,EAAE;oBACF,OAAO,EAAE,eAAe,CAAC,SAAS;oBAClC,SAAS,EAAE,eAAe,CAAC,SAAS;iBACvC;aACJ,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAvFD,uCAuFC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const artifact_management_base_1 = require("@sap/artifact-management-base");
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
class WorkflowProjectReader extends artifact_management_base_1.ProjectReader {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({
|
|
8
|
+
requiredFilePatterns: ['*.json'],
|
|
9
|
+
});
|
|
10
|
+
this.workflowFolderName = 'workflows';
|
|
11
|
+
this.tags = [artifact_management_base_1.Tag.Project, artifact_management_base_1.Tag.Workflow];
|
|
12
|
+
}
|
|
13
|
+
getType() {
|
|
14
|
+
return artifact_management_base_1.ProjectType.Workflow;
|
|
15
|
+
}
|
|
16
|
+
getDetectionMechanism() {
|
|
17
|
+
return artifact_management_base_1.DetectionMechanism.UNIQUE_IDENTIFICATION;
|
|
18
|
+
}
|
|
19
|
+
async moduleSearchPattern() {
|
|
20
|
+
return ['*'];
|
|
21
|
+
}
|
|
22
|
+
async read({ fs }) {
|
|
23
|
+
if (!this.isWorkflowProject(fs))
|
|
24
|
+
return undefined;
|
|
25
|
+
const projectData = {
|
|
26
|
+
...artifact_management_base_1.ProjectDataDefaults,
|
|
27
|
+
typeName: artifact_management_base_1.ProjectTypeName[artifact_management_base_1.ProjectType.Workflow],
|
|
28
|
+
type: artifact_management_base_1.ProjectType.Workflow,
|
|
29
|
+
path: fs.basePath,
|
|
30
|
+
prefix: '',
|
|
31
|
+
version: '',
|
|
32
|
+
cloudService: '',
|
|
33
|
+
name: this.workflowFolderName,
|
|
34
|
+
tags: this.tags,
|
|
35
|
+
};
|
|
36
|
+
return projectData;
|
|
37
|
+
}
|
|
38
|
+
isWorkflowProject(fs) {
|
|
39
|
+
const folderName = fs.getName(path_1.resolve(fs.basePath));
|
|
40
|
+
return folderName === this.workflowFolderName;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.default = WorkflowProjectReader;
|
|
44
|
+
//# sourceMappingURL=WorkflowProjectReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowProjectReader.js","sourceRoot":"","sources":["../../../../../src/plugins/workflow/readers/WorkflowProjectReader.ts"],"names":[],"mappings":";;AAAA,4EAIuC;AACvC,+BAA+B;AAE/B,MAAqB,qBAAsB,SAAQ,wCAAa;IAG5D;QACI,KAAK,CAAC;YACF,oBAAoB,EAAE,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QALC,uBAAkB,GAAG,WAAW,CAAC;QAoBzC,SAAI,GAAG,CAAC,8BAAG,CAAC,OAAO,EAAE,8BAAG,CAAC,QAAQ,CAAC,CAAC;IAdnC,CAAC;IAED,OAAO;QACH,OAAO,sCAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,qBAAqB;QACjB,OAAO,6CAAkB,CAAC,qBAAqB,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAID,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAwB;QACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;QAElD,MAAM,WAAW,GAAgB;YAC7B,GAAG,8CAAmB;YACtB,QAAQ,EAAE,0CAAe,CAAC,sCAAW,CAAC,QAAQ,CAAC;YAC/C,IAAI,EAAE,sCAAW,CAAC,QAAQ;YAC1B,IAAI,EAAE,EAAE,CAAC,QAAQ;YACjB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,kBAAkB;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;QAEF,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,iBAAiB,CAAC,EAAqB;QAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,cAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,OAAO,UAAU,KAAK,IAAI,CAAC,kBAAkB,CAAC;IAClD,CAAC;CACJ;AA7CD,wCA6CC"}
|
|
@@ -51,7 +51,7 @@ class ProjectModulesInstance extends ProjectEntityInstance_1.default {
|
|
|
51
51
|
artifact_management_base_1.getLogger().info('Cache miss. Entering ProjectModuleInstance.loadModuleInstance()');
|
|
52
52
|
const moduleDirectoryInstances = [];
|
|
53
53
|
const reader = PluginFactory_1.default.getProjectReaderFor(this.projectData.type, this.readModuleAsProject);
|
|
54
|
-
if (this.projectData.type === artifact_management_base_1.ProjectType.ABAP) {
|
|
54
|
+
if (this.projectData.type === artifact_management_base_1.ProjectType.ABAP || this.projectData.type === artifact_management_base_1.ProjectType.Workflow) {
|
|
55
55
|
const moduleReaders = PluginFactory_1.default.getModuleReaders(reader.getType());
|
|
56
56
|
const moduleInstance = new ModuleInstance_1.default(this.watchManager, this.fs.navigate(), moduleReaders);
|
|
57
57
|
moduleDirectoryInstances.push(moduleInstance);
|