17c804472Sopenharmony_ci/*
27c804472Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
37c804472Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
47c804472Sopenharmony_ci * you may not use this file except in compliance with the License.
57c804472Sopenharmony_ci * You may obtain a copy of the License at
67c804472Sopenharmony_ci *
77c804472Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
87c804472Sopenharmony_ci *
97c804472Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
107c804472Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
117c804472Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
127c804472Sopenharmony_ci * See the License for the specific language governing permissions and
137c804472Sopenharmony_ci * limitations under the License.
147c804472Sopenharmony_ci */
157c804472Sopenharmony_ci
167c804472Sopenharmony_ciconst fs = require('fs');
177c804472Sopenharmony_ciconst { spawnSync } = require('child_process');
187c804472Sopenharmony_ciconst path = require('path');
197c804472Sopenharmony_ciconst os = require('os');
207c804472Sopenharmony_cifunction compileMock(apiInputPath) {
217c804472Sopenharmony_ci  const mockJsPath = path.join(__dirname, '..', './runtime/main/extend/systemplugin');
227c804472Sopenharmony_ci  let nodeDir = '';
237c804472Sopenharmony_ci  nodeDir = './current/bin/node';
247c804472Sopenharmony_ci
257c804472Sopenharmony_ci
267c804472Sopenharmony_ci  const bat = spawnSync(`
277c804472Sopenharmony_ci  ${path.join(__dirname, '..', nodeDir)} ${path.join(__dirname, '..', './node_modules/typescript/bin/tsc')} &&
287c804472Sopenharmony_ci  ${path.join(__dirname, '..', nodeDir)} ${path.join(__dirname, 'dist')}/main.js ${apiInputPath} &&
297c804472Sopenharmony_ci  ${path.join(__dirname, '..', nodeDir)} ${path.join(__dirname, '..', './node_modules/eslint/bin/eslint.js')}
307c804472Sopenharmony_ci  -c .eslintrc --fix ${mockJsPath}/**/*.js`, {
317c804472Sopenharmony_ci    cwd: __dirname,
327c804472Sopenharmony_ci    shell: true
337c804472Sopenharmony_ci  });
347c804472Sopenharmony_ci}
357c804472Sopenharmony_ciconst PARAM_INDEX = 2;
367c804472Sopenharmony_ciconst apiInputPath = process.argv[PARAM_INDEX];
377c804472Sopenharmony_cicompileMock(apiInputPath);
38