[ADF-4825] Use ADF-CLI in ADF for versions and latest commit (#4994)

* [ADF-4825] Use ADF-CLI in ADF for versions and latest commit

* Add documentation

* Update update-version.ts

* Update release.sh

* Update update-project.sh

* Update release.sh

* Update update-project.sh

* Update release.sh

* Update update-project.sh

* Update README.md

* Rebase branch

* Update package.json

* Update build.sh

* Update package.json
This commit is contained in:
davidcanonieto
2019-08-28 11:01:00 +01:00
committed by Maurizio Vitale
parent 3aed425020
commit 8a48738b99
6 changed files with 34 additions and 15 deletions

View File

@@ -58,7 +58,6 @@ jobs:
- stage: Lint & Build Dist - stage: Lint & Build Dist
name: Lint name: Lint
script: ./scripts/lint.sh || exit 1; script: ./scripts/lint.sh || exit 1;
- stage: Unit test - stage: Unit test
name: Unit test content name: Unit test content
script: ./scripts/travis/unit-test/content.sh script: ./scripts/travis/unit-test/content.sh

View File

@@ -89,6 +89,12 @@ Update only js-api with a specific version
adf-cli update-version --vjs "3.2.0-fa5916ff413131513c3e382d7f27dd9b4cfa0e7e" --pathPackage "$(pwd)" adf-cli update-version --vjs "3.2.0-fa5916ff413131513c3e382d7f27dd9b4cfa0e7e" --pathPackage "$(pwd)"
``` ```
Update adf libs and js-api with latest alpha locally
```bash
adf-cli update-version --alpha --pathPackage "$(pwd)" --skipGnu
```
### Update commit sha ### Update commit sha
This command allows you to update the commit sha as part of the package.json. This command allows you to update the commit sha as part of the package.json.
@@ -104,6 +110,11 @@ You can use the option --pointer to chose a different pointer from the default H
adf-cli update-commit-sha --pointer "HEAD~1" --pathProject "$(pwd)" adf-cli update-commit-sha --pointer "HEAD~1" --pathProject "$(pwd)"
``` ```
Run command locally
```bash
adf-cli update-commit-sha --pathProject "$(pwd)" --skipGnu
```
### npm publish ### npm publish
This command allows you to publish your lib on the npm. This command allows you to publish your lib on the npm.

View File

@@ -23,6 +23,7 @@ import { spawnSync } from 'child_process';
export interface CommitArgs { export interface CommitArgs {
pointer: string; pointer: string;
pathPackage: string; pathPackage: string;
skipGnu: boolean;
} }
function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) { function _exec(command: string, args: string[], opts: { cwd?: string }, logger: logging.Logger) {
@@ -55,7 +56,11 @@ function _commitPerform(args: CommitArgs, logger: logging.Logger): string {
function _replacePerform(args: CommitArgs, sha: string, logger: logging.Logger) { function _replacePerform(args: CommitArgs, sha: string, logger: logging.Logger) {
logger.info(`Replace commit ${sha} in package...`); logger.info(`Replace commit ${sha} in package...`);
const sedRule = `s/\"commit\": \".*\"/\"commit\": \"${sha}\"/g`; const sedRule = `s/\"commit\": \".*\"/\"commit\": \"${sha}\"/g`;
_exec('sed', [`-i`, `${sedRule}`, `${args.pathPackage}/package.json`], {}, logger); if (args.skipGnu) {
_exec('sed', [`-i`, '', `${sedRule}`, `${args.pathPackage}/package.json`], {}, logger);
} else {
_exec('sed', [`-i`, `${sedRule}`, `${args.pathPackage}/package.json`], {}, logger);
}
} }
export default async function (args: CommitArgs, logger: logging.Logger) { export default async function (args: CommitArgs, logger: logging.Logger) {

View File

@@ -27,6 +27,7 @@ export interface UpdateArgs {
beta?: boolean; beta?: boolean;
version: string; version: string;
vjs: string; vjs: string;
skipGnu: boolean;
} }
const ALPHA = 'alpha'; const ALPHA = 'alpha';
@@ -88,7 +89,6 @@ function _findADFLibsDependencies(args: UpdateArgs, logger: logging.Logger) {
prjs.push(depName.replace(/"/g, '')); prjs.push(depName.replace(/"/g, ''));
}); });
return prjs; return prjs;
} }
function _getLatestVersionFromNpm(tag: string, project: string, logger: logging.Logger): string { function _getLatestVersionFromNpm(tag: string, project: string, logger: logging.Logger): string {
@@ -98,25 +98,29 @@ function _getLatestVersionFromNpm(tag: string, project: string, logger: logging.
return latestVersion; return latestVersion;
} }
function _updateLibsVersionPerform(path: string, version: string, logger: logging.Logger) { function _updateLibsVersionPerform(args: UpdateArgs, version: string, logger: logging.Logger) {
logger.info('Perform libs version...'); logger.info('Perform libs version...');
projects.forEach( (project) => { projects.forEach( (project) => {
logger.info(`apply version ${version} on ${project} ...`); logger.info(`apply version ${version} on ${project} ...`);
project = project.replace('/', '\\/'); project = project.replace('/', '\\/');
_replaceVersionPerform(project, version, path, logger); _replaceVersionPerform(args, project, version, logger);
}); });
} }
function _updateJsAPIVersionPerform(path: string, version: string, logger: logging.Logger) { function _updateJsAPIVersionPerform(args: UpdateArgs, version: string, logger: logging.Logger) {
logger.info('Perform js-api version...'); logger.info('Perform js-api version...');
logger.info(`apply version ${version} on ${JS_API_DEPENDENCY} ...`); logger.info(`apply version ${version} on ${JS_API_DEPENDENCY} ...`);
const project = JS_API_DEPENDENCY.replace('/', '\\/'); const project = JS_API_DEPENDENCY.replace('/', '\\/');
_replaceVersionPerform(project, version, path, logger); _replaceVersionPerform(args, project, version, logger);
} }
function _replaceVersionPerform(project: string, version: string, path: string, logger: logging.Logger) { function _replaceVersionPerform(args: UpdateArgs, project: string, version: string, logger: logging.Logger) {
const rule = `s/\"${project}\": \".*\"/\"${project}\": \"${version}\"/g`; const rule = `s/\"${project}\": \".*\"/\"${project}\": \"${version}\"/g`;
_exec('sed', ['-i', `${rule}`, `${path}/package.json`], {}, logger).trim(); if (args.skipGnu) {
_exec('sed', ['-i', '', `${rule}`, `${args.pathPackage}/package.json`], {}, logger).trim();
} else {
_exec('sed', ['-i', `${rule}`, `${args.pathPackage}/package.json`], {}, logger).trim();
}
} }
function _tagPerform(args: UpdateArgs, tag: string, logger: logging.Logger) { function _tagPerform(args: UpdateArgs, tag: string, logger: logging.Logger) {
@@ -127,12 +131,12 @@ function _tagPerform(args: UpdateArgs, tag: string, logger: logging.Logger) {
function _tagLibPerform(args: UpdateArgs, tag: string, logger: logging.Logger) { function _tagLibPerform(args: UpdateArgs, tag: string, logger: logging.Logger) {
const libVersion = _getLatestVersionFromNpm(tag, '@alfresco/adf-extensions', logger); const libVersion = _getLatestVersionFromNpm(tag, '@alfresco/adf-extensions', logger);
_updateLibsVersionPerform(args.pathPackage, libVersion, logger); _updateLibsVersionPerform(args, libVersion, logger);
} }
function _tagJsPerform(args: UpdateArgs, tag: string, logger: logging.Logger) { function _tagJsPerform(args: UpdateArgs, tag: string, logger: logging.Logger) {
const jsApiVersion = _getLatestVersionFromNpm(tag, JS_API_DEPENDENCY, logger); const jsApiVersion = _getLatestVersionFromNpm(tag, JS_API_DEPENDENCY, logger);
_updateJsAPIVersionPerform(args.pathPackage, jsApiVersion, logger); _updateJsAPIVersionPerform(args, jsApiVersion, logger);
} }
export default async function (args: UpdateArgs, logger: logging.Logger) { export default async function (args: UpdateArgs, logger: logging.Logger) {

View File

@@ -33,9 +33,9 @@ release() {
git checkout development git checkout development
if $GNU; then if $GNU; then
./scripts/update-version.sh -gnu -v $VERSION ./node_modules/@alfresco/adf-cli/bin/adf-cli update-version --pathPackage "$(pwd)" --version $VERSION
else else
./scripts/update-version.sh -v $VERSION ./node_modules/@alfresco/adf-cli/bin/adf-cli update-version --pathPackage "$(pwd)" --version $VERSION --skipGnu
fi fi
git add . git add .

View File

@@ -48,9 +48,9 @@ BRANCH="ADF-update-beta-$VERSION"
git checkout -b $BRANCH git checkout -b $BRANCH
if $GNU; then if $GNU; then
./scripts/update-version.sh -gnu -v $VERSION -vj $JS_VERSION ./node_modules/@alfresco/adf-cli/bin/adf-cli update-version --pathPackage "$(pwd)" --version $VERSION --vjs $JS_VERSION
else else
./scripts/update-version.sh -v $VERSION -vj $JS_VERSION ./node_modules/@alfresco/adf-cli/bin/adf-cli update-version --pathPackage "$(pwd)" --version $VERSION --vjs $JS_VERSION --skipGnu
fi fi
git add . git add .