Example #1
0
        /// <inheritdoc/>
        public PlatformDetectorResult Detect(DetectorContext context)
        {
            var sourceRepo = context.SourceRepo;
            var hasJavaRelatedFileExtensions = false;

            foreach (var fileExtensionName in JavaConstants.JavaFileExtensionNames)
            {
                var files = sourceRepo.EnumerateFiles($"*.{fileExtensionName}", searchSubDirectories: true);
                if (files.Any())
                {
                    _logger.LogDebug($"Found files with extension '{fileExtensionName}' in the repo");
                    hasJavaRelatedFileExtensions = true;
                    break;
                }
            }

            if (!hasJavaRelatedFileExtensions)
            {
                _logger.LogDebug(
                    $"Could not find any files with the following extensions in the repo: " +
                    $"{string.Join(", ", JavaConstants.JavaFileExtensionNames)}");
                return(null);
            }

            var result = new JavaPlatformDetectorResult();

            result.Platform = JavaConstants.PlatformName;
            if (sourceRepo.FileExists(MavenConstants.PomXmlFileName))
            {
                result.UsesMaven = true;
            }

            if (sourceRepo.FileExists(MavenConstants.MavenWrapperShellFileName) ||
                sourceRepo.FileExists(MavenConstants.MavenWrapperCmdFileName))
            {
                result.UsesMavenWrapperTool = true;
            }

            return(result);
        }
Example #2
0
        /// <inheritdoc/>
        public PlatformDetectorResult Detect(DetectorContext context)
        {
            var sourceRepo = context.SourceRepo;
            var hasJavaRelatedFileExtensions = false;

            foreach (var fileExtensionName in JavaConstants.JavaFileExtensionNames)
            {
                var files = sourceRepo.EnumerateFiles($"*.{fileExtensionName}", searchSubDirectories: true);
                if (files.Any())
                {
                    hasJavaRelatedFileExtensions = true;
                    break;
                }
            }

            if (!hasJavaRelatedFileExtensions)
            {
                return(null);
            }

            var result = new JavaPlatformDetectorResult();

            result.Platform = JavaConstants.PlatformName;
            if (sourceRepo.FileExists(MavenConstants.PomXmlFileName))
            {
                result.UsesMaven = true;
            }

            if (sourceRepo.FileExists(MavenConstants.MavenWrapperShellFileName) ||
                sourceRepo.FileExists(MavenConstants.MavenWrapperCmdFileName))
            {
                result.UsesMavenWrapperTool = true;
            }

            return(result);
        }