public override bool Execute()
        {
            if (!base.Execute())
            {
                return(false);
            }

            var gradleLogger = new ToolLogger(Log);

            // make sure we have GRADLE available
            GradleToolPath = ToolBase.LocateToolPath(
                tool: Utilities.IsWindows ? "gradle.bat" : "gradle",
                logger: gradleLogger,
                specifiedToolPath: GradleToolPath,
                versionLine: 1);
            if (string.IsNullOrEmpty(GradleToolPath))
            {
                return(false);
            }

            if (IsCancellationRequested)
            {
                Log.LogError("Task was canceled.");
                return(false);
            }

            Gradle = new GradleTool(GradleToolPath, gradleLogger, GetCancellationToken());

            var deps = Dependencies.Select(item => new GradleDependency
            {
                ArtifactId = item.ItemSpec,
                GroupId    = item.GetMetadata("GroupId"),
                Version    = item.GetMetadata("Version"),
                Type       = Utilities.ParseEnum <GradleDependencyTypes>(item.GetMetadata("Type") ?? "MavenCentral"),
                Repository = Utilities.ParseEnum <GradleRepositories>(item.GetMetadata("Repository") ?? "Default"),
            });

            var buildGradleRoot = IntermediateOutputPath;

            List <GradleLibrary> libraries = new List <GradleLibrary>();

            if (!Gradle.RestoreDependencies(buildGradleRoot, deps, libraries))
            {
                return(false);
            }

            return(false);
        }
        public void InitTest()
        {
            logger = new TestLogger();

            toolPath = ToolBase.LocateToolPath(
                tool: Utilities.IsWindows ? "gradle.bat" : "gradle",
                logger: logger,
                versionLine: 1);

            tool = new GradleTool(toolPath, logger);

            intermediateDirectory = Path.Combine(Path.GetTempPath(), "Xamarin.NativeBuild.Tasks.Tests", "GradleTest", Path.GetRandomFileName());
            if (!Directory.Exists(intermediateDirectory))
            {
                Directory.CreateDirectory(intermediateDirectory);
            }

            buildGradlePath = Path.Combine(intermediateDirectory, "build.gradle");
        }