@24i/smartapps-bigscreen-rnv-build-engine 0.17.2-7.alpha-2789 → 0.17.2-alpha.2150
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/README.md +34 -45
- package/dist/src/__tests__/resolvers/resolveBaseUrl.spec.js +12 -33
- package/dist/src/__tests__/resolvers/resolveBuildFileName.spec.js +20 -40
- package/dist/src/__tests__/resolvers/resolveBuildVersion.spec.js +10 -20
- package/dist/src/__tests__/resolvers/resolveDeployLocations.spec.js +11 -11
- package/dist/src/__tests__/resolvers/resolveHbbtvDeployUrl.spec.js +9 -21
- package/dist/src/__tests__/resolvers/resolveHbbtvRemoteBuildDirRelativePath.spec.js +10 -29
- package/dist/src/constants/buildSchemes.js +5 -10
- package/dist/src/constants/index.js +1 -3
- package/dist/src/constants/platforms.js +0 -2
- package/dist/src/engine.js +0 -10
- package/dist/src/resolvers/index.js +1 -14
- package/dist/src/resolvers/resolveBaseUrl.js +20 -16
- package/dist/src/resolvers/resolveBuildFileName.js +27 -3
- package/dist/src/resolvers/resolveBuildVersion.js +5 -10
- package/dist/src/resolvers/resolveBuildVersionOffset.js +1 -1
- package/dist/src/resolvers/resolveDeployLocations.js +6 -3
- package/dist/src/resolvers/resolveGenericRnvConfig.js +2 -9
- package/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +6 -11
- package/dist/src/resolvers/resolvePackageVersions.js +4 -2
- package/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +1 -25
- package/dist/src/scripts/buildAllWithScheme.js +1 -1
- package/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +33 -90
- package/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +2 -4
- package/dist/src/scripts/release/deployToAppCenter.js +87 -0
- package/dist/src/scripts/release/githubRelease.js +2 -2
- package/dist/src/scripts/release/notifySlack/makePayload.js +8 -12
- package/dist/src/scripts/release/notifySlack/notifySlack.js +12 -20
- package/dist/src/scripts/release/sentryRelease.js +5 -11
- package/dist/src/scripts/release/urlsMarkdown.js +0 -2
- package/dist/src/scripts/releaseAllWithScheme.js +13 -22
- package/dist/src/sdks/index.js +1 -6
- package/dist/src/sdks/sdk-tizen/sdkTizen.js +6 -22
- package/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +2 -3
- package/dist/src/sdks/sdk-webos/sdkWebos.js +0 -3
- package/dist/src/sdks/sdk-webpack/sdkWebpack.js +3 -26
- package/dist/src/tasks/deploy/aswS3/aws.js +5 -23
- package/dist/src/tasks/deploy/aswS3/deployS3.js +13 -14
- package/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +1 -7
- package/dist/src/tasks/task.rnv.build.js +8 -29
- package/dist/src/tasks/task.rnv.configure.js +1 -5
- package/dist/src/tasks/task.rnv.deploy.js +1 -12
- package/dist/src/tasks/task.rnv.platform.configure.js +2 -37
- package/dist/src/tasks/task.rnv.start.js +0 -2
- package/dist/src/utils/forEachSupportedPlatformFlavour.js +7 -29
- package/dist/src/utils/zipBuildsByPlatforms.js +6 -9
- package/dist/templates/platforms/_shared/template.js +3 -3
- package/dist/templates/platforms/_shared/webpack.base.js +3 -6
- package/dist/templates/platforms/tizen/project/config.xml +0 -2
- package/jest.config.js +2 -2
- package/package.json +6 -9
- package/renative.engine.json +0 -2
- package/dist/src/__tests__/resolvers/resolveBuildEnvName.spec.js +0 -23
- package/dist/src/__tests__/resolvers/resolveBuildEnvType.spec.js +0 -23
- package/dist/src/__tests__/resolvers/resolveBuildFileBaseName.spec.js +0 -100
- package/dist/src/constants/buildEnvironments.js +0 -9
- package/dist/src/constants/buildProductionPackages.js +0 -10
- package/dist/src/constants/delopyLivePlatforms.js +0 -14
- package/dist/src/resolvers/resolveBuildEnvName.js +0 -16
- package/dist/src/resolvers/resolveBuildEnvType.js +0 -23
- package/dist/src/resolvers/resolveBuildFileBaseName.js +0 -46
- package/dist/src/resolvers/resolveProductionZipFileRelativePath.js +0 -35
- package/dist/src/resolvers/resolveS3BucketAppPath.js +0 -15
- package/dist/src/resolvers/resolveSupportedFlavoursForPlatform.js +0 -8
- package/dist/src/resolvers/resolveZippedDirRelativePath.js +0 -32
- package/dist/src/resolvers/shared/constructFullUrl.js +0 -25
- package/dist/src/scripts/buildAllWithSchemes.js +0 -100
- package/dist/src/scripts/buildProductionPackagesAll.js +0 -77
- package/dist/src/scripts/deployLiveAll.js +0 -27
- package/dist/src/scripts/deployLivePlatform.js +0 -44
- package/dist/src/scripts/purgeCloudfrontCache.js +0 -71
- package/dist/src/scripts/release/productionPackages/deployProductionPackages.js +0 -52
- package/dist/src/scripts/release/productionPackages/notifySlack.js +0 -29
- package/dist/src/scripts/releaseAllWithSchemes.js +0 -154
- package/dist/src/scripts/releaseProductionPackagesAll.js +0 -46
- package/dist/src/scripts/smokeTest/notifySlack.js +0 -45
- package/dist/src/scripts/smokeTest/smokeTestUtils.js +0 -104
- package/dist/src/scripts/smokeTest.js +0 -67
- package/dist/src/scripts/utils/getArgs.js +0 -22
- package/dist/src/sdks/sdk-androidtv/index.js +0 -17
- package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +0 -301
- package/dist/src/tasks/deploy/aswS3/distToLiveS3.js +0 -76
- package/dist/src/utils/copyEnvironmentFolder.js +0 -65
- package/dist/src/utils/getSafeSchemeString.js +0 -7
- package/dist/src/utils/zipStagingProdBuildsByPlatforms.js +0 -114
- package/dist/templates/platforms/androidtv/project/README.md +0 -196
- package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +0 -40
- package/dist/templates/platforms/androidtv/project/amazoniap/consumer-rules.pro +0 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/proguard-rules.pro +0 -21
- package/dist/templates/platforms/androidtv/project/amazoniap/src/main/kotlin/com/twentyfouri/bridgetv/amazoniap/AmazonIapService.kt +0 -90
- package/dist/templates/platforms/androidtv/project/amazoniap/src/main/kotlin/com/twentyfouri/bridgetv/amazoniap/AmazonIapServiceFactory.kt +0 -13
- package/dist/templates/platforms/androidtv/project/app/build.gradle +0 -132
- package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +0 -47
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +0 -8
- package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +0 -52
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/FlavorBase.kt +0 -12
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +0 -404
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +0 -120
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +0 -18
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigCallback.kt +0 -6
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigProvider.kt +0 -27
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/Drm.kt +0 -10
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/UserAgent.kt +0 -6
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/BaseApplication.kt +0 -73
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityComponent.kt +0 -13
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +0 -14
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationComponent.kt +0 -26
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +0 -51
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +0 -26
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LocalStorage.kt +0 -30
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +0 -38
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/OverriddenHttpMediaDrmCallback.kt +0 -134
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryBitmovinCustomized.kt +0 -7
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryConfigured.kt +0 -36
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerCustomized.kt +0 -101
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerNpaw.kt +0 -581
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryVersion.kt +0 -27
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SimpleActivityLifecycleCallback.kt +0 -32
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SourceDrmOverridden.kt +0 -91
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/sound/TouchPlayer.kt +0 -86
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +0 -82
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebViewClient.kt +0 -114
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/AnalyticsPlaybackInfo.kt +0 -10
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/ContentModel.kt +0 -14
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/DrmModel.kt +0 -20
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +0 -30
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/PlaybackInfoParser.kt +0 -10
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/SourceParser.kt +0 -89
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +0 -58
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +0 -17
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +0 -15
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +0 -259
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +0 -695
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_focus.xml +0 -10
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_normal.xml +0 -7
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_pressed.xml +0 -7
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_focus.xml +0 -8
- package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +0 -28
- package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/click.ogg +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +0 -12
- package/dist/templates/platforms/androidtv/project/app/src/main/res/xml/network_security_config.xml +0 -4
- package/dist/templates/platforms/androidtv/project/build.gradle +0 -45
- package/dist/templates/platforms/androidtv/project/common/build.gradle +0 -40
- package/dist/templates/platforms/androidtv/project/common/consumer-rules.pro +0 -0
- package/dist/templates/platforms/androidtv/project/common/proguard-rules.pro +0 -21
- package/dist/templates/platforms/androidtv/project/common/src/main/java/com/twentyfouri/tvbridge/common/IapService.kt +0 -114
- package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +0 -40
- package/dist/templates/platforms/androidtv/project/googleiap/consumer-rules.pro +0 -0
- package/dist/templates/platforms/androidtv/project/googleiap/proguard-rules.pro +0 -21
- package/dist/templates/platforms/androidtv/project/googleiap/src/main/java/com/twentyfouri/tvbridge/googleiap/GoogleIapService.kt +0 -29
- package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +0 -7
- package/dist/templates/platforms/androidtv/project/gradle.properties +0 -4
- package/dist/templates/platforms/androidtv/project/gradlew +0 -251
- package/dist/templates/platforms/androidtv/project/gradlew.bat +0 -94
- package/dist/templates/platforms/androidtv/project/proguard-rules.pro +0 -42
- package/dist/templates/platforms/androidtv/project/settings.gradle +0 -4
- /package/dist/src/scripts/{utils → release/notifySlack}/slackBlockKitBuilder.js +0 -0
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ which is used instead of core ReNative engine to fulfill the needs of SmartApps
|
|
|
30
30
|
it
|
|
31
31
|
- **builds** applications for requested platforms
|
|
32
32
|
- **deploys** the built applications to `AWS S3` (or to server configured to host `HbbTV` applications)
|
|
33
|
-
- **releases** new versions to `GitHub`
|
|
33
|
+
- **releases** new versions to `AppCenter.me`, `GitHub`
|
|
34
34
|
- sends **Slack notifications** for `release candidate` and `release` builds
|
|
35
35
|
- supports `Sentry.io` runtime **error logging**
|
|
36
36
|
|
|
@@ -38,20 +38,18 @@ it
|
|
|
38
38
|
---
|
|
39
39
|
## Supported platforms
|
|
40
40
|
|
|
41
|
-
| *Platform* | *Vendor* | *id* | *Build file extension* | *Registered file extensions*
|
|
42
|
-
| :------------ |
|
|
43
|
-
| **AndroidTV** | N/A | `androidtv` | `.zip` | `*.android.tv.{js,jsx,ts,tsx,json}`
|
|
44
|
-
| **Entone** | Amino | `entone` | `.zip` | `*.entone.{js,jsx,ts,tsx,json}`
|
|
45
|
-
| **
|
|
46
|
-
| **
|
|
47
|
-
| **
|
|
48
|
-
| **
|
|
49
|
-
| **
|
|
50
|
-
| **
|
|
51
|
-
| **
|
|
52
|
-
| **
|
|
53
|
-
| **WebTV** | N/A | `webtv` | `.zip` | `*.webtv.{js,jsx,ts,tsx,json}` | for previewing builds in browser |
|
|
54
|
-
| **Xbox** | Microsoft | `xbox` | `.zip` | `*.xbox.{js,jsx,ts,tsx,json}` | |
|
|
41
|
+
| *Platform* | *Vendor* | *id* | *Build file extension* | *Registered file extensions* | *Note* |
|
|
42
|
+
| :------------ | :------: | :---------: | :--------------------: | :---------------------------------: | :------------------------------: |
|
|
43
|
+
| **AndroidTV** | N/A | `androidtv` | `.zip` | `*.android.tv.{js,jsx,ts,tsx,json}` | |
|
|
44
|
+
| **Entone** | Amino | `entone` | `.zip` | `*.entone.{js,jsx,ts,tsx,json}` | set-top boxes |
|
|
45
|
+
| **HbbTV** | N/A | `hbbtv` | `.zip` | `*.hbbtv.tv.{js,jsx,ts,tsx,json}` | |
|
|
46
|
+
| **KreaTV** | Arris | `kreatv` | `.zip` | `*.kreatv.{js,jsx,ts,tsx,json}` | set-top boxes |
|
|
47
|
+
| **Saphi** | Philips | `saphi` | `.zip` | `*.saphi.tv.{js,jsx,ts,tsx,json}` | |
|
|
48
|
+
| **Tizen** | Samsung | `tizen` | `.wgt` | `*.tizen.tv.{js,jsx,ts,tsx,json}` | |
|
|
49
|
+
| **VIDAA** | Hisense | `vidaa` | `.zip` | `*.vidaa.tv.{js,jsx,ts,tsx,json}` | |
|
|
50
|
+
| **webOS** | LG | `webos` | `.ipk` | `*.webos.tv.{js,jsx,ts,tsx,json}` | |
|
|
51
|
+
| **WebTV** | N/A | `webtv` | `.zip` | `*.webtv.{js,jsx,ts,tsx,json}` | for previewing builds in browser |
|
|
52
|
+
| **Xbox** | Microsoft | `xbox` | `.zip` | `*.xbox.{js,jsx,ts,tsx,json}` | |
|
|
55
53
|
|
|
56
54
|
When building the application with ReNative, if file with ***registered platform extension*** is found,
|
|
57
55
|
it takes precedence and is bundled instead of file without registered file extension (such as `index.ts`).
|
|
@@ -62,13 +60,11 @@ drivers/
|
|
|
62
60
|
index.ts // fallback when file with platform file extension for selected platform is not found
|
|
63
61
|
index.android.tv.ts // if build for AndroidTV platform is selected, this file will be picked for the build
|
|
64
62
|
index.entone.ts
|
|
65
|
-
index.firetv.ts
|
|
66
63
|
index.hbbtv.tv.ts
|
|
67
64
|
index.kreatv.ts
|
|
68
65
|
index.saphi.tv.ts
|
|
69
66
|
index.tizen.tv.ts
|
|
70
67
|
index.vidaa.tv.ts
|
|
71
|
-
index.smartcast.tv.ts
|
|
72
68
|
index.webos.tv.ts
|
|
73
69
|
index.webtv.ts
|
|
74
70
|
index.xbox.ts
|
|
@@ -76,21 +72,16 @@ drivers/
|
|
|
76
72
|
---
|
|
77
73
|
## Supported build schemes
|
|
78
74
|
|
|
79
|
-
| *Scheme id*
|
|
80
|
-
|
|
|
81
|
-
| **debug**
|
|
82
|
-
| **dev**
|
|
83
|
-
| **dev:latest**
|
|
84
|
-
| **rc
|
|
85
|
-
| **rc:
|
|
86
|
-
| **
|
|
87
|
-
| **
|
|
88
|
-
| **release:
|
|
89
|
-
| **release:prod** | production | |
|
|
90
|
-
| **release:staging:latest** | staging | By CI on merge any pull request into `master` branch |
|
|
91
|
-
| **release:prod:latest** | production | By CI on merge any pull request into `master` branch |
|
|
92
|
-
| **release:staging:dist** | staging | By CI on merge any pull request into `master` branch |
|
|
93
|
-
| **release:prod:dist** | production | By CI on merge pull request into `master` branch |
|
|
75
|
+
| *Scheme id* | *Build Environment* | *Usage* |
|
|
76
|
+
| :----------------- | :-----------------: | ------------------------------------------------------------- |
|
|
77
|
+
| **debug** | development | Local builds for debugging purposes |
|
|
78
|
+
| **dev** | production | |
|
|
79
|
+
| **dev:latest** | production | By CI on merge any pull request into `development` branch |
|
|
80
|
+
| **rc** | production | |
|
|
81
|
+
| **rc:latest** | production | By CI on merge any pull request into `rc/v?.?.?` branch |
|
|
82
|
+
| **release** | production | |
|
|
83
|
+
| **release:latest** | production | By CI on merge any pull request into `master` branch |
|
|
84
|
+
| **release:dist** | production | By CI on merge pull request into `master` branch |
|
|
94
85
|
|
|
95
86
|
### Schemes with `:latest` postfix
|
|
96
87
|
Scheme names with `:latest` postfix **always deploys into the same location**.
|
|
@@ -99,21 +90,19 @@ In other words, app url is the same for each deployed build.
|
|
|
99
90
|
An example:
|
|
100
91
|
```
|
|
101
92
|
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/latest/dev/...
|
|
102
|
-
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/latest/rc
|
|
103
|
-
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/latest/release
|
|
93
|
+
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/latest/rc/...
|
|
94
|
+
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/latest/release/...
|
|
104
95
|
```
|
|
105
96
|
|
|
106
|
-
### `release:
|
|
107
|
-
The difference from schemes with
|
|
97
|
+
### `release:dist` scheme
|
|
98
|
+
The difference from [schemes with `:latest` postfix](#schemes-with-latest-postfix)
|
|
108
99
|
is that new builds are not deployed to the same remote folder all the time.
|
|
109
100
|
Instead, a new folder is created for each new app version.
|
|
110
101
|
|
|
111
102
|
An example:
|
|
112
103
|
```
|
|
113
|
-
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/dist/v0.0.1
|
|
114
|
-
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/dist/v0.0.
|
|
115
|
-
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/dist/v0.0.2/staging/...
|
|
116
|
-
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/dist/v0.0.2/production/...
|
|
104
|
+
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/dist/v0.0.1/...
|
|
105
|
+
http://smartapps-bigscreen.<PROJECT_NAME>.24imedia.com.s3.amazonaws.com/builds/<PLATFORM>/<FLAVOUR>/dist/v0.0.2/...
|
|
117
106
|
```
|
|
118
107
|
|
|
119
108
|
---
|
|
@@ -129,13 +118,13 @@ Currently, following variable names are configured for replacing:
|
|
|
129
118
|
| **WEBPACK_INJECTION_APP_TITLE** | string | app title (used in app ui) | `'Appstage'`, `'Pure Flix'` |
|
|
130
119
|
| **WEBPACK_INJECTION_APP_CONFIG_ID** | string | flavour id *(value of rnv CLI `-c` param value)* | `'animated_1080'`, `'basic_720'` |
|
|
131
120
|
| **WEBPACK_INJECTION_APP_CREATED** | string | build time in ISO 8601 format | `'2021-07-30T09:18:26.014Z'` |
|
|
132
|
-
| **WEBPACK_INJECTION_APP_SCHEME** | string | scheme used during the build | `'debug'`, `'rc:
|
|
121
|
+
| **WEBPACK_INJECTION_APP_SCHEME** | string | scheme used during the build | `'debug'`, `'rc:latest'`, `'release:dist'` |
|
|
133
122
|
| **WEBPACK_INJECTION_APP_RESOLUTION** | string | app resolution in `<WIDTH>x<HEIGHT>` format (in pixels) | `'1920x1080'`, `'1280x720'` |
|
|
134
123
|
| **WEBPACK_INJECTION_APP_VERSION** | string | app version | `'v0.0.1.dev'`, `'v0.0.1.rc-1'`, `'v0.0.1'` |
|
|
135
124
|
| **WEBPACK_INJECTION_APP_ENVIRONMENT** | string | environment used during the build | `'development'`, `'production'` |
|
|
136
125
|
| **WEBPACK_INJECTION_APP_PLATFORM** | string | platform id *(value of rnv CLI `-p` param value)* | `'webtv'`, `'webos'`, `'tizen'`, `'entone'` |
|
|
137
126
|
| **WEBPACK_INJECTION_APP_CONTENT_PATH** | string | path to content directory | `'./public/content'` |
|
|
138
|
-
| **WEBPACK_INJECTION_APP_CORE_VERSIONS** | string | version of the core packages | `'SDK: 1.0.5'`, `'WL: 1.0.6-alpha.2146'`
|
|
127
|
+
| **WEBPACK_INJECTION_APP_CORE_VERSIONS** | string | version of the core packages | `'SDK: 1.0.5'`, `'WL: 1.0.6-alpha.2146'` |
|
|
139
128
|
|
|
140
129
|
An example:
|
|
141
130
|
```typescript
|
|
@@ -210,12 +199,12 @@ It allows us to extend the number of platforms we build for
|
|
|
210
199
|
|
|
211
200
|
Using the custom engine allows us to change the build steps defined in core ReNative engine.
|
|
212
201
|
Also, custom engine is prepared for deploying the built applications to `AWS S3` and to server specially configured for `HbbTV` builds.
|
|
213
|
-
Our custom build engine is also configured to deploy releases to `GitHub` and `Sentry`.
|
|
202
|
+
Our custom build engine is also configured to deploy releases to `AppCenter.me`, `GitHub` and `Sentry`.
|
|
214
203
|
|
|
215
204
|
- added support for more platforms (see [supported platforms](#supported-platforms))
|
|
216
205
|
- overwritten rnv tasks (such us `build`, `deploy`)
|
|
217
206
|
- added automatic installation of `Tizen` and `webOS` SDKs before building the packages
|
|
218
|
-
- deploy to `AWS S3`, `GitHub`, `Sentry`
|
|
207
|
+
- deploy to `AWS S3`, `Appcenter.me`, `GitHub`, `Sentry`
|
|
219
208
|
- added support for `Slack` notifications for `release candidate` and `release` builds
|
|
220
209
|
|
|
221
210
|
Inside [src/tasks/](src/tasks) folder, there is a source code for **ReNative tasks** which overrides core ReNative tasks.
|
|
@@ -228,7 +217,7 @@ If any platform needs any **platform-specific files**, those can be found also i
|
|
|
228
217
|
## How to set up new project with SmartApps BIGscreen build engine
|
|
229
218
|
There are a few things that are not included in the package and need to be added manually.
|
|
230
219
|
For example `renative.json` config file and `appConfigs` folder (both related to ReNative)
|
|
231
|
-
and `.
|
|
220
|
+
and `.travis.yml`config file (related to Travis CI).
|
|
232
221
|
|
|
233
222
|
> To **start a new project** with usage of our build process,
|
|
234
223
|
> please use [SmartApps BIGscreen Template repository](https://github.com/24i/smartapps-bigscreen-template),
|
|
@@ -55,12 +55,9 @@ describe('resolveBaseUrl', () => {
|
|
|
55
55
|
it('returns empty string for other build schemes as latest or distribution', () => {
|
|
56
56
|
const schemesWithDefinedBaseUrl = [
|
|
57
57
|
constants_1.BuildSchemes.DEV_LATEST,
|
|
58
|
-
constants_1.BuildSchemes.
|
|
59
|
-
constants_1.BuildSchemes.
|
|
60
|
-
constants_1.BuildSchemes.
|
|
61
|
-
constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
62
|
-
constants_1.BuildSchemes.RELEASE_STAGING_DIST,
|
|
63
|
-
constants_1.BuildSchemes.RELEASE_PROD_DIST,
|
|
58
|
+
constants_1.BuildSchemes.RC_LATEST,
|
|
59
|
+
constants_1.BuildSchemes.RELEASE_LATEST,
|
|
60
|
+
constants_1.BuildSchemes.RELEASE_DIST,
|
|
64
61
|
];
|
|
65
62
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
66
63
|
Object.values(constants_1.BuildSchemes).forEach((scheme) => {
|
|
@@ -80,40 +77,22 @@ describe('resolveBaseUrl', () => {
|
|
|
80
77
|
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/dev`);
|
|
81
78
|
});
|
|
82
79
|
});
|
|
83
|
-
it('returns proper url for "latest release candidate
|
|
84
|
-
const scheme = constants_1.BuildSchemes.
|
|
80
|
+
it('returns proper url for "latest release candidate" scheme', () => {
|
|
81
|
+
const scheme = constants_1.BuildSchemes.RC_LATEST;
|
|
85
82
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
86
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/rc
|
|
83
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/rc`);
|
|
87
84
|
});
|
|
88
85
|
});
|
|
89
|
-
it('returns proper url for "latest release
|
|
90
|
-
const scheme = constants_1.BuildSchemes.
|
|
86
|
+
it('returns proper url for "latest release" build scheme', () => {
|
|
87
|
+
const scheme = constants_1.BuildSchemes.RELEASE_LATEST;
|
|
91
88
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
92
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/
|
|
89
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/release`);
|
|
93
90
|
});
|
|
94
91
|
});
|
|
95
|
-
it('returns proper url for "
|
|
96
|
-
const scheme = constants_1.BuildSchemes.
|
|
92
|
+
it('returns proper url for "distribution release" build scheme', () => {
|
|
93
|
+
const scheme = constants_1.BuildSchemes.RELEASE_DIST;
|
|
97
94
|
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
98
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
it('returns proper url for "latest release (production)" build scheme', () => {
|
|
102
|
-
const scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
103
|
-
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
104
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/latest/release/production`);
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
it('returns proper url for "distribution release (staging)" build scheme', () => {
|
|
108
|
-
const scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
109
|
-
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
110
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/dist/v${packageVersion}/staging`);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
it('returns proper url for "distribution release (production)" build scheme', () => {
|
|
114
|
-
const scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
115
|
-
Object.values(constants_1.Platforms).forEach((platform) => {
|
|
116
|
-
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/dist/v${packageVersion}/production`);
|
|
95
|
+
expect((0, resolveBaseUrl_1.resolveBaseUrl)({ platform, flavour, scheme })).toBe(`${bucketUrl}/builds/${platform}/${flavour}/dist/v${packageVersion}`);
|
|
117
96
|
});
|
|
118
97
|
});
|
|
119
98
|
});
|
|
@@ -45,26 +45,16 @@ describe('resolveBuildFileName', () => {
|
|
|
45
45
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.dev_flavour.${ext}`);
|
|
46
46
|
c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
|
|
47
47
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.dev_flavour.${ext}`);
|
|
48
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
49
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.
|
|
50
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
51
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
52
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
53
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
54
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
55
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.
|
|
56
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
57
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.
|
|
58
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD;
|
|
59
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-production_flavour.${ext}`);
|
|
60
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
61
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-staging_flavour.${ext}`);
|
|
62
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
63
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-production_flavour.${ext}`);
|
|
64
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
65
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-staging_flavour.${ext}`);
|
|
66
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
67
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-production_flavour.${ext}`);
|
|
48
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC;
|
|
49
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc_flavour.${ext}`);
|
|
50
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_LATEST;
|
|
51
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc_flavour.${ext}`);
|
|
52
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE;
|
|
53
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0_flavour.${ext}`);
|
|
54
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_LATEST;
|
|
55
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release_flavour.${ext}`);
|
|
56
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_DIST;
|
|
57
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0_flavour.${ext}`);
|
|
68
58
|
});
|
|
69
59
|
});
|
|
70
60
|
it('returns proper string when there is version offset', () => {
|
|
@@ -78,26 +68,16 @@ describe('resolveBuildFileName', () => {
|
|
|
78
68
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.dev-1_flavour.${ext}`);
|
|
79
69
|
c.runtime.scheme = constants_1.BuildSchemes.DEV_LATEST;
|
|
80
70
|
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.dev_flavour.${ext}`);
|
|
81
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
82
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-
|
|
83
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
84
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
85
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
86
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}
|
|
87
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
88
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.
|
|
89
|
-
c.runtime.scheme = constants_1.BuildSchemes.
|
|
90
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-
|
|
91
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD;
|
|
92
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-production_flavour.${ext}`);
|
|
93
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_LATEST;
|
|
94
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-staging_flavour.${ext}`);
|
|
95
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_LATEST;
|
|
96
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release-production_flavour.${ext}`);
|
|
97
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_STAGING_DIST;
|
|
98
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-staging_flavour.${ext}`);
|
|
99
|
-
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_PROD_DIST;
|
|
100
|
-
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1-production_flavour.${ext}`);
|
|
71
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC;
|
|
72
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0.rc-1_flavour.${ext}`);
|
|
73
|
+
c.runtime.scheme = constants_1.BuildSchemes.RC_LATEST;
|
|
74
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.rc_flavour.${ext}`);
|
|
75
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE;
|
|
76
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1_flavour.${ext}`);
|
|
77
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_LATEST;
|
|
78
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_latest.release_flavour.${ext}`);
|
|
79
|
+
c.runtime.scheme = constants_1.BuildSchemes.RELEASE_DIST;
|
|
80
|
+
expect((0, resolveBuildFileName_1.resolveBuildFileName)(c)).toBe(`appName_${platform}_v1.0.0-1_flavour.${ext}`);
|
|
101
81
|
});
|
|
102
82
|
});
|
|
103
83
|
it('throws an error when c.buildConfig.common.appNameInFileName is not present', () => {
|
|
@@ -23,16 +23,11 @@ describe('resolveBuildVersion', () => {
|
|
|
23
23
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEBUG })).toBe('v1.0.0.debug');
|
|
24
24
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV })).toBe('v1.0.0.dev');
|
|
25
25
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV_LATEST })).toBe('v1.0.0.dev');
|
|
26
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
27
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
28
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
29
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
30
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
31
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD })).toBe('v1.0.0');
|
|
32
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_LATEST })).toBe('v1.0.0');
|
|
33
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD_LATEST })).toBe('v1.0.0');
|
|
34
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_DIST })).toBe('v1.0.0');
|
|
35
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD_DIST })).toBe('v1.0.0');
|
|
26
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC })).toBe('v1.0.0.rc');
|
|
27
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_LATEST })).toBe('v1.0.0.rc');
|
|
28
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE })).toBe('v1.0.0');
|
|
29
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_LATEST })).toBe('v1.0.0');
|
|
30
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_DIST })).toBe('v1.0.0');
|
|
36
31
|
});
|
|
37
32
|
});
|
|
38
33
|
it('returns proper string when there is version offset', () => {
|
|
@@ -45,16 +40,11 @@ describe('resolveBuildVersion', () => {
|
|
|
45
40
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEBUG })).toBe('v1.0.0.debug-2');
|
|
46
41
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV })).toBe('v1.0.0.dev-2');
|
|
47
42
|
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.DEV_LATEST })).toBe('v1.0.0.dev-2');
|
|
48
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
49
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
50
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
51
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
52
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.
|
|
53
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD })).toBe('v1.0.0-2');
|
|
54
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_LATEST })).toBe('v1.0.0-2');
|
|
55
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_PROD_LATEST })).toBe('v1.0.0-2');
|
|
56
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_DIST })).toBe('v1.0.0-2');
|
|
57
|
-
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_STAGING_DIST })).toBe('v1.0.0-2');
|
|
43
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC })).toBe('v1.0.0.rc-2');
|
|
44
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RC_LATEST })).toBe('v1.0.0.rc-2');
|
|
45
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE })).toBe('v1.0.0-2');
|
|
46
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_LATEST })).toBe('v1.0.0-2');
|
|
47
|
+
expect((0, resolveBuildVersion_1.resolveBuildVersion)({ platform, flavour, scheme: constants_1.BuildSchemes.RELEASE_DIST })).toBe('v1.0.0-2');
|
|
58
48
|
});
|
|
59
49
|
});
|
|
60
50
|
});
|
|
@@ -9,7 +9,7 @@ jest.mock('../../resolvers/resolveBuildVersionOffset');
|
|
|
9
9
|
const c = {
|
|
10
10
|
platform: constants_1.Platforms.WEBTV,
|
|
11
11
|
runtime: {
|
|
12
|
-
scheme: constants_1.BuildSchemes.
|
|
12
|
+
scheme: constants_1.BuildSchemes.RELEASE_LATEST,
|
|
13
13
|
appId: 'flavour1',
|
|
14
14
|
},
|
|
15
15
|
buildConfig: {
|
|
@@ -64,30 +64,30 @@ describe('resolveDeployLocations', () => {
|
|
|
64
64
|
platforms: {
|
|
65
65
|
hbbtv: {
|
|
66
66
|
flavour3: {
|
|
67
|
-
indexUrl: 'http://nxg-bigscreen-test.24imedia.tv/appName/flavour3/latest/release/
|
|
68
|
-
packageUrl: `${bucketBaseUrl}/builds/hbbtv/flavour3/latest/release/
|
|
67
|
+
indexUrl: 'http://nxg-bigscreen-test.24imedia.tv/appName/flavour3/latest/release/public/index.html',
|
|
68
|
+
packageUrl: `${bucketBaseUrl}/builds/hbbtv/flavour3/latest/release/build/appName_hbbtv_latest.release_flavour3.zip`,
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
tizen: {
|
|
72
72
|
flavour1: {
|
|
73
|
-
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/
|
|
74
|
-
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/
|
|
73
|
+
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/public/index.html`,
|
|
74
|
+
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour1/latest/release/build/appName_tizen_latest.release_flavour1.wgt`,
|
|
75
75
|
},
|
|
76
76
|
flavour2: {
|
|
77
|
-
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/
|
|
78
|
-
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/
|
|
77
|
+
indexUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/public/index.html`,
|
|
78
|
+
packageUrl: `${bucketBaseUrl}/builds/tizen/flavour2/latest/release/build/appName_tizen_latest.release_flavour2.wgt`,
|
|
79
79
|
},
|
|
80
80
|
},
|
|
81
81
|
webtv: {
|
|
82
82
|
flavour1: {
|
|
83
|
-
indexUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/
|
|
84
|
-
packageUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/
|
|
83
|
+
indexUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/public/index.html`,
|
|
84
|
+
packageUrl: `${bucketBaseUrl}/builds/webtv/flavour1/latest/release/build/appName_webtv_latest.release_flavour1.zip`,
|
|
85
85
|
},
|
|
86
86
|
},
|
|
87
87
|
xbox: {
|
|
88
88
|
flavour1: {
|
|
89
|
-
indexUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/
|
|
90
|
-
packageUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/
|
|
89
|
+
indexUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/public/index.html`,
|
|
90
|
+
packageUrl: `${bucketBaseUrl}/builds/xbox/flavour1/latest/release/build/appName_xbox_latest.release_flavour1.zip`,
|
|
91
91
|
},
|
|
92
92
|
},
|
|
93
93
|
},
|
|
@@ -15,33 +15,21 @@ describe('resolveHbbtvDeployUrl', () => {
|
|
|
15
15
|
it('returns proper URL for "latest development" build schemes', () => {
|
|
16
16
|
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.DEV_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/dev/public/index.html`);
|
|
17
17
|
});
|
|
18
|
-
it('returns proper URL for "latest release candidate
|
|
19
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.
|
|
18
|
+
it('returns proper URL for "latest release candidate" build schemes', () => {
|
|
19
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RC_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/rc/public/index.html`);
|
|
20
20
|
});
|
|
21
|
-
it('returns proper URL for "latest release
|
|
22
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.
|
|
21
|
+
it('returns proper URL for "latest release" build schemes', () => {
|
|
22
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/release/public/index.html`);
|
|
23
23
|
});
|
|
24
|
-
it('returns proper URL for "
|
|
25
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.
|
|
26
|
-
});
|
|
27
|
-
it('returns proper URL for "latest release (production)" build schemes', () => {
|
|
28
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_PROD_LATEST, 'flavour')).toBe(`${baseUrl}/appName/flavour/latest/release/production/public/index.html`);
|
|
29
|
-
});
|
|
30
|
-
it('returns proper URL for "distribution release (staging)" build schemes', () => {
|
|
31
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_STAGING_DIST, 'flavour')).toBe(`${baseUrl}/appName/flavour/dist/v1.0.0/staging/public/index.html`);
|
|
32
|
-
});
|
|
33
|
-
it('returns proper URL for "distribution release (production)" build schemes', () => {
|
|
34
|
-
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_PROD_DIST, 'flavour')).toBe(`${baseUrl}/appName/flavour/dist/v1.0.0/production/public/index.html`);
|
|
24
|
+
it('returns proper URL for "distribution release" build schemes', () => {
|
|
25
|
+
expect((0, resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl)(c, constants_1.BuildSchemes.RELEASE_DIST, 'flavour')).toBe(`${baseUrl}/appName/flavour/dist/v1.0.0/public/index.html`);
|
|
35
26
|
});
|
|
36
27
|
it('returns empty string for all other build schemes', () => {
|
|
37
28
|
const ignoredBuildSchemes = [
|
|
38
29
|
constants_1.BuildSchemes.DEV_LATEST,
|
|
39
|
-
constants_1.BuildSchemes.
|
|
40
|
-
constants_1.BuildSchemes.
|
|
41
|
-
constants_1.BuildSchemes.
|
|
42
|
-
constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
43
|
-
constants_1.BuildSchemes.RELEASE_STAGING_DIST,
|
|
44
|
-
constants_1.BuildSchemes.RELEASE_PROD_DIST,
|
|
30
|
+
constants_1.BuildSchemes.RC_LATEST,
|
|
31
|
+
constants_1.BuildSchemes.RELEASE_LATEST,
|
|
32
|
+
constants_1.BuildSchemes.RELEASE_DIST,
|
|
45
33
|
];
|
|
46
34
|
Object
|
|
47
35
|
.values(constants_1.BuildSchemes)
|
|
@@ -15,48 +15,29 @@ describe('resolveHbbtvRemoteBuildDirRelativePath', () => {
|
|
|
15
15
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
16
16
|
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.DEV_LATEST, 'flavour')).toBe('appName/flavour/latest/dev');
|
|
17
17
|
});
|
|
18
|
-
it('returns proper path for "latest release candidate
|
|
18
|
+
it('returns proper path for "latest release candidate" build scheme', () => {
|
|
19
19
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
20
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.
|
|
20
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RC_LATEST, 'flavour')).toBe('appName/flavour/latest/rc');
|
|
21
21
|
});
|
|
22
|
-
it('returns proper path for "latest release
|
|
22
|
+
it('returns proper path for "latest release" build scheme', () => {
|
|
23
23
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
24
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.
|
|
24
|
+
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RELEASE_LATEST, 'flavour')).toBe('appName/flavour/latest/release');
|
|
25
25
|
});
|
|
26
|
-
it('returns proper path for "
|
|
27
|
-
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
28
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RELEASE_STAGING_LATEST, 'flavour')).toBe('appName/flavour/latest/release/staging');
|
|
29
|
-
});
|
|
30
|
-
it('returns proper path for "latest release (production)" build scheme', () => {
|
|
31
|
-
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
32
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)(c, constants_1.BuildSchemes.RELEASE_PROD_LATEST, 'flavour')).toBe('appName/flavour/latest/release/production');
|
|
33
|
-
});
|
|
34
|
-
it('returns proper path for "distribution release (staging)" build scheme', () => {
|
|
35
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
36
|
-
buildConfig: { common: { appNameInFileName: 'appName', packageVersion: '1.0.0' } },
|
|
37
|
-
}, constants_1.BuildSchemes.RELEASE_STAGING_DIST, 'flavour')).toBe('appName/flavour/dist/v1.0.0/staging');
|
|
38
|
-
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
39
|
-
buildConfig: { common: { appNameInFileName: 'appName' } },
|
|
40
|
-
}, constants_1.BuildSchemes.RELEASE_STAGING_DIST, 'flavour')).toBe('');
|
|
41
|
-
});
|
|
42
|
-
it('returns proper path for "distribution release (production)" build scheme', () => {
|
|
26
|
+
it('returns proper path for "distribution release" build scheme', () => {
|
|
43
27
|
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
44
28
|
buildConfig: { common: { appNameInFileName: 'appName', packageVersion: '1.0.0' } },
|
|
45
|
-
}, constants_1.BuildSchemes.
|
|
29
|
+
}, constants_1.BuildSchemes.RELEASE_DIST, 'flavour')).toBe('appName/flavour/dist/v1.0.0');
|
|
46
30
|
expect((0, resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath)({
|
|
47
31
|
buildConfig: { common: { appNameInFileName: 'appName' } },
|
|
48
|
-
}, constants_1.BuildSchemes.
|
|
32
|
+
}, constants_1.BuildSchemes.RELEASE_DIST, 'flavour')).toBe('');
|
|
49
33
|
});
|
|
50
34
|
it('returns empty string for all other build schemes', () => {
|
|
51
35
|
const c = { buildConfig: { common: { appNameInFileName: 'appName' } } };
|
|
52
36
|
const ignoredBuildSchemes = [
|
|
53
37
|
constants_1.BuildSchemes.DEV_LATEST,
|
|
54
|
-
constants_1.BuildSchemes.
|
|
55
|
-
constants_1.BuildSchemes.
|
|
56
|
-
constants_1.BuildSchemes.
|
|
57
|
-
constants_1.BuildSchemes.RELEASE_PROD_LATEST,
|
|
58
|
-
constants_1.BuildSchemes.RELEASE_STAGING_DIST,
|
|
59
|
-
constants_1.BuildSchemes.RELEASE_PROD_DIST,
|
|
38
|
+
constants_1.BuildSchemes.RC_LATEST,
|
|
39
|
+
constants_1.BuildSchemes.RELEASE_LATEST,
|
|
40
|
+
constants_1.BuildSchemes.RELEASE_DIST,
|
|
60
41
|
];
|
|
61
42
|
Object
|
|
62
43
|
.values(constants_1.BuildSchemes)
|
|
@@ -5,15 +5,10 @@ const BuildSchemes = {
|
|
|
5
5
|
DEBUG: 'debug',
|
|
6
6
|
DEV: 'dev',
|
|
7
7
|
DEV_LATEST: 'dev:latest',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
RELEASE_STAGING_LATEST: 'release:staging:latest',
|
|
14
|
-
RELEASE_STAGING_DIST: 'release:staging:dist',
|
|
15
|
-
RELEASE_PROD: 'release:prod',
|
|
16
|
-
RELEASE_PROD_LATEST: 'release:prod:latest',
|
|
17
|
-
RELEASE_PROD_DIST: 'release:prod:dist',
|
|
8
|
+
RC: 'rc',
|
|
9
|
+
RC_LATEST: 'rc:latest',
|
|
10
|
+
RELEASE: 'release',
|
|
11
|
+
RELEASE_LATEST: 'release:latest',
|
|
12
|
+
RELEASE_DIST: 'release:dist',
|
|
18
13
|
};
|
|
19
14
|
exports.BuildSchemes = BuildSchemes;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Platforms = exports.
|
|
3
|
+
exports.Platforms = exports.BuildSchemes = void 0;
|
|
4
4
|
var buildSchemes_1 = require("./buildSchemes");
|
|
5
5
|
Object.defineProperty(exports, "BuildSchemes", { enumerable: true, get: function () { return buildSchemes_1.BuildSchemes; } });
|
|
6
|
-
var buildEnvironments_1 = require("./buildEnvironments");
|
|
7
|
-
Object.defineProperty(exports, "BuildEnvironments", { enumerable: true, get: function () { return buildEnvironments_1.BuildEnvironments; } });
|
|
8
6
|
var platforms_1 = require("./platforms");
|
|
9
7
|
Object.defineProperty(exports, "Platforms", { enumerable: true, get: function () { return platforms_1.Platforms; } });
|
|
@@ -4,13 +4,11 @@ exports.Platforms = void 0;
|
|
|
4
4
|
const Platforms = {
|
|
5
5
|
ANDROIDTV: 'androidtv',
|
|
6
6
|
ENTONE: 'entone',
|
|
7
|
-
FIRETV: 'firetv',
|
|
8
7
|
HBBTV: 'hbbtv',
|
|
9
8
|
KREATV: 'kreatv',
|
|
10
9
|
SAPHI: 'saphi',
|
|
11
10
|
TIZEN: 'tizen',
|
|
12
11
|
VIDAA: 'vidaa',
|
|
13
|
-
SMARTCAST: 'smartcast',
|
|
14
12
|
WEBOS: 'webos',
|
|
15
13
|
WEBTV: 'webtv',
|
|
16
14
|
XBOX: 'xbox',
|
package/dist/src/engine.js
CHANGED
|
@@ -64,11 +64,6 @@ exports.default = {
|
|
|
64
64
|
defaultPort: 8094,
|
|
65
65
|
isWebHosted: true,
|
|
66
66
|
},
|
|
67
|
-
[constants_1.Platforms.FIRETV]: {
|
|
68
|
-
extensions: generateEngineExtensions(['firetv']),
|
|
69
|
-
defaultPort: 8102,
|
|
70
|
-
isWebHosted: true,
|
|
71
|
-
},
|
|
72
67
|
[constants_1.Platforms.HBBTV]: {
|
|
73
68
|
extensions: generateEngineExtensions(['hbbtv.tv']),
|
|
74
69
|
defaultPort: 8095,
|
|
@@ -94,11 +89,6 @@ exports.default = {
|
|
|
94
89
|
defaultPort: 8099,
|
|
95
90
|
isWebHosted: true,
|
|
96
91
|
},
|
|
97
|
-
[constants_1.Platforms.SMARTCAST]: {
|
|
98
|
-
extensions: generateEngineExtensions(['smartcast.tv']),
|
|
99
|
-
defaultPort: 8101,
|
|
100
|
-
isWebHosted: true,
|
|
101
|
-
},
|
|
102
92
|
[constants_1.Platforms.WEBOS]: {
|
|
103
93
|
extensions: generateEngineExtensions(['webos.tv']),
|
|
104
94
|
defaultPort: 8088,
|