mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-20 07:28:08 +03:00
Merge pull request #5961 from atom/mb-batch-services-providers-by-package
Batch service providers by package
This commit is contained in:
commit
eb355118ad
@ -60,7 +60,7 @@
|
||||
"season": "^5.1.4",
|
||||
"semver": "~4.2",
|
||||
"serializable": "^1",
|
||||
"service-hub": "^0.4.0",
|
||||
"service-hub": "^0.5.0",
|
||||
"space-pen": "3.8.2",
|
||||
"stacktrace-parser": "0.1.1",
|
||||
"temp": "0.8.1",
|
||||
|
@ -3,6 +3,9 @@ module.exports =
|
||||
|
||||
deactivate: ->
|
||||
|
||||
provideFirstServiceV2: ->
|
||||
'first-service-v2'
|
||||
|
||||
provideFirstServiceV3: ->
|
||||
'first-service-v3'
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
"service-1": {
|
||||
"description": "The first service",
|
||||
"versions": {
|
||||
"0.2.9": "provideFirstServiceV2",
|
||||
"0.3.1": "provideFirstServiceV3",
|
||||
"0.4.1": "provideFirstServiceV4"
|
||||
}
|
||||
|
@ -522,6 +522,7 @@ describe "PackageManager", ->
|
||||
atom.packages.activatePackage("package-with-provided-services")
|
||||
|
||||
runs ->
|
||||
expect(consumerModule.consumeFirstServiceV3.callCount).toBe(1)
|
||||
expect(consumerModule.consumeFirstServiceV3).toHaveBeenCalledWith('first-service-v3')
|
||||
expect(consumerModule.consumeFirstServiceV4).toHaveBeenCalledWith('first-service-v4')
|
||||
expect(consumerModule.consumeSecondService).toHaveBeenCalledWith('second-service')
|
||||
|
@ -223,8 +223,10 @@ class Package
|
||||
|
||||
activateServices: ->
|
||||
for name, {versions} of @metadata.providedServices
|
||||
servicesByVersion = {}
|
||||
for version, methodName of versions
|
||||
@activationDisposables.add atom.packages.serviceHub.provide(name, version, @mainModule[methodName]())
|
||||
servicesByVersion[version] = @mainModule[methodName]()
|
||||
@activationDisposables.add atom.packages.serviceHub.provide(name, servicesByVersion)
|
||||
|
||||
for name, {versions} of @metadata.consumedServices
|
||||
for version, methodName of versions
|
||||
|
Loading…
Reference in New Issue
Block a user