ics-builder 4.4.10 → 4.4.11
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/package.json +1 -1
- package/{dist/src → src}/index.js +0 -0
- package/.prettierignore +0 -1
- package/.prettierrc +0 -7
- package/.vscode/launch.json +0 -15
- package/.vscode/settings.json +0 -6
- package/Dockerfile +0 -32
- package/build/modules.yaml +0 -7
- package/build.template.yml +0 -51
- package/dist/jest.config.js +0 -4
- package/dist/package.json +0 -76
- package/dist/src/services/source/assets/hostList.yml +0 -12
- package/dist/src/services/source/assets/sourceList.yml +0 -50
- package/src/app.ts +0 -64
- package/src/builder/api/csprojFile.ts +0 -15
- package/src/builder/api/dotnetApiBuilder.ts +0 -145
- package/src/builder/api/net5Builder.ts +0 -181
- package/src/builder/api/webConfigFile.ts +0 -11
- package/src/builder/api/xmlFile.ts +0 -24
- package/src/builder/baseBuilder.ts +0 -71
- package/src/builder/data/dataBuilder.ts +0 -28
- package/src/builder/db/dbBuilder.ts +0 -167
- package/src/builder/e2e/e2eBuilder.ts +0 -23
- package/src/builder/schema/schemaBuilder.ts +0 -156
- package/src/builder/ui/customUiBuilder.ts +0 -50
- package/src/builder/ui/webpackUiBuilder.ts +0 -497
- package/src/builder/uiDependency/dependencyBuilder.ts +0 -38
- package/src/builder/winservice/winserviceBuilder.ts +0 -11
- package/src/dotnetUtils.ts +0 -41
- package/src/exceptions/BuilderException.ts +0 -7
- package/src/index.ts +0 -34
- package/src/services/buildManager.ts +0 -151
- package/src/services/commandManager.ts +0 -78
- package/src/services/configManager.ts +0 -82
- package/src/services/packageManager.ts +0 -180
- package/src/services/packageStructure/legacyPackageStructureManager.ts +0 -34
- package/src/services/packageStructure/packageStructureManager.ts +0 -75
- package/src/services/packageStructure/structureUtils.ts +0 -66
- package/src/services/source/loadPackages.ts +0 -18
- package/src/services/source/loaders/baseLoader.ts +0 -28
- package/src/services/source/loaders/gitScmProvider.ts +0 -73
- package/src/services/source/loaders/hgScmProvider.ts +0 -63
- package/src/services/source/sourceManager.ts +0 -95
- package/src/services/testManager.ts +0 -27
- package/src/testRunners/apiTestRunner.ts +0 -68
- package/src/testRunners/baseTestRunner.ts +0 -19
- package/src/testRunners/uiTestRunner.ts +0 -8
- package/src/utils.ts +0 -228
- package/test/sourceManager.test.ts +0 -17
- package/tsconfig.json +0 -18
- package/wallaby.js +0 -14
- /package/{dist/src → src}/app.js +0 -0
- /package/{dist/src → src}/builder/api/csprojFile.js +0 -0
- /package/{dist/src → src}/builder/api/dotnetApiBuilder.js +0 -0
- /package/{dist/src → src}/builder/api/net5Builder.js +0 -0
- /package/{dist/src → src}/builder/api/webConfigFile.js +0 -0
- /package/{dist/src → src}/builder/api/xmlFile.js +0 -0
- /package/{dist/src → src}/builder/baseBuilder.js +0 -0
- /package/{dist/src → src}/builder/data/dataBuilder.js +0 -0
- /package/{dist/src → src}/builder/db/dbBuilder.js +0 -0
- /package/{dist/src → src}/builder/e2e/e2eBuilder.js +0 -0
- /package/{dist/src → src}/builder/schema/schemaBuilder.js +0 -0
- /package/{dist/src → src}/builder/ui/customUiBuilder.js +0 -0
- /package/{dist/src → src}/builder/ui/webpackUiBuilder.js +0 -0
- /package/{dist/src → src}/builder/uiDependency/dependencyBuilder.js +0 -0
- /package/{dist/src → src}/builder/winservice/winserviceBuilder.js +0 -0
- /package/{dist/src → src}/dotnetUtils.js +0 -0
- /package/{dist/src → src}/exceptions/BuilderException.js +0 -0
- /package/{dist/src → src}/services/buildManager.js +0 -0
- /package/{dist/src → src}/services/commandManager.js +0 -0
- /package/{dist/src → src}/services/configManager.js +0 -0
- /package/{dist/src → src}/services/packageManager.js +0 -0
- /package/{dist/src → src}/services/packageStructure/legacyPackageStructureManager.js +0 -0
- /package/{dist/src → src}/services/packageStructure/packageStructureManager.js +0 -0
- /package/{dist/src → src}/services/packageStructure/structureUtils.js +0 -0
- /package/{dist/src → src}/services/source/loadPackages.js +0 -0
- /package/{dist/src → src}/services/source/loaders/baseLoader.js +0 -0
- /package/{dist/src → src}/services/source/loaders/gitScmProvider.js +0 -0
- /package/{dist/src → src}/services/source/loaders/hgScmProvider.js +0 -0
- /package/{dist/src → src}/services/source/sourceManager.js +0 -0
- /package/{dist/src → src}/services/testManager.js +0 -0
- /package/{dist/src → src}/testRunners/apiTestRunner.js +0 -0
- /package/{dist/src → src}/testRunners/baseTestRunner.js +0 -0
- /package/{dist/src → src}/testRunners/uiTestRunner.js +0 -0
- /package/{dist/src → src}/utils.js +0 -0
package/package.json
CHANGED
|
File without changes
|
package/.prettierignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*.yml
|
package/.prettierrc
DELETED
package/.vscode/launch.json
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// Use IntelliSense to learn about possible attributes.
|
|
3
|
-
// Hover to view descriptions of existing attributes.
|
|
4
|
-
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
-
"version": "0.2.0",
|
|
6
|
-
"configurations": [
|
|
7
|
-
{
|
|
8
|
-
"type": "node",
|
|
9
|
-
"request": "launch",
|
|
10
|
-
"name": "Launch Program",
|
|
11
|
-
"runtimeArgs": ["-r", "ts-node/register"],
|
|
12
|
-
"args": ["${workspaceFolder}/src/app.ts", "source"]
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
}
|
package/.vscode/settings.json
DELETED
package/Dockerfile
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
ARG CPU_ARCH
|
|
2
|
-
|
|
3
|
-
FROM gitlab.ics-it.ru:4567/devops/oci-images:7.0-sdk-alpine-${CPU_ARCH} AS NET7
|
|
4
|
-
ARG NPM_REGISTRY
|
|
5
|
-
WORKDIR /app/builder
|
|
6
|
-
COPY . .
|
|
7
|
-
RUN npm set registry ${NPM_REGISTRY} && \
|
|
8
|
-
npm install && \
|
|
9
|
-
npx tsc && \
|
|
10
|
-
cp -R ./src/services/source/assets ./dist/src/services/source && \
|
|
11
|
-
cp ./package.json ./dist && \
|
|
12
|
-
cp ./jest.config.js ./dist && \
|
|
13
|
-
cd dist && \
|
|
14
|
-
npm pack && \
|
|
15
|
-
cd ../ && \
|
|
16
|
-
npm install -g ./dist
|
|
17
|
-
|
|
18
|
-
FROM gitlab.ics-it.ru:4567/devops/oci-images:6.0-sdk-alpine-${CPU_ARCH} AS NET6
|
|
19
|
-
ARG NPM_REGISTRY
|
|
20
|
-
COPY --from=NET7 /app/builder /app/builder
|
|
21
|
-
COPY --from=NET7 /root/.npm /root/.npm
|
|
22
|
-
WORKDIR /app/builder
|
|
23
|
-
RUN npm set registry ${NPM_REGISTRY} && \
|
|
24
|
-
npm install -g ./dist
|
|
25
|
-
|
|
26
|
-
FROM gitlab.ics-it.ru:4567/devops/oci-images:5.0-sdk-alpine-${CPU_ARCH} AS NET5
|
|
27
|
-
ARG NPM_REGISTRY
|
|
28
|
-
COPY --from=NET7 /app/builder /app/builder
|
|
29
|
-
COPY --from=NET7 /root/.npm /root/.npm
|
|
30
|
-
WORKDIR /app/builder
|
|
31
|
-
RUN npm set registry ${NPM_REGISTRY} && \
|
|
32
|
-
npm install -g ./dist
|
package/build/modules.yaml
DELETED
package/build.template.yml
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
version: "4.1"
|
|
2
|
-
mode: dev
|
|
3
|
-
using:
|
|
4
|
-
mdt: '#ui-webpack'
|
|
5
|
-
rb: '#RB-978'
|
|
6
|
-
data: default
|
|
7
|
-
ent: default
|
|
8
|
-
paths:
|
|
9
|
-
source: source
|
|
10
|
-
build: build
|
|
11
|
-
modules:
|
|
12
|
-
- mdt.admin
|
|
13
|
-
- mdt.audit
|
|
14
|
-
- mdt.oauth
|
|
15
|
-
- mdt.binding
|
|
16
|
-
- mdt.dataext
|
|
17
|
-
- mdt.dbm
|
|
18
|
-
- mdt.directory
|
|
19
|
-
- mdt.dm
|
|
20
|
-
- mdt.feedback
|
|
21
|
-
- mdt.import
|
|
22
|
-
- mdt.inline
|
|
23
|
-
- mdt.job
|
|
24
|
-
- mdt.log
|
|
25
|
-
- mdt.mapping
|
|
26
|
-
- mdt.password
|
|
27
|
-
- mdt.status
|
|
28
|
-
- mdt.tag
|
|
29
|
-
- mdt.odata
|
|
30
|
-
- mdt.apps
|
|
31
|
-
- ent.em
|
|
32
|
-
- ent.routes
|
|
33
|
-
- data.server.etl
|
|
34
|
-
- data.geo
|
|
35
|
-
- data.dadata
|
|
36
|
-
- data.calendar
|
|
37
|
-
- rb
|
|
38
|
-
- rb.geo
|
|
39
|
-
- rb.dadata
|
|
40
|
-
- rb.mtx
|
|
41
|
-
- rb.pnl
|
|
42
|
-
- rb.qst
|
|
43
|
-
- rb.binding
|
|
44
|
-
ui:
|
|
45
|
-
theme: 'mdt.coffee'
|
|
46
|
-
themes:
|
|
47
|
-
- mdt.coffee
|
|
48
|
-
- mdt.pink
|
|
49
|
-
- mdt.dark-blue
|
|
50
|
-
- mdt.light-blue
|
|
51
|
-
- mdt.modern-blue
|
package/dist/jest.config.js
DELETED
package/dist/package.json
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ics-builder",
|
|
3
|
-
"version": "4.4.10",
|
|
4
|
-
"description": "",
|
|
5
|
-
"main": "./src/index.js",
|
|
6
|
-
"preferGlobal": true,
|
|
7
|
-
"scripts": {
|
|
8
|
-
"test": "jest",
|
|
9
|
-
"dev": "ts-node ./src/index.ts",
|
|
10
|
-
"copy-assets": "xcopy \"src/services/source/assets\" \"dist/src/services/source/assets\" /e /i",
|
|
11
|
-
"patch": "npx tsc && npm run copy-assets && npm version patch && copy package.json dist && copy jest.config.js dist && cd dist && npm publish",
|
|
12
|
-
"minor": "npx tsc && npm run copy-assets && npm version minor && copy package.json dist && copy jest.config.js dist && cd dist && npm publish",
|
|
13
|
-
"major": "npx tsc && npm run copy-assets && npm version major && copy package.json dist && copy jest.config.js dist && cd dist && npm publish",
|
|
14
|
-
"pack": "npx tsc && npm run copy-assets && copy package.json dist && copy jest.config.js dist && cd dist && npm pack"
|
|
15
|
-
},
|
|
16
|
-
"bin": {
|
|
17
|
-
"builder": "./src/index.js"
|
|
18
|
-
},
|
|
19
|
-
"keywords": [
|
|
20
|
-
"build tool"
|
|
21
|
-
],
|
|
22
|
-
"repository": {
|
|
23
|
-
"type": "hg",
|
|
24
|
-
"url": "https://bitbucket.org/icsit/builder"
|
|
25
|
-
},
|
|
26
|
-
"author": "Sergey Voinkov <sergey.voinkov@ics-it.ru>",
|
|
27
|
-
"license": "ISC",
|
|
28
|
-
"devDependencies": {
|
|
29
|
-
"@types/jest": "^25.1.2",
|
|
30
|
-
"@types/jest-cli": "^24.3.0",
|
|
31
|
-
"@types/node": "^11.13.5",
|
|
32
|
-
"@types/shelljs": "^0.8.5",
|
|
33
|
-
"@types/webpack": "^4.4.31",
|
|
34
|
-
"@types/webpack-dev-server": "^3.1.5",
|
|
35
|
-
"@types/xml2js": "^0.4.5",
|
|
36
|
-
"@types/yamljs": "^0.2.30",
|
|
37
|
-
"ts-node": "^8.1.0"
|
|
38
|
-
},
|
|
39
|
-
"dependencies": {
|
|
40
|
-
"@babel/core": "^7.12.0",
|
|
41
|
-
"@babel/preset-env": "^7.12.0",
|
|
42
|
-
"autoprefixer": "^9.5.1",
|
|
43
|
-
"babel-loader": "^8.3.0",
|
|
44
|
-
"bundle-loader": "^0.5.6",
|
|
45
|
-
"chokidar": "^4.0.1",
|
|
46
|
-
"copy-webpack-plugin": "^5.0.3",
|
|
47
|
-
"css-loader": "^2.1.1",
|
|
48
|
-
"file-loader": "^3.0.1",
|
|
49
|
-
"html-webpack-plugin": "^3.2.0",
|
|
50
|
-
"jest-cli": "^26.6.3",
|
|
51
|
-
"jest-junit": "^12.0.0",
|
|
52
|
-
"just-task": "^0.9.9",
|
|
53
|
-
"less": "^3.13.1",
|
|
54
|
-
"less-loader": "^5.0.0",
|
|
55
|
-
"mini-css-extract-plugin": "^0.6.0",
|
|
56
|
-
"postcss-loader": "^3.0.0",
|
|
57
|
-
"shelljs": "^0.8.3",
|
|
58
|
-
"strip-bom-buf": "^2.0.0",
|
|
59
|
-
"style-loader": "^0.23.1",
|
|
60
|
-
"svg-inline-loader": "^0.8.0",
|
|
61
|
-
"ts-jest": "^25.5.1",
|
|
62
|
-
"ts-loader": "^6.2.1",
|
|
63
|
-
"tsconfig-paths-webpack-plugin": "^3.2.0",
|
|
64
|
-
"typescript": "^3.8.3",
|
|
65
|
-
"typescript-json-schema": "^0.51.0",
|
|
66
|
-
"virtual-module-webpack-plugin": "^0.4.1",
|
|
67
|
-
"webpack": "^4.42.1",
|
|
68
|
-
"webpack-cli": "^3.3.2",
|
|
69
|
-
"webpack-concat-plugin": "^3.0.0",
|
|
70
|
-
"webpack-dev-server": "^3.10.3",
|
|
71
|
-
"webpack-fix-style-only-entries": "^0.2.1",
|
|
72
|
-
"xml2js": "=0.4.17",
|
|
73
|
-
"yamljs": "^0.3.0",
|
|
74
|
-
"yargs": "^16.2.0"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
CART:
|
|
2
|
-
cartis:
|
|
3
|
-
host: cartis
|
|
4
|
-
cartis-mdt:
|
|
5
|
-
host: cartis
|
|
6
|
-
ics:
|
|
7
|
-
ics-components:
|
|
8
|
-
host: gitlab
|
|
9
|
-
data:
|
|
10
|
-
host: gitlab
|
|
11
|
-
ics:
|
|
12
|
-
host: gitlab
|
|
13
|
-
dwh-etl:
|
|
14
|
-
host: gitlab
|
|
15
|
-
sellout:
|
|
16
|
-
host: gitlab
|
|
17
|
-
sellout-connector:
|
|
18
|
-
host: gitlab
|
|
19
|
-
mdt:
|
|
20
|
-
host: gitlab
|
|
21
|
-
ent:
|
|
22
|
-
host: gitlab
|
|
23
|
-
mdlz:
|
|
24
|
-
host: gitlab
|
|
25
|
-
alcon:
|
|
26
|
-
host: gitlab
|
|
27
|
-
libs:
|
|
28
|
-
host: gitlab
|
|
29
|
-
rb:
|
|
30
|
-
host: gitlab
|
|
31
|
-
jacobs:
|
|
32
|
-
host: gitlab
|
|
33
|
-
tasks:
|
|
34
|
-
host: gitlab
|
|
35
|
-
nordfox:
|
|
36
|
-
host: gitlab
|
|
37
|
-
fmd:
|
|
38
|
-
host: gitlab
|
|
39
|
-
etl:
|
|
40
|
-
host: gitlab
|
|
41
|
-
mars:
|
|
42
|
-
host: gitlab
|
|
43
|
-
cloud:
|
|
44
|
-
host: gitlab
|
|
45
|
-
kc:
|
|
46
|
-
host: gitlab
|
|
47
|
-
templates:
|
|
48
|
-
host: gitlab
|
|
49
|
-
valeant:
|
|
50
|
-
host: gitlab
|
package/src/app.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
|
-
import { ConfigManager } from "./services/configManager";
|
|
3
|
-
import { CommandManager } from "./services/commandManager";
|
|
4
|
-
import * as yargs from "yargs";
|
|
5
|
-
import { Utils } from "./utils";
|
|
6
|
-
|
|
7
|
-
const configs: { name: string; defaultValue: string | Function; alias: string; description: string }[] = [
|
|
8
|
-
{
|
|
9
|
-
name: "c",
|
|
10
|
-
defaultValue: () => path.join(process.cwd(), "build.yml"),
|
|
11
|
-
alias: "configName",
|
|
12
|
-
description: "Build configuration file name"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: "w",
|
|
16
|
-
defaultValue: "false",
|
|
17
|
-
alias: "watch",
|
|
18
|
-
description: "Run tests in watch mode"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "m",
|
|
22
|
-
defaultValue: "false",
|
|
23
|
-
alias: "multiple",
|
|
24
|
-
description: "Generate multiple files"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "tbp",
|
|
28
|
-
defaultValue: process.cwd(),
|
|
29
|
-
alias: "testBasePath",
|
|
30
|
-
description: "Path to test files"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: "trp",
|
|
34
|
-
defaultValue: () => path.join(process.cwd() + "/result.xml"),
|
|
35
|
-
alias: "testResultPath",
|
|
36
|
-
description: "Path to test output"
|
|
37
|
-
}
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
let yargsArgs = yargs.usage("Usage: $0 <cmd> [args]");
|
|
41
|
-
configs.forEach(config => {
|
|
42
|
-
yargsArgs = yargsArgs
|
|
43
|
-
.default(config.name, typeof config.defaultValue == "string" ? config.defaultValue : config.defaultValue())
|
|
44
|
-
.alias(config.name, config.alias)
|
|
45
|
-
.describe(config.name, config.description);
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
let args = yargsArgs.argv;
|
|
49
|
-
|
|
50
|
-
let config =
|
|
51
|
-
!Utils.ensurePath(args["c"] as string) && args["_"].findIndex(c => c == "test-api" || c == "test-ui") != -1
|
|
52
|
-
? null
|
|
53
|
-
: ConfigManager.getConfig(args["c"] as string, args["m"] == "true");
|
|
54
|
-
|
|
55
|
-
let testConfig = {
|
|
56
|
-
basePath: args["tbp"] as string,
|
|
57
|
-
resultPath: args["trp"] as string,
|
|
58
|
-
watch: args["w"] === "true" || args["w"] === true
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
let commandManager = new CommandManager(config, testConfig);
|
|
62
|
-
|
|
63
|
-
commandManager.addTasks(args["_"] as string[]);
|
|
64
|
-
commandManager.runTasks();
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {XmlFile} from "./xmlFile"
|
|
2
|
-
|
|
3
|
-
export class CsprojFile extends XmlFile {
|
|
4
|
-
setPublishPath(publishPath: string): void {
|
|
5
|
-
if (!this._xmlObj) this._readFile();
|
|
6
|
-
if (!this._xmlObj.Project)
|
|
7
|
-
this._xmlObj.Project = {};
|
|
8
|
-
if (!this._xmlObj.Project.PropertyGroup)
|
|
9
|
-
this._xmlObj.Project.PropertyGroup = {};
|
|
10
|
-
let propertyGroup = Array.isArray(this._xmlObj.Project.PropertyGroup)
|
|
11
|
-
? this._xmlObj.Project.PropertyGroup[0]
|
|
12
|
-
: this._xmlObj.Project.PropertyGroup;
|
|
13
|
-
propertyGroup.PublishDir = publishPath;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
|
-
import * as shell from "shelljs";
|
|
3
|
-
import * as fs from "fs";
|
|
4
|
-
|
|
5
|
-
import { Package, PackageInfoLegacy } from "../../services/configManager";
|
|
6
|
-
import { Utils, Logger } from "../../utils";
|
|
7
|
-
import { BaseBuilder, BuilderConfig } from "../baseBuilder";
|
|
8
|
-
import { Net5ApiBuilder } from "../api/net5Builder";
|
|
9
|
-
import { packageStructureManager } from "../../services/packageStructure/packageStructureManager";
|
|
10
|
-
|
|
11
|
-
export class DotnetApiBuilder extends BaseBuilder {
|
|
12
|
-
constructor(config: BuilderConfig) {
|
|
13
|
-
super(config);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
run(): void | Promise<void> {
|
|
17
|
-
if (this.config.api && this.config.api.framework && this.config.api.framework === ".net5") {
|
|
18
|
-
new Net5ApiBuilder(this.config).run();
|
|
19
|
-
} else {
|
|
20
|
-
this.config.packages.forEach(pkg => {
|
|
21
|
-
let pkgInfo = pkg.packageInfo as PackageInfoLegacy;
|
|
22
|
-
if (pkgInfo.api && pkgInfo.api.project) {
|
|
23
|
-
let apiSourceDir = path.join(this.config.paths.source, pkg.name, "api");
|
|
24
|
-
this.buildApiModule(path.dirname(path.join(apiSourceDir, pkgInfo.api.project)), pkg.name);
|
|
25
|
-
} else {
|
|
26
|
-
this.buildApiModules(pkg);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
let buildInfo = this.packageManager.getAllPackages().map(pkg => {
|
|
32
|
-
return {
|
|
33
|
-
name: pkg.name,
|
|
34
|
-
version: pkg.version,
|
|
35
|
-
modules: pkg.modules.map(module => {
|
|
36
|
-
return `${pkg.name}.${module.name}`;
|
|
37
|
-
})
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
let infoDir = path.join(this.config.paths.build, "api");
|
|
42
|
-
|
|
43
|
-
if (Utils.ensurePath(infoDir)) {
|
|
44
|
-
this.writeBuildInfo(
|
|
45
|
-
path.join(this.config.paths.build, "api/settings"),
|
|
46
|
-
{
|
|
47
|
-
version: buildInfo
|
|
48
|
-
.map(pkg => {
|
|
49
|
-
return `${pkg.name} ${pkg.version}`;
|
|
50
|
-
})
|
|
51
|
-
.join(" / ")
|
|
52
|
-
},
|
|
53
|
-
"yml"
|
|
54
|
-
);
|
|
55
|
-
this.writeBuildInfo(path.join(this.config.paths.build, "build"), buildInfo, "json");
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
private buildApiModules(pkg: Package) {
|
|
60
|
-
packageStructureManager.getModuleSourcePaths(pkg, "api", this.config).forEach(({ moduleName, sourcePath }) => {
|
|
61
|
-
this.buildApiModule(sourcePath, `${pkg.name}.${moduleName}`);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
private buildApiModule(moduleDir: string, moduleName: string) {
|
|
66
|
-
let projectFile = null;
|
|
67
|
-
|
|
68
|
-
let moduleConfig = this.parsePackageInfoLegacy(path.join(moduleDir, "module.yml"));
|
|
69
|
-
|
|
70
|
-
if (moduleConfig && moduleConfig.api && moduleConfig.api.project)
|
|
71
|
-
projectFile = path.join(moduleDir, moduleConfig.api.project);
|
|
72
|
-
else {
|
|
73
|
-
let files = shell.ls(path.join(moduleDir, "*.csproj"));
|
|
74
|
-
if (files.length) projectFile = files[0];
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
let targetDir = path.join(this.config.paths.build, "api");
|
|
78
|
-
let info = Array<string>();
|
|
79
|
-
|
|
80
|
-
if (Utils.ensurePath(projectFile)) {
|
|
81
|
-
let configuration = (this.config.api && this.config.api.configuration) || "debug";
|
|
82
|
-
|
|
83
|
-
moduleDir = path.dirname(projectFile);
|
|
84
|
-
let projectBinDir = path.join(moduleDir, "bin");
|
|
85
|
-
let webAppPath = path.join(moduleDir, "global.asax");
|
|
86
|
-
|
|
87
|
-
this.clearCache(moduleDir);
|
|
88
|
-
if (Utils.ensurePath(webAppPath)) {
|
|
89
|
-
Utils.copyFile(path.join(moduleDir, "web.config.template"), path.join(moduleDir, "web.config"));
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
this.msbuild(
|
|
93
|
-
projectFile,
|
|
94
|
-
["Clean", "Build"],
|
|
95
|
-
[
|
|
96
|
-
`Configuration=${configuration}`,
|
|
97
|
-
"PostBuildEvent=",
|
|
98
|
-
"PreBuildEvent="
|
|
99
|
-
// "RestoreAdditionalProjectSources=https://stage.ics-it.ru/nuget/nuget"
|
|
100
|
-
]
|
|
101
|
-
);
|
|
102
|
-
info.push(path.basename(projectFile) + " is built");
|
|
103
|
-
|
|
104
|
-
// web project?
|
|
105
|
-
if (Utils.ensurePath(webAppPath)) {
|
|
106
|
-
Utils.copyFile(path.join(moduleDir, "web.config.template"), path.join(targetDir, "web.config"));
|
|
107
|
-
Utils.copyFile(webAppPath, path.join(targetDir, "global.asax"));
|
|
108
|
-
} else {
|
|
109
|
-
projectBinDir = path.join(projectBinDir, configuration);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// remove *.dll.config and *.xml files from BIN
|
|
113
|
-
let files = fs.readdirSync(projectBinDir);
|
|
114
|
-
files.forEach(fileName => {
|
|
115
|
-
if (/(dll\.config|\.xml)$/.test(fileName)) fs.unlinkSync(path.join(projectBinDir, fileName));
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
// copy BIN and content directories
|
|
119
|
-
Utils.copyFolder(projectBinDir, path.join(targetDir, "bin"));
|
|
120
|
-
Utils.copyFolder(path.join(moduleDir, "content"), path.join(targetDir, "content"));
|
|
121
|
-
files = fs.readdirSync(moduleDir);
|
|
122
|
-
files.forEach(fileName => {
|
|
123
|
-
if (/(\.svc)$/.test(fileName))
|
|
124
|
-
Utils.copyFile(path.join(moduleDir, fileName), path.join(targetDir, fileName));
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
const moduleConfigFileName = "app.config";
|
|
128
|
-
this.copyModuleConfig(moduleDir, targetDir, moduleConfigFileName, moduleName + "." +moduleConfigFileName);
|
|
129
|
-
Utils.deleteFiles(targetDir, ["packages.config", "web.config.template"]);
|
|
130
|
-
Logger.info(moduleName.replace("._core", "") + ": " + info.join(", "));
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
private msbuild(project: string, targets: Array<string>, props: Array<string>): void {
|
|
135
|
-
let args = targets.map(t => "/t:" + t).join(" ") + " " + props.map(p => "/p:" + p).join(" ");
|
|
136
|
-
Utils.exec(`msbuild /restore /nologo /clp:ErrorsOnly;WarningsOnly /verbosity:quiet ${project} ${args}`, {
|
|
137
|
-
silent: false
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
private clearCache(folderPath: string): void {
|
|
142
|
-
Utils.deleteAllFoldersRecursively(folderPath, "bin");
|
|
143
|
-
Utils.deleteAllFoldersRecursively(folderPath, "obj");
|
|
144
|
-
}
|
|
145
|
-
}
|