示例#1
0
        private static void ConfigGradle(UrlTemplate urlTemplate)
        {
            // Configure gradle
            if (Msdos.IsInstalled("gradle"))
            {
                var gradlePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));

                if (urlTemplate.ClearData)
                {
                    logger.Info("Clearing proxy for gradle");
                    StringBuilder sb = new StringBuilder();
                    File.WriteAllText(Path.Combine(gradlePath, ".gradle.properties"), sb.ToString());
                }
                else
                {
                    logger.Info("Setting proxy for gradle");

                    StringBuilder sb = new StringBuilder();
                    sb.AppendLine($"systemProp.http.proxyHost=={urlTemplate.GetHost()}");
                    sb.AppendLine($"systemProp.http.proxyPort={urlTemplate.GetPort()}");
                    sb.AppendLine($"systemProp.http.nonProxyHosts={urlTemplate.GetProxyExceptions()}");
                    sb.AppendLine($"systemProp.https.proxyHost=={urlTemplate.GetHost()}");
                    sb.AppendLine($"systemProp.https.proxyPort={urlTemplate.GetPort()}");
                    sb.AppendLine($"systemProp.https.nonProxyHosts={urlTemplate.GetProxyExceptions()}");

                    File.WriteAllText(Path.Combine(gradlePath, ".gradle.properties"), sb.ToString());
                }
            }
        }
示例#2
0
        private static string RenderConfigFileGradle(UrlTemplate urlTemplate)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"systemProp.http.proxyHost=={urlTemplate.GetHost()}");
            sb.AppendLine($"systemProp.http.proxyPort={urlTemplate.GetPort()}");
            sb.AppendLine($"systemProp.http.nonProxyHosts={urlTemplate.GetProxyExceptions()}");
            sb.AppendLine($"systemProp.https.proxyHost=={urlTemplate.GetHost()}");
            sb.AppendLine($"systemProp.https.proxyPort={urlTemplate.GetPort()}");
            sb.AppendLine($"systemProp.https.nonProxyHosts={urlTemplate.GetProxyExceptions()}");
            return(sb.ToString());
        }
示例#3
0
        private static void ConfigAndroidSdk(UrlTemplate urlTemplate)
        {
            // Configure android sdk
            var androidSdkPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".android");

            if (Directory.Exists(androidSdkPath))
            {
                if (urlTemplate.ClearData)
                {
                    logger.Info("Clearing proxy for Android SDK");
                    if (File.Exists(Path.Combine(androidSdkPath, "androidtool.cfg")))
                    {
                        File.Delete(Path.Combine(androidSdkPath, "androidtool.cfg"));
                    }
                }
                else
                {
                    logger.Info("Setting proxy for Android SDK");

                    StringBuilder sb = new StringBuilder();
                    sb.AppendLine($"http.proxyHost={urlTemplate.GetHost()}");
                    sb.AppendLine($"http.proxyPort={urlTemplate.GetPort()}");

                    File.WriteAllText(Path.Combine(androidSdkPath, "androidtool.cfg"), sb.ToString());
                }
            }
        }
示例#4
0
        private static void ConfigWindowsCredential(UrlTemplate urlTemplate)
        {
            if (urlTemplate.ClearData)
            {
                if (!string.IsNullOrEmpty(urlTemplate.GetHost()))
                {
                    logger.Info("Clearing proxy windows credentials");
                    using (var credentials = new Credential())
                    {
                        logger.Info("Clearing Windows and Generic credentials");
                        credentials.Target = urlTemplate.GetProxy(true);
                        credentials.Delete();
                    }
                }
            }
            else
            {
                if (urlTemplate.MustBeAuthenticated)
                {
                    // Configure Windows and Generic credentials
                    using (var credentials = new Credential())
                    {
                        logger.Info("Setting Windows and Generic credentials");
                        credentials.Password        = urlTemplate.GetProxyPassword();
                        credentials.Target          = urlTemplate.GetProxy(true);
                        credentials.Username        = urlTemplate.GetProxyUsername(true);
                        credentials.PersistanceType = PersistanceType.LocalComputer;
                        credentials.Type            = CredentialType.Generic;
                        credentials.Save();

                        credentials.Type = CredentialType.DomainPassword;
                        credentials.Save();
                    }
                }
            }
        }