Esempio n. 1
0
        private void ResolveVersionsUsingHierarchicalRules(JavaPlatformDetectorResult detectorResult)
        {
            var javaVersion = ResolveJavaVersion(detectorResult.PlatformVersion);

            javaVersion = GetMaxSatisfyingJavaVersionAndVerify(javaVersion);

            var mavenVersion = ResolveMavenVersion(detectorResult.MavenVersion);

            mavenVersion = GetMaxSatisfyingMavenVersionAndVerify(mavenVersion);

            detectorResult.PlatformVersion = javaVersion;
            detectorResult.MavenVersion    = mavenVersion;

            string ResolveJavaVersion(string detectedVersion)
            {
                // Explicitly specified version by user wins over detected version
                if (!string.IsNullOrEmpty(_javaScriptGeneratorOptions.JavaVersion))
                {
                    return(_javaScriptGeneratorOptions.JavaVersion);
                }

                // If a version was detected, then use it.
                if (detectedVersion != null)
                {
                    return(detectedVersion);
                }

                // Fallback to default version
                var versionInfo = _javaVersionProvider.GetVersionInfo();

                return(versionInfo.DefaultVersion);
            }

            string ResolveMavenVersion(string detectedVersion)
            {
                // Explicitly specified version by user wins over detected version
                if (!string.IsNullOrEmpty(_javaScriptGeneratorOptions.MavenVersion))
                {
                    return(_javaScriptGeneratorOptions.MavenVersion);
                }

                // If a version was detected, then use it.
                if (detectedVersion != null)
                {
                    return(detectedVersion);
                }

                // Fallback to default version
                return(JavaConstants.MavenVersion);
            }
        }
Esempio n. 2
0
        private static PlatformDetectorResult GetPlatformDetectorResult(string name, string version)
        {
            var result = new PlatformDetectorResult();

            switch (name)
            {
            case DotNetCoreConstants.PlatformName:
                result = new DotNetCorePlatformDetectorResult();
                break;

            case NodeConstants.PlatformName:
                result = new NodePlatformDetectorResult();
                break;

            case PythonConstants.PlatformName:
                result = new PythonPlatformDetectorResult();
                break;

            case HugoConstants.PlatformName:
                result = new PlatformDetectorResult();
                break;

            case PhpConstants.PlatformName:
                result = new PhpPlatformDetectorResult();
                break;

            case JavaConstants.PlatformName:
                result = new JavaPlatformDetectorResult();
                break;

            case RubyConstants.PlatformName:
                result = new RubyPlatformDetectorResult();
                break;
            }

            result.Platform        = name;
            result.PlatformVersion = version;

            return(result);
        }