public static List <JyCRMDBContext> CreateAllJyDBContext(string connectionList, DBType dbType = DBType.MySql) { if (string.IsNullOrWhiteSpace(connectionList)) { return(null); } string[] connectionString = connectionList.Split(','); HashSet <string> connSet = new HashSet <string>(); List <JyCRMDBContext> rlist = new List <JyCRMDBContext>(); for (int i = 0, j = connectionString.Length; i < j; i++) { var connStr = connectionString[i]; if (connSet.Contains(connStr)) { continue; } connSet.Add(connStr); var option = BuildConnection.CreateDbContextOptions <JyCRMDBContext>(connStr, dbType); if (option != null) { rlist.Add(new JyCRMDBContext(option)); } } return(rlist); }
public void Cancel() { if (!string.IsNullOrEmpty(SessionId)) { BuildConnection.CancelAsync(SessionId, BuildEngine4).Wait(); } }
public static JyCRMDBContext CreateJyDBContextFromId(string id, string connectionKeyList, string connectionList, string defaultConnStr, DBType dbType = DBType.MySql) { var connectionString = string.IsNullOrWhiteSpace(id)? defaultConnStr : ConnectionHelper.getConnectionFromId(id, ",", connectionKeyList, connectionList); DbContextOptions <JyCRMDBContext> options = BuildConnection.CreateDbContextOptions <JyCRMDBContext>(connectionString, dbType); return(new JyCRMDBContext(options)); }
public void Cancel() { if (ShouldExecuteRemotely()) { BuildConnection.CancelAsync(SessionId, BuildEngine4).Wait(); } }
public override bool Execute() { var result = base.Execute(); if (!this.ShouldExecuteRemotely(SessionId)) { return(result); } var client = BuildConnection .GetAsync(SessionId, BuildEngine4) .Result .Client; if (!client.IsConnected) { return(result); } foreach (var directory in Directories) { client.DeleteDirectoryAsync(directory.ItemSpec).Wait(); } if (RemoveAppDir) { client.DeleteAppDirectoryAsync().Wait(); } return(result); }
async Task <bool> RunSudoCommandAsync() { try { var client = BuildConnection .GetAsync(SessionId, BuildEngine4) .Result .Client; var sshCommands = client .MessagingService .Ssh .Commands; var commandOutput = await sshCommands .RunSudoCommandAsync(Command, ServerPassword.ToSecureString()) .ConfigureAwait(continueOnCapturedContext: false); await commandOutput.Do(output => { if (ConsoleToMSBuild && !string.IsNullOrEmpty(output)) { Log.LogMessage(output); } }); return(true); } catch (Exception ex) { Log.LogErrorFromException(ex, showStackTrace: true, showDetail: true, file: null); return(false); } }
public override bool Execute() { var result = base.Execute(); if (!this.ShouldExecuteRemotely(SessionId)) { return(result); } var client = BuildConnection .GetAsync(SessionId, BuildEngine4) .Result .Client; if (!client.IsConnected) { return(result); } foreach (var file in Files) { client.DeleteFileAsync(file.ItemSpec).Wait(); } return(result); }
async System.Threading.Tasks.Task <IBuildClient> GetBuildClientAsync() { var connection = await BuildConnection .GetAsync(SessionId, BuildEngine4) .ConfigureAwait(continueOnCapturedContext: false); return(connection.Client); }
public override void Cancel() { if (!string.IsNullOrEmpty(SessionId)) { BuildConnection.CancelAsync(SessionId, BuildEngine4).Wait(); } base.Execute(); }
public override void Cancel() { if (this.ShouldExecuteRemotely(SessionId)) { BuildConnection.CancelAsync(SessionId, BuildEngine4).Wait(); } base.Cancel(); }
public void RefreshConnections() { var connections = _configuration.Connections.Where(c => c.ConnectionType == ConnectionPluginType.SourceControl); SourceControlConnection.SetAvailableConnections(connections); connections = _configuration.Connections.Where(c => c.ConnectionType == ConnectionPluginType.Build); BuildConnection.SetAvailableConnections(connections); }
public PositionRepository(string positionStreamName, string positionEventType, BuildConnection buildConnection, ILogger logger, int interval = 1000) { _positionStreamName = positionStreamName; _buildConnection = buildConnection; _interval = interval; PositionEventType = positionEventType; if (interval <= 0) { return; } _timer = new Timer(interval); _timer.Elapsed += _timer_Elapsed; _timer.Enabled = true; _log = logger; }
public static AuthAdminSolrServer <T> CreateSolrServer(string connectionString, string coreIndex, IndexType indexType = IndexType.Solr) { var connection = BuildConnection.CreateSolrConnection(connectionString + coreIndex, indexType); var docSerializer = new SolrDocumentSerializer <T>(new AttributesMappingManager(), new DefaultFieldSerializer()); var headerResponseParser = new HeaderResponseParser <T>(); var solrFieldSerializer = new DefaultFieldSerializer(); var mapper = new AttributesMappingManager(); var dparser = new SolrDocumentResponseParser <T>(mapper, new DefaultDocumentVisitor(mapper, new DefaultFieldParser()), new SolrDocumentActivator <T>()); var parser = new DefaultResponseParser <T>(dparser); var querySerializer = new DefaultQuerySerializer(solrFieldSerializer); var facetQuerySerializer = new DefaultFacetQuerySerializer(querySerializer, new DefaultFieldSerializer()); var executer = new SolrQueryExecuter <T>(parser, connection, querySerializer, facetQuerySerializer, null); var basesolr = new SolrBasicServer <T>(connection, executer, docSerializer, null, headerResponseParser, null, null, null); return(new AuthAdminSolrServer <T>(basesolr, null, null)); }
public static JyCRMDBReadContext CreateJyCRMDBReadContextFromId(string id, string connectionKeyList, string connectionList, string defaultConnStr, DBType dbType = DBType.MySql) { var connectionString = string.IsNullOrWhiteSpace(id) ? defaultConnStr : ConnectionHelper.getConnectionFromId(id, ",", connectionKeyList, connectionList); if (connectionString.IndexOf("^") > 0) { int slavecount = SubstringCount(connectionString, "^"); StringBuilder slaveKeyList = new StringBuilder(); for (int i = 1; i <= slavecount; i++) { slaveKeyList.Append(i.ToString()).Append("^"); } slaveKeyList.Remove(slaveKeyList.Length - 1, 1); connectionString = ConnectionHelper.getConnectionFromId(id, "^", slaveKeyList.ToString(), connectionString); } DbContextOptions <JyCRMDBReadContext> options = BuildConnection.CreateDbContextOptions <JyCRMDBReadContext>(connectionString, dbType); return(new JyCRMDBReadContext(options)); }
async Threading.Task <bool> ExecuteAsync() { try { var connection = await BuildConnection.GetAsync(SessionId, BuildEngine4).ConfigureAwait(continueOnCapturedContext: false); var buildClient = connection.Client as BuildClient; if (!connection.IsConnected || buildClient == null) { Log.LogWarning(MSBStrings.E0179, nameof(VerifyXcodeVersion)); return(true); } var xcodeVerificationResult = await buildClient .RunMessagingAsync <VerifyXcodeVersionMessage, VerifyXcodeVersionResult> (new VerifyXcodeVersionMessage()) .ConfigureAwait(continueOnCapturedContext: false); if (!xcodeVerificationResult.IsCompatibleVersion) { if (string.IsNullOrEmpty(xcodeVerificationResult.XcodeVersion) || string.IsNullOrEmpty(xcodeVerificationResult.RecommendedXcodeVersion)) { Log.LogWarning(MSBStrings.E0183); } else { Log.LogWarning(MSBStrings.E0184, xcodeVerificationResult.XcodeVersion, xcodeVerificationResult.RecommendedXcodeVersion); } } return(true); } catch (Exception ex) { Log.LogWarning(MSBStrings.E0185, ex.Message); return(true); } }
public void Cancel() => BuildConnection.CancelAsync(SessionId, BuildEngine4).Wait();
public override bool Execute() { try { LogTaskProperty("ImageAssets", ImageAssets); LogTaskProperty("ProjectDir", ProjectDir); LogTaskProperty("SessionId", SessionId); var connection = BuildConnection.GetAsync(SessionId, BuildEngine4).Result; var buildClient = connection.Client as BuildClient; if (!connection.IsConnected || buildClient == null) { Log.LogWarning(MSBStrings.E0179, nameof(ResolveUniversalTypeIdentifiers)); return(true); } var contentFiles = ImageAssets .Where(asset => Path.GetFileName(asset.ItemSpec) == "Contents.json" && Path.GetDirectoryName(asset.ItemSpec).EndsWith(".dataset")) .Select(x => x.ItemSpec); foreach (var filePath in contentFiles) { string content; DataSet dataset = null; if (File.Exists(filePath)) { content = File.ReadAllText(filePath); dataset = JsonConvert.DeserializeObject <DataSet> (content); } if (dataset == null) { Log.LogError(MSBStrings.E0180, Path.GetDirectoryName(filePath)); continue; } var dataItemsToComplete = dataset .DataItems .Where(item => string.IsNullOrEmpty(item.UniversalTypeIdentifier) && !string.IsNullOrEmpty(item.Filename)).ToList(); foreach (var data in dataItemsToComplete) { var file = ImageAssets.FirstOrDefault(x => Path.GetFileName(x.ItemSpec) == data.Filename); if (file == null) { Log.LogWarning(MSBStrings.E0181, data.Filename); continue; } var message = new GetUniversalTypeIdentifierMessage { Payload = File.ReadAllBytes(file.ItemSpec), FileName = Path.GetFileName(data.Filename) }; var response = buildClient .RunMessagingAsync <GetUniversalTypeIdentifierMessage, GetUniversalTypeIdentifierResult> (message, timeoutSecs: 10) .Result; if (string.IsNullOrEmpty(response.UniversalTypeIdentifier)) { Log.LogError(string.Format(MSBStrings.E0182, data.Filename, Path.GetDirectoryName(filePath))); } data.UniversalTypeIdentifier = response.UniversalTypeIdentifier; } if (dataItemsToComplete.Any()) { content = JsonConvert.SerializeObject(dataset, Formatting.Indented); File.WriteAllText(filePath, content); } } return(!Log.HasLoggedErrors); } catch (Exception ex) { Log.LogErrorFromException(ex); return(false); } }
public static TransactedConnection CreateJyDBContext(string connectionString, DBType dbType = DBType.MySql) { var conn = BuildConnection.GetConnection(connectionString, dbType); return(new TransactedConnection(conn, conn.BeginTransaction())); }
public PositionRepository(string positionStreamName, string positionEventType, BuildConnection buildConnection, int interval = 1000) : this(positionStreamName, positionEventType, buildConnection, new SimpleConsoleLogger(nameof(PositionRepository)), interval) { }
public static JyCRMDBContext CreateJyDBContext(string connectionString, DBType dbType = DBType.MySql) { DbContextOptions <JyCRMDBContext> options = BuildConnection.CreateDbContextOptions <JyCRMDBContext>(connectionString, dbType); return(new JyCRMDBContext(options)); }
public static void ConnectionBuilder(BuildConnection builder) { Guard.AgainstNull(nameof(builder), builder); connectionBuilder = builder; }
public static void ConnectionBuilder(BuildConnection builder) { connectionBuilder = builder; }