fiftyone.geolocation 4.3.0 → 4.3.5

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.
Files changed (95) hide show
  1. package/ci/build-and-test.yml +21 -0
  2. package/ci/common-ci/.github/labels.yml +80 -0
  3. package/ci/common-ci/.github/workflows/sync-labels.yml +52 -0
  4. package/ci/common-ci/CiTips.md +30 -1
  5. package/ci/common-ci/GitVersion.yml +18 -0
  6. package/ci/common-ci/README.md +155 -17
  7. package/ci/common-ci/build-and-test.yml +65 -0
  8. package/ci/common-ci/check-merge-commit-format.yml +56 -0
  9. package/ci/common-ci/cloud-release-config.json +51 -0
  10. package/ci/common-ci/create-tag.yml +41 -0
  11. package/ci/common-ci/deploy.yml +16 -2
  12. package/ci/common-ci/dotnet/shared-code-signing-steps.yml +20 -0
  13. package/ci/common-ci/dotnet/shared-extract-and-publish-packages.yml +29 -0
  14. package/ci/common-ci/go/shared-go-list-stage.yml +64 -0
  15. package/ci/common-ci/java/readme.md +22 -0
  16. package/ci/common-ci/java/shared-package-signing-steps.yml +17 -0
  17. package/ci/{shared-extract-and-publish-packages.yml → common-ci/node/shared-extract-and-publish-packages.yml} +7 -1
  18. package/ci/common-ci/php/readme.md +15 -0
  19. package/ci/common-ci/release-config-schema.json +52 -0
  20. package/ci/common-ci/release-config-template.json +310 -0
  21. package/ci/common-ci/release-config.json +89 -0
  22. package/ci/common-ci/release-process.drawio +165 -0
  23. package/ci/common-ci/release-process.png +0 -0
  24. package/ci/common-ci/scripts/azure/checkSlot.ps1 +28 -0
  25. package/ci/common-ci/scripts/modules/51DAuthorizationModule/51DAuthorizationModule.Tests.ps1 +1 -0
  26. package/ci/common-ci/scripts/modules/51DAuthorizationModule/51DAuthorizationModule.psm1 +16 -0
  27. package/ci/common-ci/scripts/modules/51DBuildModule/51DBuildModule.Tests.ps1 +3 -0
  28. package/ci/common-ci/scripts/modules/51DBuildModule/51DBuildModule.psm1 +200 -0
  29. package/ci/common-ci/scripts/modules/51DDeployModule/51DDeployModule.psm1 +66 -0
  30. package/ci/common-ci/scripts/modules/51DDownloadDataFileModule/51DDownloadDataFileModule.psm1 +74 -0
  31. package/ci/common-ci/scripts/modules/51DEnvironmentModule/51DEnvironmentModule.Tests.ps1 +25 -0
  32. package/ci/common-ci/scripts/modules/51DEnvironmentModule/51DEnvironmentModule.psm1 +22 -0
  33. package/ci/common-ci/scripts/modules/51DErrorHandleModule/51DErrorHandleModule.Tests.ps1 +1 -0
  34. package/ci/common-ci/scripts/modules/51DErrorHandleModule/51DErrorHandleModule.psm1 +41 -0
  35. package/ci/common-ci/scripts/modules/51DGitModule/51DGitModule.Tests.ps1 +5 -0
  36. package/ci/common-ci/scripts/modules/51DGitModule/51DGitModule.psm1 +702 -0
  37. package/ci/common-ci/scripts/modules/51DPackageModule/51DPackageModule.Tests.ps1 +842 -0
  38. package/ci/common-ci/scripts/modules/51DPackageModule/51DPackageModule.psm1 +926 -0
  39. package/ci/common-ci/scripts/modules/51DPipelineModule/51DPipelineModule.Tests.ps1 +1 -0
  40. package/ci/common-ci/scripts/modules/51DPipelineModule/51DPipelineModule.psm1 +87 -0
  41. package/ci/common-ci/scripts/modules/51DPullRequestModule/51DPullRequestModule.Tests.ps1 +194 -0
  42. package/ci/common-ci/scripts/modules/51DPullRequestModule/51DPullRequestModule.psm1 +653 -0
  43. package/ci/common-ci/scripts/modules/51DReleaseModule/51DReleaseModule.Tests.ps1 +277 -0
  44. package/ci/common-ci/scripts/modules/51DReleaseModule/51DReleaseModule.psm1 +554 -0
  45. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/51DReleaseTestEnvModule.Tests.ps1 +1141 -0
  46. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/51DReleaseTestEnvModule.psd1 +0 -0
  47. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/51DReleaseTestEnvModule.psm1 +1465 -0
  48. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ConfigurationVerifier.Tests.ps1 +318 -0
  49. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ConfigurationVerifier.psm1 +344 -0
  50. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ReleaseVerifier.Tests.ps1 +1186 -0
  51. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ReleaseVerifier.psm1 +900 -0
  52. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/SharedVariables.psm1 +139 -0
  53. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/c-test-env-config.json +268 -0
  54. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/dotnet-deploy-test-env-config.json +700 -0
  55. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/dotnet-test-env-config.json +533 -0
  56. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/go-deploy-test-env-config.json +290 -0
  57. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/go-test-env-config.json +260 -0
  58. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/java-deploy-test-env-config.json +511 -0
  59. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/java-test-env-config.json +388 -0
  60. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/node-deploy-test-env-config.json +419 -0
  61. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/node-test-env-config.json +329 -0
  62. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/php-test-env-config.json +540 -0
  63. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/python-deploy-test-env-config.json +411 -0
  64. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/python-test-env-config.json +321 -0
  65. package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/test-env-config.json +457 -0
  66. package/ci/common-ci/scripts/modules/51DRestModule/51DRestModule.psm1 +38 -0
  67. package/ci/common-ci/scripts/modules/AzurePortalModules/51DApplicationInsightsModule/51DApplicationInsightsModule.psm1 +104 -0
  68. package/ci/common-ci/scripts/modules/AzurePortalModules/51DChecksModule/51DChecksModule.psm1 +68 -0
  69. package/ci/common-ci/scripts/modules/AzurePortalModules/51DCloudModule/51DCloudModule.psm1 +155 -0
  70. package/ci/common-ci/scripts/modules/AzurePortalModules/51DConnectAzureModule/51DConnectAzureModule.psm1 +45 -0
  71. package/ci/common-ci/scripts/modules/AzurePortalModules/51DSSLBindingsModule/51DSSLBIndingsModule.psm1 +100 -0
  72. package/ci/common-ci/scripts/modules/AzurePortalModules/51DStagingSlotModule/51DStagingSlotModule.psm1 +50 -0
  73. package/ci/common-ci/scripts/modules/AzurePortalModules/51DStorageAccountModule/51DStorageAccountModule.psm1 +248 -0
  74. package/ci/common-ci/scripts/modules/AzurePortalModules/51DTrafficManagerModule/51DTrafficManagerModule.psm1 +58 -0
  75. package/ci/common-ci/shared-auto-complete-pr-stage.yml +61 -0
  76. package/ci/common-ci/shared-create-tag-job.yml +19 -30
  77. package/ci/common-ci/shared-docker-build-steps.yml +34 -0
  78. package/ci/common-ci/shared-docker-push-steps.yml +32 -0
  79. package/ci/common-ci/shared-docker-test-http-steps.yml +69 -0
  80. package/ci/common-ci/shared-git-tag-job.yml +38 -0
  81. package/ci/common-ci/shared-git-version-job.yml +71 -0
  82. package/ci/common-ci/shared-publish-github-stage.yml +69 -60
  83. package/ci/common-ci/shared-submodule-trigger-stage.yml +110 -0
  84. package/ci/common-ci/shared-variables.yml +3 -0
  85. package/ci/common-ci/trigger-release-apis.yml +39 -0
  86. package/ci/create-packages.yml +24 -36
  87. package/ci/deploy-external.yml +55 -0
  88. package/ci/{deploy.yml → deploy-internal.yml} +3 -29
  89. package/ci/shared-build-and-test-platforms.yml +7 -1
  90. package/ci/shared-build-and-test-stage.yml +9 -2
  91. package/ci/submodule-trigger.yml +12 -0
  92. package/examples/examples.test.js +3 -3
  93. package/geoLocationPipelineBuilder.js +13 -10
  94. package/package.json +11 -7
  95. package/setup.js +1 -0
@@ -0,0 +1,51 @@
1
+ {
2
+ "repositories": {
3
+ "common-ci": {
4
+ "version": "4.3.16",
5
+ "isLeaf": true
6
+ },
7
+ "pipeline-dotnet": {
8
+ "version": "4.3.7",
9
+ "packageName": "FiftyOne.Pipeline",
10
+ "isLeaf": true
11
+ },
12
+ "entitlement-dotnet": {
13
+ "version": "4.1.12",
14
+ "isLeaf": true
15
+ },
16
+ "location-dotnet": {
17
+ "version": "4.3.6",
18
+ "packageName": "FiftyOne.Geolocation",
19
+ "isLeaf": true
20
+ },
21
+ "device-detection-dotnet": {
22
+ "version": "4.3.7",
23
+ "packageName": "FiftyOne.DeviceDetection",
24
+ "isLeaf": true
25
+ },
26
+ "internal-engines-dotnet": {
27
+ "version": "4.3.3",
28
+ "packageName": "FiftyOne.GeoLocation.OnPremise",
29
+ "isLeaf": true
30
+ },
31
+ "cloud-config": {
32
+ "version": "4.3.0",
33
+ "isLeaf": true
34
+ },
35
+ "cloud-dotnet": {
36
+ "version":"4.3.2",
37
+ "packageName": "FiftyOne.Pipeline.CloudService",
38
+ "isLeaf": false,
39
+ "dependencies": [
40
+ "common-ci",
41
+ "pipeline-dotnet",
42
+ "entitlement-dotnet",
43
+ "internal-engines-dotnet",
44
+ "device-detection-dotnet",
45
+ "location-dotnet",
46
+ "cloud-config"
47
+ ]
48
+ }
49
+ },
50
+ "approvalRequired": false
51
+ }
@@ -0,0 +1,41 @@
1
+ trigger:
2
+ - main
3
+ - develop
4
+ - release/*
5
+
6
+ # Don't trigger for a pull request
7
+ pr: none
8
+
9
+ # Include shared variables
10
+ variables:
11
+ - template: shared-variables.yml
12
+
13
+ stages:
14
+
15
+ - stage: Tagging
16
+
17
+ jobs:
18
+ - job: Tagging
19
+
20
+ pool:
21
+ vmImage: $(linuxImage)
22
+
23
+ steps:
24
+ - checkout: self
25
+ submodules: recursive
26
+ persistCredentials: true
27
+
28
+ - task: gittools.gitversion.gitversion-task.GitVersion@5
29
+ displayName: 'Determine Version Number'
30
+ # Give this task a name so we can use the variables it sets later.
31
+ name: GitVersion
32
+ inputs:
33
+ preferBundledVersion: false
34
+ configFilePath: '$(Build.SourcesDirectory)/GitVersion.yml'
35
+
36
+ # Add a tag to the git repository with the version number.
37
+ - task: ATP.ATP-GitTag.GitTag.GitTag@5
38
+ displayName: 'Tag Repo With Version Number'
39
+ inputs:
40
+ tagUser: 'Azure DevOps'
41
+ tagEmail: 'CIUser@51Degrees.com'
@@ -4,8 +4,22 @@ trigger: none
4
4
  # Disable automatic runs of this pipeline when a PR is create.
5
5
  pr: none
6
6
 
7
+ # Include shared variables
8
+ variables:
9
+ - template: shared-variables.yml
10
+
11
+ # Add the pipeline that builds the packages as a resource.
12
+ # This allows the deployment pipeline to be triggered whenever
13
+ # the build pipeline completes.
14
+ resources:
15
+ pipelines:
16
+ - pipeline: build-pipeline # The name for the triggering build pipeline within this script
17
+ source: common-ci-tag-repository # Name of the pipeline from here: https://51degrees.visualstudio.com/Pipeline/_build
18
+ trigger: true
19
+
7
20
  stages:
8
21
  - template: shared-publish-github-stage.yml
9
22
  parameters:
10
- imageName: 'ubuntu-18.04'
11
- branchName: 'refs/heads/main'
23
+ imageName: $(linuxImage)
24
+ branchName: 'refs/heads/main'
25
+ skipTagging: false
@@ -0,0 +1,20 @@
1
+ parameters:
2
+ - name: codeSigningPassword
3
+
4
+ steps:
5
+ # The secure file to download will be stored in the
6
+ # Pipelines/Library/SecureFiles section in Azure DevOps.
7
+ - task: DownloadSecureFile@1
8
+ displayName: 'Download Code Signing Certificate'
9
+ name: CodeSigningCert
10
+ inputs:
11
+ secureFile: '51Degrees Private Code Signing Certificate.pfx'
12
+
13
+ # Sign the Nuget package with the file downloaded previously.
14
+ # The password is stored in the Pipelines/Library/VariableGroups
15
+ # section in Azure DevOps.
16
+ - task: NuGetCommand@2
17
+ displayName: 'Sign NuGet Package'
18
+ inputs:
19
+ command: custom
20
+ arguments: 'sign $(System.ArtifactsDirectory)\*.nupkg -CertificatePath "$(CodeSigningCert.secureFilePath)" -CertificatePassword ${{ parameters.codeSigningPassword }} -Timestamper http://timestamp.digicert.com'
@@ -0,0 +1,29 @@
1
+ parameters:
2
+ - name: nugetVersion
3
+ - name: nugetFeedType
4
+ - name: feed
5
+
6
+ steps:
7
+
8
+ # Install NuGet and restore packages
9
+ - task: NuGetToolInstaller@1
10
+ displayName: 'Use NuGet ${{ parameters.nugetVersion }}'
11
+ inputs:
12
+ versionSpec: ${{ parameters.nugetVersion }}
13
+
14
+ - task: NuGetCommand@2
15
+ displayName: 'NuGet publish internal'
16
+ inputs:
17
+ command: push
18
+ packagesToPush: '$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.nupkg;!$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.symbols.nupkg'
19
+ publishVstsFeed: '${{ parameters.feed }}'
20
+ condition: and(succeeded(), eq('${{ parameters.nugetFeedType }}', 'internal'))
21
+
22
+ - task: NuGetCommand@2
23
+ displayName: 'NuGet publish external'
24
+ inputs:
25
+ command: push
26
+ packagesToPush: '$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.nupkg;!$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.symbols.nupkg'
27
+ nuGetFeedType: external
28
+ publishFeedCredentials: 'NuGet.org - Release'
29
+ condition: and(succeeded(), eq('${{ parameters.nugetFeedType }}', 'external'))
@@ -0,0 +1,64 @@
1
+ parameters:
2
+ - name: stageDependencies
3
+ type: object
4
+ default: []
5
+ - name: goVersion
6
+ type: string
7
+ default: '1.17.1'
8
+
9
+ stages:
10
+ # This stage check if current branch runs on a pull request merge branch,
11
+ # then try to complete the pull request if it is true.
12
+ # WARNINGS: This stage should be run at the end of a pipeline, because upon
13
+ # completing a pull request the pipeline will be canceled and no stage
14
+ # or tasks will be run after this.
15
+ - stage: Go_List
16
+ displayName: "Make module available"
17
+ dependsOn: ${{ parameters.stageDependencies }}
18
+
19
+ variables:
20
+ - group: CIAutomation # Required to access CI variables
21
+
22
+ pool:
23
+ vmImage: 'ubuntu-18.04'
24
+
25
+ jobs:
26
+ - job: Go_List
27
+
28
+ steps:
29
+ - checkout: self
30
+ submodules: recursive
31
+ persistCredentials: true
32
+
33
+ # Install go
34
+ - task: GoTool@0
35
+ displayName: 'Use go ${{ parameters.goVersion }}'
36
+ inputs:
37
+ version: '${{ parameters.goVersion }}'
38
+
39
+ # Run go list to make the module available
40
+ - bash: |
41
+ # Fetch all tags
42
+ git fetch --all --tags
43
+ if [ $? != 0 ]; then
44
+ echo "Failed to fetch all tags."
45
+ exit 1
46
+ fi
47
+
48
+ # Check out current branch
49
+ git checkout $(Build.SourceBranchName)
50
+ if [ $? != 0 ]; then
51
+ echo "Failed to checkout branch '$(Build.SourceBranchName)'."
52
+ exit 1
53
+ fi
54
+
55
+ # Get tag version
56
+ export tagName="`git tag --points-at $(Build.SourceBranchName)`"
57
+
58
+ # Get module name
59
+ export modName=`cat go.mod | awk '/module/{print $2}'`
60
+
61
+ # Complete the corresponding pull request
62
+ GOPROXY=proxy.golang.org go list -m $modName@v$tagName
63
+ displayName: 'Make module available'
64
+ condition: and(succeeded(), eq(variables['AutomatedRelease'], 'On'))
@@ -0,0 +1,22 @@
1
+ # Java Specific CI/CD Approach
2
+ This API complies with the `common-ci` approach.
3
+
4
+ ## Code Signing
5
+ We use Maven to package our Java APIs. The process of signing the result packages for Maven is different from Dotnet signing process.
6
+ 1. The signing process for Java uses `PGP ASCII Armored File` with file extension `.asc` instead of `.pfx` as in Dotnet.
7
+ 2. The process requires the `.asc` file to be imported using `gpg`.
8
+ 3. Then the result package will be signed as part of Maven `install` process using `maven-gpg-plugin`.
9
+
10
+ ## Deploy External
11
+ The deployment to external of Java Maven packages must be done in the following order:
12
+
13
+ 1. `pipeline-java`
14
+ 2. `device-detection-java`
15
+ 3. `location-java`
16
+
17
+ Steps for each java repo:
18
+ 1. Deploy packages to Nexus staging area - automatic.
19
+ 2. Deploy from Nexus staging to Maven Central - requires approval.
20
+ 3. Deploy to GitHub - requires approval.
21
+
22
+ All Java APIs share a staging area, so occasionally repositories are left in the staging area as a results of a possible cancellation or an unwanted pipeline termination, etc. This sometimes causes the deployment to staging to fail. In this case, it is the best to login to the Nexus staging area and manually drop all unwanted repositories and rerun the deployment process.
@@ -0,0 +1,17 @@
1
+ parameters:
2
+ - name: gpgPassPhrase
3
+
4
+ steps:
5
+ # Download Java Maven GPG Key from SecureFile Library
6
+ - task: DownloadSecureFile@1
7
+ name: PackageSigningKey
8
+ displayName: 'Download Maven GPG Key'
9
+ inputs:
10
+ secureFile: 'Java Maven GPG Key Private.pgp'
11
+ retryCount: 5
12
+
13
+ - task: Bash@3
14
+ displayName: 'Import Maven GPG Key'
15
+ inputs:
16
+ targetType: 'inline'
17
+ script: 'echo ${{ parameters.gpgPassPhrase }} | gpg --import --batch --yes --passphrase-fd 0 "$(PackageSigningKey.secureFilePath)"'
@@ -1,6 +1,7 @@
1
1
  parameters:
2
2
  - name: publishConnection
3
3
  - name: packageName
4
+ - name: internalFeedId
4
5
 
5
6
  steps:
6
7
 
@@ -16,5 +17,10 @@ steps:
16
17
  command: publish
17
18
  workingDir: '$(PIPELINE.WORKSPACE)/build-pipeline/npm/${{ parameters.packageName }}/tmp/package'
18
19
  verbose: false
19
- publishEndpoint: ${{ parameters.publishConnection }}
20
+ ${{ if eq(parameters.publishConnection, 'NPM publish connection') }}:
21
+ publishEndpoint: ${{ parameters.publishConnection }}
22
+ ${{ if eq(parameters.publishConnection, 'NPM internal') }}:
23
+ publishRegistry: useFeed
24
+ publishFeed: '${{ parameters.internalFeedId }}'
25
+
20
26
 
@@ -0,0 +1,15 @@
1
+ # PHP Specific CI/CD Approach
2
+ This API complies with the `common-ci` approach.
3
+
4
+ ## Deploy External
5
+ The deployment to external of PHP involves a stage that builds and tests on actual external package. This is not required for internal pipelines such as `build-and-test.yml` as it is acceptable to just use submodule references. However, before deploy to external, the solution is required to work with other external packages. Thus, the deployment to external will fail as some dependencies packages are left waiting for a release engineer to approve. In this case, the failed deployment will need to be rerun after their dependency packages have been deployed to external.
6
+
7
+ Typically the deploy external pipelines should be completed in the following order:
8
+
9
+ 1. `pipeline-php-core`
10
+ 2. `pipeline-php-engines`
11
+ 3. `pipeline-php-cloudrequestengine`
12
+ 4. `device-detection-php`
13
+ 5. `location-php`
14
+
15
+ `device-detection-onpremise-php` is not deployed as a package to Packagist but should be completed after `device-detection-php`
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "title": "Release Config",
5
+ "description": "Contains the release configuration for 51Degrees DevOps pipelines",
6
+ "properties": {
7
+ "repositories": {
8
+ "type": "object",
9
+ "patternProperties": {
10
+ "^[A-Za-z][A-Za-z0-9\\-]*$": {
11
+ "type": "object",
12
+ "properties": {
13
+ "version": {
14
+ "type": "string",
15
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
16
+ },
17
+ "packageName": {
18
+ "type": "string"
19
+ },
20
+ "versionVariableName": {
21
+ "type": "string"
22
+ },
23
+ "isLeaf": {
24
+ "type": "boolean"
25
+ },
26
+ "dependencies": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string",
30
+ "pattern": "^[A-Za-z][A-Za-z0-9\\-]*$"
31
+ }
32
+ }
33
+ },
34
+ "required": [
35
+ "version",
36
+ "isLeaf"
37
+ ]
38
+ }
39
+ },
40
+ "required": [
41
+ "common-ci"
42
+ ]
43
+ },
44
+ "approvalRequired": {
45
+ "type": "boolean"
46
+ }
47
+ },
48
+ "required": [
49
+ "repositories",
50
+ "approvalRequired"
51
+ ]
52
+ }
@@ -0,0 +1,310 @@
1
+ {
2
+ "repositories": {
3
+ "common-ci": {
4
+ "version": "4.3.2",
5
+ "isLeaf": true
6
+ },
7
+ "device-detection-data": {
8
+ "version": "4.3.1",
9
+ "isLeaf": false
10
+ },
11
+ "common-cxx": {
12
+ "version": "4.3.1",
13
+ "isLeaf": false,
14
+ "dependencies": [
15
+ "common-ci"
16
+ ]
17
+ },
18
+ "device-detection-cxx": {
19
+ "version": "4.3.2",
20
+ "isLeaf": false,
21
+ "dependencies": [
22
+ "common-ci",
23
+ "common-cxx",
24
+ "device-detection-data"
25
+ ]
26
+ },
27
+ "device-detection-varnish": {
28
+ "version": "4.3.0",
29
+ "isLeaf": false,
30
+ "dependencies": [
31
+ "common-ci",
32
+ "device-detection-cxx"
33
+ ]
34
+ },
35
+ "device-detection-nginx": {
36
+ "version": "4.3.1",
37
+ "isLeaf": false,
38
+ "dependencies": [
39
+ "common-ci",
40
+ "device-detection-cxx"
41
+ ]
42
+ },
43
+ "pipeline-java": {
44
+ "version": "4.3.0",
45
+ "packageName": "pipeline",
46
+ "versionVariableName": "pipeline.version",
47
+ "isLeaf": false,
48
+ "dependencies": [
49
+ "common-ci"
50
+ ]
51
+ },
52
+ "location-java": {
53
+ "version": "4.3.0",
54
+ "packageName": "pipeline.geo-location",
55
+ "versionVariableName": "geolocation.version",
56
+ "isLeaf": false,
57
+ "dependencies": [
58
+ "common-ci",
59
+ "pipeline-java",
60
+ "device-detection-java"
61
+ ]
62
+ },
63
+ "location-onpremise-java": {
64
+ "version": "4.3.0",
65
+ "packageName": "geo-location.digitalelement",
66
+ "versionVariableName": "geolocation.digitalelement.version",
67
+ "isLeaf": false,
68
+ "dependencies": [
69
+ "common-ci",
70
+ "pipeline-java",
71
+ "location-java"
72
+ ]
73
+ },
74
+ "device-detection-java": {
75
+ "version": "4.3.0",
76
+ "packageName": "pipeline.device-detection",
77
+ "versionVariableName": "devicedetection.version",
78
+ "isLeaf": false,
79
+ "dependencies": [
80
+ "common-ci",
81
+ "device-detection-cxx",
82
+ "pipeline-java"
83
+ ]
84
+ },
85
+ "common-dotnet": {
86
+ "version": "4.3.1",
87
+ "packageName": "FiftyOne.Common",
88
+ "isLeaf": false,
89
+ "dependencies": [
90
+ "common-ci"
91
+ ]
92
+ },
93
+ "caching-dotnet": {
94
+ "version": "4.3.1",
95
+ "packageName": "FiftyOne.Caching",
96
+ "isLeaf": false,
97
+ "dependencies": [
98
+ "common-ci"
99
+ ]
100
+ },
101
+ "pipeline-dotnet": {
102
+ "version": "4.3.1",
103
+ "packageName": "FiftyOne.Pipeline",
104
+ "isLeaf": false,
105
+ "dependencies": [
106
+ "common-ci",
107
+ "common-dotnet",
108
+ "caching-dotnet"
109
+ ]
110
+ },
111
+ "location-dotnet": {
112
+ "version": "4.3.2",
113
+ "packageName": "FiftyOne.Geolocation",
114
+ "isLeaf": false,
115
+ "dependencies": [
116
+ "common-ci",
117
+ "common-dotnet",
118
+ "pipeline-dotnet",
119
+ "device-detection-dotnet"
120
+ ]
121
+ },
122
+ "device-detection-dotnet": {
123
+ "version": "4.3.1",
124
+ "packageName": "FiftyOne.DeviceDetection",
125
+ "isLeaf": false,
126
+ "dependencies": [
127
+ "common-ci",
128
+ "device-detection-cxx",
129
+ "caching-dotnet",
130
+ "common-dotnet",
131
+ "pipeline-dotnet"
132
+ ]
133
+ },
134
+ "license-dotnet": {
135
+ "version": "4.3.0",
136
+ "packageName": "FiftyOne.(License|Resource)",
137
+ "isLeaf": false,
138
+ "dependencies": [
139
+ "common-ci"
140
+ ]
141
+ },
142
+ "entitlement-dotnet": {
143
+ "version": "4.1.9",
144
+ "isLeaf": false,
145
+ "dependencies": [
146
+ "common-ci",
147
+ "common-dotnet",
148
+ "license-dotnet",
149
+ "pipeline-dotnet"
150
+ ]
151
+ },
152
+ "internal-engines-dotnet": {
153
+ "version": "4.3.0",
154
+ "packageName": "FiftyOne.GeoLocation.OnPremise",
155
+ "isLeaf": false,
156
+ "dependencies": [
157
+ "common-ci",
158
+ "common-dotnet",
159
+ "pipeline-dotnet",
160
+ "device-detection-dotnet",
161
+ "location-dotnet"
162
+ ]
163
+ },
164
+ "pipeline-node": {
165
+ "version": "4.3.1",
166
+ "packageName": "fiftyone.pipeline",
167
+ "isLeaf": false,
168
+ "dependencies": [
169
+ "common-ci"
170
+ ]
171
+ },
172
+ "location-node": {
173
+ "version": "4.3.1",
174
+ "packageName": "fiftyone.geolocation",
175
+ "isLeaf": false,
176
+ "dependencies": [
177
+ "common-ci",
178
+ "pipeline-node",
179
+ "device-detection-node"
180
+ ]
181
+ },
182
+ "device-detection-node": {
183
+ "version": "4.3.1",
184
+ "packageName": "fiftyone.devicedetection",
185
+ "isLeaf": false,
186
+ "dependencies": [
187
+ "common-ci",
188
+ "device-detection-cxx",
189
+ "pipeline-node"
190
+ ]
191
+ },
192
+ "pipeline-python": {
193
+ "version": "4.3.1",
194
+ "packageName": "fiftyone_pipeline",
195
+ "versionVariableName": "pipelineVersion",
196
+ "isLeaf": false,
197
+ "dependencies": [
198
+ "common-ci"
199
+ ]
200
+ },
201
+ "location-python": {
202
+ "version": "4.3.0",
203
+ "packageName": "fiftyone_location",
204
+ "versionVariableName": "locationVersion",
205
+ "isLeaf": false,
206
+ "dependencies": [
207
+ "common-ci",
208
+ "pipeline-python"
209
+ ]
210
+ },
211
+ "device-detection-python": {
212
+ "version": "4.3.0",
213
+ "packageName": "fiftyone_devicedetection",
214
+ "versionVariableName": "deviceDetectionVersion",
215
+ "isLeaf": false,
216
+ "dependencies": [
217
+ "common-ci",
218
+ "device-detection-cxx",
219
+ "pipeline-python"
220
+ ]
221
+ },
222
+ "pipeline-php-core": {
223
+ "version": "4.3.1",
224
+ "packageName": "fiftyone.pipeline.core",
225
+ "isLeaf": false,
226
+ "dependencies": [
227
+ "common-ci"
228
+ ]
229
+ },
230
+ "pipeline-php-engines": {
231
+ "version": "4.3.1",
232
+ "packageName": "fiftyone.pipeline.engines",
233
+ "isLeaf": false,
234
+ "dependencies": [
235
+ "common-ci",
236
+ "pipeline-php-core"
237
+ ]
238
+ },
239
+ "pipeline-php-cloudrequestengine": {
240
+ "version": "4.3.1",
241
+ "packageName": "fiftyone.pipeline.cloudrequestengine",
242
+ "isLeaf": false,
243
+ "dependencies": [
244
+ "common-ci",
245
+ "pipeline-php-core",
246
+ "pipeline-php-engines"
247
+ ]
248
+ },
249
+ "location-php": {
250
+ "version": "4.3.1",
251
+ "packageName": "fiftyone.geolocation",
252
+ "isLeaf": false,
253
+ "dependencies": [
254
+ "common-ci",
255
+ "pipeline-php-core",
256
+ "pipeline-php-engines",
257
+ "pipeline-php-cloudrequestengine",
258
+ "device-detection-php"
259
+ ]
260
+ },
261
+ "device-detection-php-onpremise": {
262
+ "version": "4.3.1",
263
+ "packageName": "fiftyone.devicedetection",
264
+ "isLeaf": false,
265
+ "dependencies": [
266
+ "common-ci",
267
+ "device-detection-cxx",
268
+ "pipeline-php-core",
269
+ "pipeline-php-engines"
270
+ ]
271
+ },
272
+ "device-detection-php": {
273
+ "version": "4.3.1",
274
+ "packageName": "fiftyone.devicedetection",
275
+ "isLeaf": false,
276
+ "dependencies": [
277
+ "common-ci",
278
+ "pipeline-php-core",
279
+ "pipeline-php-engines",
280
+ "pipeline-php-cloudrequestengine"
281
+ ]
282
+ },
283
+ "pipeline-wordpress": {
284
+ "version": "0.9.0",
285
+ "packageName": "fiftyonedegrees.wordpress",
286
+ "isLeaf": false,
287
+ "dependencies": [
288
+ "common-ci",
289
+ "pipeline-php-cloudrequestengine"
290
+ ]
291
+ },
292
+ "device-detection-go": {
293
+ "version": "4.3.1",
294
+ "isLeaf": false,
295
+ "dependencies": [
296
+ "common-ci",
297
+ "device-detection-cxx"
298
+ ]
299
+ },
300
+ "device-detection-examples-go": {
301
+ "version": "4.3.0",
302
+ "isLeaf": false,
303
+ "dependencies": [
304
+ "common-ci",
305
+ "device-detection-go"
306
+ ]
307
+ }
308
+ },
309
+ "approvalRequired": false
310
+ }