diff --git a/.travis.yml b/.travis.yml index d5b6eb386c..38fafb63d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -71,29 +71,29 @@ jobs: - stage: Quality and Unit tests name: 'Unit tests: aos' - script: npm ci && ng test adf-office-services-ext + script: npm ci && ng test adf-office-services-ext $TEST_OPTS cache: false - stage: Quality and Unit tests name: 'Unit tests: aca-shared' - script: npm ci && ng test aca-shared + script: npm ci && ng test aca-shared $TEST_OPTS cache: false - stage: Quality and Unit tests name: 'Unit tests: aca-settings' - script: npm ci && ng test aca-settings + script: npm ci && ng test aca-settings $TEST_OPTS cache: false - stage: Quality and Unit tests name: 'Unit tests: aca-folder-rules' - script: npm ci && ng test aca-folder-rules + script: npm ci && ng test aca-folder-rules $TEST_OPTS cache: false - stage: Quality and Unit tests name: 'Unit tests: ACA' script: - npm ci - - ng test content-ce + - ng test content-ce $TEST_OPTS cache: false - stage: e2e diff --git a/angular.json b/angular.json index a6d91a8fda..ed4343a10b 100644 --- a/angular.json +++ b/angular.json @@ -307,6 +307,11 @@ "output": "/" } ] + }, + "configurations": { + "adfprod": { + "tsConfig": "app/tsconfig.spec.adf.json" + } } }, "lint": { @@ -387,6 +392,11 @@ "main": "projects/adf-office-services-ext/src/test.ts", "tsConfig": "projects/adf-office-services-ext/tsconfig.spec.json", "karmaConfig": "projects/adf-office-services-ext/karma.conf.js" + }, + "configurations": { + "adfprod": { + "tsConfig": "projects/adf-office-services-ext/tsconfig.spec.adf.json" + } } }, "lint": { @@ -427,6 +437,11 @@ "main": "projects/aca-shared/test.ts", "tsConfig": "projects/aca-shared/tsconfig.spec.json", "karmaConfig": "projects/aca-shared/karma.conf.js" + }, + "configurations": { + "adfprod": { + "tsConfig": "projects/aca-shared/tsconfig.spec.adf.json" + } } }, "lint": { @@ -513,6 +528,11 @@ "main": "projects/aca-settings/src/test.ts", "tsConfig": "projects/aca-settings/tsconfig.spec.json", "karmaConfig": "projects/aca-settings/karma.conf.js" + }, + "configurations": { + "adfprod": { + "tsConfig": "projects/aca-settings/tsconfig.spec.adf.json" + } } }, "lint": { @@ -553,6 +573,11 @@ "main": "projects/aca-folder-rules/src/test.ts", "tsConfig": "projects/aca-folder-rules/tsconfig.spec.json", "karmaConfig": "projects/aca-folder-rules/karma.conf.js" + }, + "configurations": { + "adfprod": { + "tsConfig": "projects/aca-folder-rules/tsconfig.spec.adf.json" + } } }, "lint": { diff --git a/app/tsconfig.spec.adf.json b/app/tsconfig.spec.adf.json index 47da810be7..55d7326561 100644 --- a/app/tsconfig.spec.adf.json +++ b/app/tsconfig.spec.adf.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.adf.json", + "extends": "../tsconfig.adf.json", "compilerOptions": { "outDir": "../out-tsc/spec", "module": "commonjs" @@ -15,4 +15,4 @@ "angularCompilerOptions": { "skipTemplateCodegen": false } -} \ No newline at end of file +} diff --git a/e2e/tsconfig.e2e.adf.json b/e2e/tsconfig.e2e.adf.json new file mode 100644 index 0000000000..a438a794a3 --- /dev/null +++ b/e2e/tsconfig.e2e.adf.json @@ -0,0 +1,15 @@ +{ + "extends": "../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node"], + "skipLibCheck": true, + "paths": { + "@alfresco/aca-testing-shared": ["../projects/aca-testing-shared"] + } + }, + "exclude": ["node_modules"] +} diff --git a/projects/aca-folder-rules/tsconfig.spec.adf.json b/projects/aca-folder-rules/tsconfig.spec.adf.json new file mode 100644 index 0000000000..04a6994be7 --- /dev/null +++ b/projects/aca-folder-rules/tsconfig.spec.adf.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/projects/aca-settings/tsconfig.spec.adf.json b/projects/aca-settings/tsconfig.spec.adf.json new file mode 100644 index 0000000000..04a6994be7 --- /dev/null +++ b/projects/aca-settings/tsconfig.spec.adf.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/projects/aca-shared/tsconfig.spec.adf.json b/projects/aca-shared/tsconfig.spec.adf.json new file mode 100644 index 0000000000..9a32a9c41b --- /dev/null +++ b/projects/aca-shared/tsconfig.spec.adf.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": ["jasmine", "node"] + }, + "files": ["test.ts"], + "include": ["**/*.spec.ts", "**/*.d.ts"] +} diff --git a/projects/adf-office-services-ext/tsconfig.spec.adf.json b/projects/adf-office-services-ext/tsconfig.spec.adf.json new file mode 100644 index 0000000000..66db4ee2e1 --- /dev/null +++ b/projects/adf-office-services-ext/tsconfig.spec.adf.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/spec", + "types": ["jasmine", "node"] + }, + "files": ["src/test.ts"], + "include": ["**/*.spec.ts", "**/*.d.ts"] +} diff --git a/protractor.conf.js b/protractor.conf.js index 3058a667f9..e7ef122480 100755 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -22,6 +22,8 @@ const SAVE_SCREENSHOT = process.env.SAVE_SCREENSHOT === 'true'; const APP_CONFIG_ECM_HOST = process.env.APP_CONFIG_ECM_HOST || 'http://localhost:8080'; const MAXINSTANCES = process.env.MAXINSTANCES || 1; const E2E_LOG_LEVEL = process.env.E2E_LOG_LEVEL || 'ERROR'; +const E2E_TS_CONFIG_FOR_ADF = 'tsconfig.e2e.adf.json'; +const LOCAL_ADF_OPTION = '--with-local-adf'; const appConfig = { @@ -170,7 +172,8 @@ exports.config = { smartRunnerFactory.getInstance().onPrepare(); } - const tsConfigPath = path.resolve(e2eFolder, 'tsconfig.e2e.json'); + const withLocalAdf = process.argv.indexOf(LOCAL_ADF_OPTION) !== -1; + const tsConfigPath = path.resolve(e2eFolder, withLocalAdf ? E2E_TS_CONFIG_FOR_ADF : 'tsconfig.e2e.json'); const tsConfig = require(tsConfigPath); require('ts-node').register({ diff --git a/scripts/ci/job_hooks/before_install.sh b/scripts/ci/job_hooks/before_install.sh index dbd872a712..acae315040 100755 --- a/scripts/ci/job_hooks/before_install.sh +++ b/scripts/ci/job_hooks/before_install.sh @@ -1,7 +1,10 @@ #!/usr/bin/env bash PARENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" -# Build options ----------------------------------------------------------------------- +# Build and test options ----------------------------------------------------------------------- export BUILD_OPTS="--configuration=production,e2e" +export TEST_OPTS="" +export E2E_PROTRACTOR_OPTS="" +export E2E_TSCONFIG="tsconfig.e2e.json" # Commit settings for ADF linking ----------------------------------------------------- export HEAD_COMMIT_HASH=${TRAVIS_PULL_REQUEST_SHA:-${TRAVIS_COMMIT}} diff --git a/scripts/ci/jobs/affected-project-with.sh b/scripts/ci/jobs/affected-project-with.sh index ac8d9e6b45..256360aea2 100755 --- a/scripts/ci/jobs/affected-project-with.sh +++ b/scripts/ci/jobs/affected-project-with.sh @@ -29,6 +29,6 @@ done echo "Run alfresco-content-e2e protractor with options $OPTIONS" echo "./node_modules/.bin/protractor \"./protractor.conf.js\" $OPTIONS || exit 1" -./node_modules/.bin/tsc -p "./e2e/tsconfig.e2e.json" || exit 1; +./node_modules/.bin/tsc -p "./e2e/$E2E_TSCONFIG" || exit 1; ./node_modules/.bin/http-server -c-1 $CONTENT_CE_DIST_PATH -p 4200 > /dev/null &\ -./node_modules/.bin/protractor "./protractor.conf.js" $OPTIONS || exit 1 +./node_modules/.bin/protractor "./protractor.conf.js" $OPTIONS $E2E_PROTRACTOR_OPTS || exit 1 diff --git a/scripts/ci/partials/_adf-linking.sh b/scripts/ci/partials/_adf-linking.sh index 7cfacbe06f..c24f317893 100755 --- a/scripts/ci/partials/_adf-linking.sh +++ b/scripts/ci/partials/_adf-linking.sh @@ -6,6 +6,9 @@ # --------------------------------------------------------------- if [[ $COMMIT_MESSAGE == *"[link-adf:"* ]]; then export BUILD_OPTS="--configuration=adfprod,e2e" + export TEST_OPTS="--configuration=adfprod" + export E2E_PROTRACTOR_OPTS="--with-local-adf" + export E2E_TSCONFIG="tsconfig.e2e.adf.json" BRANCH=`echo $COMMIT_MESSAGE | grep -o "\[link-adf\:[^]]*\]" | sed -e 's#\[link-adf:##g' | sed -e 's#\]##g'` echo "Checking out ADF's branch: ${BRANCH}" && \ git clone https://github.com/Alfresco/alfresco-ng2-components.git --depth=1 --branch ${BRANCH} ../alfresco-ng2-components