import { Container } from "inversify" ; import { TYPES } from "./bll/utils/constants" ; import { Settings } from "./bll/entities/settings" ; import { SettingsImpl } from "./bll/entities/settingsimpl" ; import { CredentialsStore } from "./bll/credentialsstore/credentialsstore" ; import { InMemoryCredentialsStore } from "./bll/credentialsstore/inmemorycredentialsstore" ; import { ExtensionManager } from "./extensionmanager" ; import { CommandHolder } from "./commandholder" ; import { RemoteLogin } from "./dal/remotelogin" ; import { RemoteBuildServer } from "./dal/remotebuildserver" ; import { WebLinks } from "./dal/weblinks" ; import { CustomPatchSender } from "./bll/remoterun/patchsender" ; import { SummaryDao } from "./dal/summarydao" ; import { BuildDao } from "./dal/builddao" ; import { TeamCityOutput } from "./view/teamcityoutput" ; import { Output } from "./view/output" ; import { PatchManager } from "./bll/utils/patchmanager" ; import { XmlParser } from "./bll/utils/xmlparser" ; import { CvsProviderProxy } from "./dal/cvsproviderproxy" ; import { SignIn } from "./bll/commands/signin" ; import { SelectFilesForRemoteRun } from "./bll/commands/selectfilesforremoterun" ; import { GetSuitableConfigs } from "./bll/commands/getsuitableconfigs" ; import { RemoteRun } from "./bll/commands/remoterun" ; import { PersistentStorageManager } from "./bll/credentialsstore/persistentstoragemanager" ; import { WinPersistentCredentialsStore } from "./bll/credentialsstore/win32/win-credstore" ; import { WindowsCredentialStoreApi } from "./bll/credentialsstore/win32/win-credstore-api" ; import { LinuxFileApi } from "./bll/credentialsstore/linux/linux-file-api" ; import { OsProxy } from "./bll/moduleproxies/os-proxy" ; import { ProviderManager } from "./view/providermanager" ; import { SignOut } from "./bll/commands/signout" ; import { ResourceProvider } from "./view/dataproviders/resourceprovider" ; import { BuildProvider } from "./view/dataproviders/buildprovider" ; import { OsxKeychainApi } from "./bll/credentialsstore/osx/osx-keychain-api" ; import { OsxKeychain } from "./bll/credentialsstore/osx/osx-keychain-access" ; import { FileTokenStorage } from "./bll/credentialsstore/linux/file-token-storage" ; import { WinCredStoreParsingStreamWrapper } from "./bll/credentialsstore/win32/win-credstore-parser" ; import { OsxSecurityParsingStreamWrapper } from "./bll/credentialsstore/osx/osx-keychain-parser" ; import { FsProxy } from "./bll/moduleproxies/fs-proxy" ; import { PathProxy } from "./bll/moduleproxies/path-proxy" ; import { CpProxy } from "./bll/moduleproxies/cp-proxy" ; import { IVsCodeUtils } from "./bll/utils/ivscodeutils" ; import { VsCodeUtils } from "./bll/utils/vscodeutils" ; import { TeamCityStatusBarItem } from "./view/teamcitystatusbaritem" ; import { WorkspaceProxy } from "./bll/moduleproxies/workspace-proxy" ; import { ShowMyChanges } from "./bll/commands/showmychanges" ; import { IResourceProvider } from "./view/dataproviders/interfaces/iresourceprovider" ; import { IBuildProvider } from "./view/dataproviders/interfaces/ibuildprovider" ; import { IProviderManager } from "./view/iprovidermanager" ; import { IChangesProvider } from "./view/dataproviders/interfaces/ichangesprovider" ; import { ChangesProvider } from "./view/dataproviders/changesprovider" ; import { WindowProxy } from "./bll/moduleproxies/window-proxy" ; import { RequestProxy } from "./bll/moduleproxies/request-proxy" ; import { MessageManager } from "./view/messagemanager" ; import { WebLinkListener } from "./dal/weblinklistener" ; import { HttpHostRequest } from "./bll/weblinklistener/httphostrequest" ; import { UriProxy } from "./bll/moduleproxies/uri-proxy" ; import { GitProviderActivator } from "./dal/git/GitProviderActivator" ; import { GitIsActiveValidator } from "./bll/cvsutils/gitisactivevalidator" ; import { ProcessProxy } from "./bll/moduleproxies/process-proxy" ; import { GitPathFinder } from "./bll/cvsutils/gitpathfinder" ; import { GitCommandArgumentsParser } from "./dal/git/GitCommandArgumentsParser" ; import { Context } from "./view/Context" ; import { ContextImpl } from "./view/ContextImpl" ; import { IBuildSettingsProvider } from "./view/dataproviders/interfaces/IBuildSettingsProvider" ; import { BuildSettingsProvider } from "./view/dataproviders/BuildSettingsProvider" ; import { CustomizeBuild } from "./bll/commands/CustomizeBuild" ; import { AddEditBuildParameter } from "./bll/commands/AddEditBuildParameter" ; import { RemoveBuildParameter } from "./bll/commands/RemoveBuildParameter" ; import { QueueAtTop } from "./bll/commands/QueueAtTop" ; import { OpenInBrowser } from "./bll/commands/OpenInBrowser" ; import { NewNotificationWatcher } from "./bll/notifications/NewNotificationWatcher" ; import { NotificationManager } from "./bll/notifications/NotificationManager" ; import { MyChangesWorker } from "./bll/mychanges/MyChangesWorker" ; import { Worker } from "./bll/mychanges/Worker" ; import { TfvcPathFinder } from "./bll/cvsutils/tfvcpathfinder" ; import { TfvcProviderActivator } from "./dal/tfs/TfvcProviderActivator" ; import { TfvcIsActiveValidator } from "./bll/cvsutils/tfvcisactivevalidator" ; export const myContainer = new Container ( ) ; myContainer . bind < Settings > ( TYPES . Settings ) . to ( SettingsImpl ) . inSingletonScope ( ) ; myContainer . bind < Output > ( TYPES . Output ) . to ( TeamCityOutput ) . inSingletonScope ( ) ; myContainer . bind < NotificationManager > ( TYPES . NotificationManager ) . to ( NotificationManager ) . inSingletonScope ( ) ; myContainer . bind < CredentialsStore > ( TYPES . CredentialsStore ) . to ( InMemoryCredentialsStore ) . inSingletonScope ( ) ; myContainer . bind < ExtensionManager > ( TYPES . ExtensionManager ) . to ( ExtensionManager ) . inSingletonScope ( ) ; myContainer . bind < CommandHolder > ( TYPES . CommandHolder ) . to ( CommandHolder ) . inSingletonScope ( ) ; myContainer . bind < NewNotificationWatcher > ( TYPES . NotificationWatcher ) . to ( NewNotificationWatcher ) . inSingletonScope ( ) ; myContainer . bind < RemoteLogin > ( TYPES . RemoteLogin ) . to ( RemoteLogin ) . inSingletonScope ( ) ; myContainer . bind < RemoteBuildServer > ( TYPES . RemoteBuildServer ) . to ( RemoteBuildServer ) . inSingletonScope ( ) ; myContainer . bind < WebLinks > ( TYPES . WebLinks ) . to ( WebLinks ) . inSingletonScope ( ) ; myContainer . bind < CustomPatchSender > ( TYPES . PatchSender ) . to ( CustomPatchSender ) . inSingletonScope ( ) ; myContainer . bind < SummaryDao > ( TYPES . SummaryDao ) . to ( SummaryDao ) . inSingletonScope ( ) ; myContainer . bind < BuildDao > ( TYPES . BuildDao ) . to ( BuildDao ) . inSingletonScope ( ) ; myContainer . bind < PatchManager > ( TYPES . PatchManager ) . to ( PatchManager ) . inSingletonScope ( ) ; myContainer . bind < XmlParser > ( TYPES . XmlParser ) . to ( XmlParser ) . inSingletonScope ( ) ; myContainer . bind < CvsProviderProxy > ( TYPES . CvsProviderProxy ) . to ( CvsProviderProxy ) . inSingletonScope ( ) ; myContainer . bind < SignIn > ( TYPES . SignIn ) . to ( SignIn ) . inSingletonScope ( ) ; myContainer . bind < SignOut > ( TYPES . SignOut ) . to ( SignOut ) . inSingletonScope ( ) ; myContainer . bind < SelectFilesForRemoteRun > ( TYPES . SelectFilesForRemoteRun ) . to ( SelectFilesForRemoteRun ) . inSingletonScope ( ) ; myContainer . bind < GetSuitableConfigs > ( TYPES . GetSuitableConfigs ) . to ( GetSuitableConfigs ) . inSingletonScope ( ) ; myContainer . bind < RemoteRun > ( TYPES . RemoteRun ) . to ( RemoteRun ) . inSingletonScope ( ) ; myContainer . bind < PersistentStorageManager > ( TYPES . PersistentStorageManager ) . to ( PersistentStorageManager ) . inSingletonScope ( ) ; myContainer . bind < WindowsCredentialStoreApi > ( TYPES . WindowsCredentialStoreApi ) . to ( WindowsCredentialStoreApi ) . inSingletonScope ( ) ; myContainer . bind < LinuxFileApi > ( TYPES . LinuxFileApi ) . to ( LinuxFileApi ) . inSingletonScope ( ) ; myContainer . bind < WinPersistentCredentialsStore > ( TYPES . WinPersistentCredentialsStore ) . to ( WinPersistentCredentialsStore ) . inSingletonScope ( ) ; myContainer . bind < OsProxy > ( TYPES . OsProxy ) . to ( OsProxy ) . inSingletonScope ( ) ; myContainer . bind < FsProxy > ( TYPES . FsProxy ) . to ( FsProxy ) . inSingletonScope ( ) ; myContainer . bind < PathProxy > ( TYPES . PathProxy ) . to ( PathProxy ) . inSingletonScope ( ) ; myContainer . bind < CpProxy > ( TYPES . CpProxy ) . to ( CpProxy ) . inSingletonScope ( ) ; myContainer . bind < ProcessProxy > ( TYPES . ProcessProxy ) . to ( ProcessProxy ) . inSingletonScope ( ) ; myContainer . bind < IProviderManager > ( TYPES . ProviderManager ) . to ( ProviderManager ) . inSingletonScope ( ) ; myContainer . bind < IResourceProvider > ( TYPES . ResourceProvider ) . to ( ResourceProvider ) . inSingletonScope ( ) ; myContainer . bind < IBuildProvider > ( TYPES . BuildProvider ) . to ( BuildProvider ) . inSingletonScope ( ) ; myContainer . bind < OsxKeychainApi > ( TYPES . OsxKeychainApi ) . to ( OsxKeychainApi ) . inSingletonScope ( ) ; myContainer . bind < OsxKeychain > ( TYPES . OsxKeychain ) . to ( OsxKeychain ) . inSingletonScope ( ) ; myContainer . bind < FileTokenStorage > ( TYPES . FileTokenStorage ) . to ( FileTokenStorage ) . inSingletonScope ( ) ; myContainer . bind < WinCredStoreParsingStreamWrapper > ( TYPES . WinCredStoreParsingStreamWrapper ) . to ( WinCredStoreParsingStreamWrapper ) . inSingletonScope ( ) ; myContainer . bind < OsxSecurityParsingStreamWrapper > ( TYPES . OsxSecurityParsingStreamWrapper ) . to ( OsxSecurityParsingStreamWrapper ) . inSingletonScope ( ) ; myContainer . bind < IVsCodeUtils > ( TYPES . VsCodeUtils ) . to ( VsCodeUtils ) . inSingletonScope ( ) ; myContainer . bind < TeamCityStatusBarItem > ( TYPES . TeamCityStatusBarItem ) . to ( TeamCityStatusBarItem ) . inSingletonScope ( ) ; myContainer . bind < WorkspaceProxy > ( TYPES . WorkspaceProxy ) . to ( WorkspaceProxy ) . inSingletonScope ( ) ; myContainer . bind < Command > ( TYPES . ShowMyChangesCommand ) . to ( ShowMyChanges ) . inSingletonScope ( ) ; myContainer . bind < IChangesProvider > ( TYPES . ChangesProvider ) . to ( ChangesProvider ) . inSingletonScope ( ) ; myContainer . bind < WindowProxy > ( TYPES . WindowProxy ) . to ( WindowProxy ) . inSingletonScope ( ) ; myContainer . bind < RequestProxy > ( TYPES . RequestProxy ) . to ( RequestProxy ) . inSingletonScope ( ) ; myContainer . bind < MessageManager > ( TYPES . MessageManager ) . to ( MessageManager ) . inSingletonScope ( ) ; myContainer . bind < WebLinkListener > ( TYPES . WebLinkListener ) . to ( WebLinkListener ) . inSingletonScope ( ) ; myContainer . bind < HttpHostRequest > ( TYPES . HttpHostRequest ) . to ( HttpHostRequest ) . inSingletonScope ( ) ; myContainer . bind < UriProxy > ( TYPES . UriProxy ) . to ( UriProxy ) . inSingletonScope ( ) ; myContainer . bind < GitProviderActivator > ( TYPES . GitProviderActivator ) . to ( GitProviderActivator ) . inSingletonScope ( ) ; myContainer . bind < GitIsActiveValidator > ( TYPES . GitIsActiveValidator ) . to ( GitIsActiveValidator ) . inSingletonScope ( ) ; myContainer . bind < GitPathFinder > ( TYPES . GitPathFinder ) . to ( GitPathFinder ) . inSingletonScope ( ) ; myContainer . bind < GitCommandArgumentsParser > ( TYPES . GitCommandArgumentsParser ) . to ( GitCommandArgumentsParser ) . inSingletonScope ( ) ; myContainer . bind < Context > ( TYPES . Context ) . to ( ContextImpl ) . inSingletonScope ( ) ; myContainer . bind < IBuildSettingsProvider > ( TYPES . BuildSettingsProvider ) . to ( BuildSettingsProvider ) . inSingletonScope ( ) ; myContainer . bind < CustomizeBuild > ( TYPES . CustomizeBuild ) . to ( CustomizeBuild ) . inSingletonScope ( ) ; myContainer . bind < AddEditBuildParameter > ( TYPES . AddEditBuildParameter ) . to ( AddEditBuildParameter ) . inSingletonScope ( ) ; myContainer . bind < RemoveBuildParameter > ( TYPES . RemoveBuildParameter ) . to ( RemoveBuildParameter ) . inSingletonScope ( ) ; myContainer . bind < QueueAtTop > ( TYPES . QueueAtTop ) . to ( QueueAtTop ) . inSingletonScope ( ) ; myContainer . bind < OpenInBrowser > ( TYPES . OpenInBrowser ) . to ( OpenInBrowser ) . inSingletonScope ( ) ; myContainer . bind < Worker > ( TYPES . MyChangesWorker ) . to ( MyChangesWorker ) . inSingletonScope ( ) ; myContainer . bind < TfvcPathFinder > ( TYPES . TfvcPathFinder ) . to ( TfvcPathFinder ) . inSingletonScope ( ) ; myContainer . bind < TfvcIsActiveValidator > ( TYPES . TfvcIsActiveValidator ) . to ( TfvcIsActiveValidator ) . inSingletonScope ( ) ; myContainer . bind < TfvcProviderActivator > ( TYPES . TfvcProviderActivator ) . to ( TfvcProviderActivator ) . inSingletonScope ( ) ;