private boolean match()

in nuget-feed/src/jetbrains/buildServer/nuget/feed/server/index/NuGetFeed.java [206:231]


  private boolean match(final NuGetIndexEntry indexEntry,
                        final SemanticVersion requestedVersion,
                        final boolean includePreRelease,
                        final Set<String> targetFrameworks,
                        final VersionConstraint versionConstraint) {
    final Map<String, String> indexEntryAttributes = indexEntry.getAttributes();
    if (!includePreRelease && Boolean.parseBoolean(indexEntryAttributes.get(IS_PRERELEASE))) {
      return false;
    }

    if (myServerSettings.isFilteringByTargetFrameworkEnabled()) {
      final String frameworkConstraints = indexEntryAttributes.get(TEAMCITY_FRAMEWORK_CONSTRAINTS);
      final Set<String> packageFrameworkConstraints = FrameworkConstraints.convertFromString(frameworkConstraints);
      if (!targetFrameworks.isEmpty() && !VersionUtility.isPackageCompatibleWithFrameworks(targetFrameworks, packageFrameworkConstraints)) {
        return false;
      }
    }

    final PackageVersion version = indexEntry.getVersion();
    if (!(version instanceof SemanticVersion)) {
      return false;
    }

    final SemanticVersion semanticVersion = (SemanticVersion) version;
    return (versionConstraint == null || versionConstraint.satisfies(semanticVersion)) && requestedVersion.compareTo(version) < 0;
  }