Ejemplo n.º 1
0
        private void OkButton_OnClick(object sender, RoutedEventArgs e)
        {
            string expectedDir;

            if (!Gradle.HasLocalRepositories(PathTextBox.Text, out expectedDir))
            {
                ErrorTextBlock.Text       = string.Format("Error: {0} was not found!", expectedDir);
                ErrorTextBlock.Visibility = Visibility.Visible;
                return;
            }
            OkButton.IsEnabled = false;
            DialogResult       = true;
        }
Ejemplo n.º 2
0
        static void LogGradleVersionByParsingFileName()
        {
            if (!Gradle.TryGetFullPathToGradleLauncher(out var fullPathToGradleLauncher, out var diagnosticMessage))
            {
                Debug.LogError($"{k_LogPrefix} {diagnosticMessage}");
                return;
            }

            Debug.Log($"{k_LogPrefix} Path to gradle launcher: {fullPathToGradleLauncher}");

            if (Gradle.TryParseVersion(Path.GetFileNameWithoutExtension(fullPathToGradleLauncher), out var gradleVersion, out diagnosticMessage))
            {
                Debug.Log($"{k_LogPrefix} Detected gradle version: {gradleVersion}");
            }
Ejemplo n.º 3
0
        private static async void MainAsync()
        {
            var androidSdk = SystemPaths.GetAndroidSdkPath();

            string repositoriesDir;

            if (!Gradle.HasLocalRepositories(androidSdk, out repositoriesDir))
            {
                throw new Exception("Android SDK path is invalid or repositories are not installed via Android SDK Manager.");
            }

            //Let's test: resolve all recommended dependencies!

            var deps   = await new RecommendedDpendenciesService().GetAsync();
            var failed = deps.Where(dep => !ResolveAndPrintDependencies(dep.DependencyId, androidSdk)).ToList();

            System.Console.WriteLine("Done. Failed: {0}\n{1}", failed.Count, string.Join("\n", failed.Select(f => f.DependencyId)));
        }
        public async Task <string> AskAsync()
        {
            //try guess it
            var userDir = Environment.GetEnvironmentVariable("USERPROFILE");

            if (!string.IsNullOrEmpty(userDir))
            {
                var    androidSdkHome = Path.Combine(userDir, @"AppData\Local\Android\sdk");
                string expectedDir;
                if (Gradle.HasLocalRepositories(androidSdkHome, out expectedDir))
                {
                    PathTextBox.Text = expectedDir;
                }
            }

            if (ShowModal() == true)
            {
                return(PathTextBox.Text);
            }
            return(null);
        }
        private void DependencyIdTextBox_OnTextChanged(object sender, TextChangedEventArgs e)
        {
            //let's try to help user and generate a name for the assembly from Dependency String
            //com.afollestad:material-dialogs:0.7.6.0 --> Binding_MaterialDialogs

            var readableName = Gradle.GetReadableDependencyName(DependencyIdTextBox.Text);

            if (!string.IsNullOrEmpty(readableName))
            {
                ProjectNameTextBox.Text = BindingProjectDefaultPrefix + readableName;
            }

            UpdateSubmitVisibility();

            if (_allSuggestions != null)
            {
                var query       = DependencyIdTextBox.Text.ToLower();
                var suggestions = _allSuggestions.Where(s =>
                                                        s.DependencyId.ToLower().Contains(query) ||
                                                        s.Name.ToLower().Contains(query)).ToList();
                SuggestionsBox.ItemsSource   = suggestions;
                SuggestionsBox.SelectedIndex = -1;
                SuggestionsBox.Visibility    = suggestions.Any() ? Visibility.Visible : Visibility.Collapsed;
            }
            else
            {
                SuggestionsBox.Visibility = Visibility.Collapsed;
            }

            if (!string.IsNullOrEmpty(DependencyIdTextBox.Text))
            {
                DependencyIdTextBox.Background = Gradle.ValidDependencyIdString(DependencyIdTextBox.Text)
                    ? ValidIdBrush
                    : InvalidIdBrush;
            }
            else
            {
                DependencyIdTextBox.Background = NeutralIdBrush;
            }
        }
Ejemplo n.º 6
0
        public static bool ResolveAndPrintDependencies(string dependencyId, string androidSdk)
        {
            try
            {
                System.Console.WriteLine("\nResolving '{0}'...", dependencyId);
                string workingDir;
                var    result = Gradle.ExtractDependencies(dependencyId, androidSdk, out workingDir)
                                .OrderBy(f => f.IsTransitive)
                                .ToList();

                foreach (var file in result.OrderBy(f => f.IsTransitive))
                {
                    System.Console.WriteLine("{1}{0}", Path.GetFileName(file.File), file.IsTransitive ? "\t" : "");
                }

                return(true);
            }
            catch (Exception)
            {
                System.Console.WriteLine("FAILED!");
                return(false);
            }
        }
Ejemplo n.º 7
0
 static bool TryParse(Version testVersion, out Version parsedVersion, out string diagnosticMessage) =>
 Gradle.TryParseVersion(GetGradleLauncherForVersion(testVersion), out parsedVersion, out diagnosticMessage);