[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
name: Lint
script: ./scripts/lint.sh || exit 1;
- stage: Unit test
name: Unit test content
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)"
```
Update adf libs and js-api with latest alpha locally
```bash
adf-cli update-version --alpha --pathPackage "$(pwd)" --skipGnu
```
### Update commit sha
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)"
```
Run command locally
```bash
adf-cli update-commit-sha --pathProject "$(pwd)" --skipGnu
```
### npm publish
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 {
pointer: string;
pathPackage: string;
skipGnu: boolean;
}
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) {
logger.info(`Replace commit ${sha} in package...`);
const sedRule = `s/\"commit\": \".*\"/\"commit\": \"${sha}\"/g`;
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) {

View File

@@ -27,6 +27,7 @@ export interface UpdateArgs {
beta?: boolean;
version: string;
vjs: string;
skipGnu: boolean;
}
const ALPHA = 'alpha';
@@ -88,7 +89,6 @@ function _findADFLibsDependencies(args: UpdateArgs, logger: logging.Logger) {
prjs.push(depName.replace(/"/g, ''));
});
return prjs;
}
function _getLatestVersionFromNpm(tag: string, project: string, logger: logging.Logger): string {
@@ -98,25 +98,29 @@ function _getLatestVersionFromNpm(tag: string, project: string, logger: logging.
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...');
projects.forEach( (project) => {
logger.info(`apply version ${version} on ${project} ...`);
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(`apply version ${version} on ${JS_API_DEPENDENCY} ...`);
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`;
_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) {
@@ -127,12 +131,12 @@ function _tagPerform(args: UpdateArgs, tag: string, logger: logging.Logger) {
function _tagLibPerform(args: UpdateArgs, tag: string, logger: logging.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) {
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) {

View File

@@ -33,9 +33,9 @@ release() {
git checkout development
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
./scripts/update-version.sh -v $VERSION
./node_modules/@alfresco/adf-cli/bin/adf-cli update-version --pathPackage "$(pwd)" --version $VERSION --skipGnu
fi
git add .

View File

@@ -48,9 +48,9 @@ BRANCH="ADF-update-beta-$VERSION"
git checkout -b $BRANCH
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
./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
git add .