public GetPackageVersionResult parseVersion()

in sonar-plugin-server/src/main/java/jetbrains/buildserver/sonarplugin/sqrunner/tool/SimpleZipToolProviderSQScanner.java [91:105]


    public GetPackageVersionResult parseVersion(@NotNull final Path toolPackage, final String version) throws Exception {
        try (final FileSystem fs = FileSystems.newFileSystem(toolPackage, (ClassLoader)null)) {
            final Path sonarScannerMain = fs.getPath(SCANNER_MAIN_CLASS_LOCATION);
            if (Files.exists(sonarScannerMain)) {
                return GetPackageVersionResult.version(new SonarQubeToolVersion(getToolType(), version, getToolType().getType() + "." + version + "-" + SONAR_QUBE_SCANNER_TYPE));
            } else {
                final Path sonarRunnerMain = fs.getPath(RUNNER_MAIN_CLASS_LOCATION);
                if (Files.exists(sonarRunnerMain)) {
                    return GetPackageVersionResult.version(new SonarQubeToolVersion(getToolType(), version, getToolType().getType() + "." + version + "-" + SONAR_QUBE_RUNNER_TYPE));
                } else {
                    return GetPackageVersionResult.error("Doesn't seem like SonarQube Scanner or SonarQube Runner: cannot find main class neither in 'org.sonarsource.scanner.cli' package neither in 'org.sonar.runner' packege");
                }
            }
        }
    }