From 1e806d766c30d436831c7badb55623b374d2a870 Mon Sep 17 00:00:00 2001 From: Christos Malliaridis Date: Sat, 11 Jan 2025 13:59:44 +0100 Subject: [PATCH] Replace references to versions.props, versions.lock and writeLocks --- .gitattributes | 3 ++- .github/labeler.yml | 9 +++++---- .github/workflows/bin-solr-test.yml | 2 +- .github/workflows/docker-test.yml | 2 +- .github/workflows/gradle-precommit.yml | 2 +- .github/workflows/solrj-test.yml | 2 +- dev-docs/lucene-upgrade.md | 4 ++-- dev-tools/scripts/README.md | 2 +- dev-tools/scripts/addVersion.py | 4 ++-- dev-tools/scripts/scriptutil.py | 13 ++++++++----- dev-tools/scripts/smokeTestRelease.py | 5 +++-- gradle/validation/error-prone.gradle | 2 +- help/dependencies.txt | 2 +- 13 files changed, 29 insertions(+), 23 deletions(-) diff --git a/.gitattributes b/.gitattributes index c7c7b25d269..4ddab1fe0ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,6 @@ -# Ignore all differences in line endings for the lock file. +# Ignore all differences in line endings for lock files. versions.lock text eol=lf +**/*.lockfile text eol=lf # Gradle files are always in LF. *.gradle text eol=lf diff --git a/.github/labeler.yml b/.github/labeler.yml index a3b7d5fe64c..c12fde05c72 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -2,10 +2,11 @@ dependencies: - changed-files: - any-glob-to-any-file: - - gradle/libs.versions.toml # Solr 10+ - - versions.props # Solr < v10 - - versions.lock - - solr/licenses/** + - "gradle/libs.versions.toml" # Solr 10+ + - "**/*.lockfile" + - "versions.props" # Solr < v10 + - "versions.lock" + - "solr/licenses/**" # Add 'documentation' label to any changes within ref-guide or dev-docs documentation: diff --git a/.github/workflows/bin-solr-test.yml b/.github/workflows/bin-solr-test.yml index 126e8d62293..e91f0c61be9 100644 --- a/.github/workflows/bin-solr-test.yml +++ b/.github/workflows/bin-solr-test.yml @@ -38,7 +38,7 @@ jobs: with: path: | ~/.gradle/caches - key: ${{ runner.os }}-gradle-binsolr-${{ hashFiles('versions.lock') }} + key: ${{ runner.os }}-gradle-binsolr-${{ hashFiles('**/*.lockfile') }} restore-keys: | ${{ runner.os }}-gradle-binsolr- ${{ runner.os }}-gradle- diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index d8593613ca6..ceb7e5d910c 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -42,7 +42,7 @@ jobs: with: path: | ~/.gradle/caches - key: ${{ runner.os }}-gradle-docker-${{ hashFiles('versions.lock') }} + key: ${{ runner.os }}-gradle-docker-${{ hashFiles('**/*.lockfile') }} restore-keys: | ${{ runner.os }}-gradle-docker- ${{ runner.os }}-gradle- diff --git a/.github/workflows/gradle-precommit.yml b/.github/workflows/gradle-precommit.yml index 67c1506ad0a..69ba6e85ad0 100644 --- a/.github/workflows/gradle-precommit.yml +++ b/.github/workflows/gradle-precommit.yml @@ -36,7 +36,7 @@ jobs: with: path: | ~/.gradle/caches - key: ${{ runner.os }}-gradle-precommit-${{ hashFiles('versions.lock') }} + key: ${{ runner.os }}-gradle-precommit-${{ hashFiles('**/*.lockfile') }} restore-keys: | ${{ runner.os }}-gradle-precommit- ${{ runner.os }}-gradle- diff --git a/.github/workflows/solrj-test.yml b/.github/workflows/solrj-test.yml index 3eb9bb4f5f6..975ed37c03d 100644 --- a/.github/workflows/solrj-test.yml +++ b/.github/workflows/solrj-test.yml @@ -35,7 +35,7 @@ jobs: with: path: | ~/.gradle/caches - key: ${{ runner.os }}-gradle-solrj-${{ hashFiles('versions.lock') }} + key: ${{ runner.os }}-gradle-solrj-${{ hashFiles('**/*.lockfile') }} restore-keys: | ${{ runner.os }}-gradle-solrj- ${{ runner.os }}-gradle- diff --git a/dev-docs/lucene-upgrade.md b/dev-docs/lucene-upgrade.md index e5ab91e7c9f..cef7851da0e 100644 --- a/dev-docs/lucene-upgrade.md +++ b/dev-docs/lucene-upgrade.md @@ -34,10 +34,10 @@ Create a new branch locally e.g. `git checkout -b lucene940 -t origin/main` for + org.apache.lucene:*=9.4.0 ``` -### `versions.lock` update +### lockfiles update ``` -gradlew :writeLocks +gradlew :resolveAndLockAll ``` ### `solr/licenses` update diff --git a/dev-tools/scripts/README.md b/dev-tools/scripts/README.md index a4588fd819e..36b2372af52 100644 --- a/dev-tools/scripts/README.md +++ b/dev-tools/scripts/README.md @@ -111,7 +111,7 @@ of the other tools in this folder. optional arguments: -h, --help show this help message and exit - -l LUCENE_VERSION Optional lucene version. By default will read versions.props + -l LUCENE_VERSION Optional lucene version. By default will read gradle/libs.versions.toml ### releasedJirasRegex.py diff --git a/dev-tools/scripts/addVersion.py b/dev-tools/scripts/addVersion.py index 53a5f02e777..35a35cd3583 100755 --- a/dev-tools/scripts/addVersion.py +++ b/dev-tools/scripts/addVersion.py @@ -23,7 +23,7 @@ import argparse import re from configparser import ConfigParser, ExtendedInterpolation -from textwrap import dedent + def update_changes(filename, new_version, init_changes, headers): print(' adding new section to %s...' % filename, end='', flush=True) @@ -115,7 +115,7 @@ def check_lucene_match_version_tests(): def read_config(current_version, current_lucene_version): parser = argparse.ArgumentParser(description='Add a new version to CHANGES, to Version.java, build.gradle and solrconfig.xml files') parser.add_argument('version', type=Version.parse, help='New Solr version') - parser.add_argument('-l', dest='lucene_version', type=Version.parse, help='Optional lucene version. By default will read versions.props') + parser.add_argument('-l', dest='lucene_version', type=Version.parse, help='Optional lucene version. By default will read gradle/libs.versions.toml') newconf = parser.parse_args() if not newconf.lucene_version: newconf.lucene_version = current_lucene_version diff --git a/dev-tools/scripts/scriptutil.py b/dev-tools/scripts/scriptutil.py index 3589cfac1c2..d272e4a20fd 100644 --- a/dev-tools/scripts/scriptutil.py +++ b/dev-tools/scripts/scriptutil.py @@ -14,13 +14,16 @@ # limitations under the License. import argparse +import os import re import subprocess import sys -import os -from enum import Enum import time -import urllib.request, urllib.error, urllib.parse +import urllib.error +import urllib.parse +import urllib.request +from enum import Enum + class Version(object): def __init__(self, major, minor, bugfix, prerelease): @@ -179,7 +182,7 @@ def attemptDownload(urlString, fileName): version_prop_re = re.compile(r'baseVersion\s*=\s*([\'"])(.*)\1') -lucene_version_prop_re = re.compile(r'org\.apache\.lucene:\*=(.*?)\n') +lucene_version_prop_re = re.compile(r'^apache-lucene\s*=\s*"([a-zA-Z0-9\.\-]+)"') def find_current_version(): script_path = os.path.dirname(os.path.realpath(__file__)) @@ -190,7 +193,7 @@ def find_current_version(): def find_current_lucene_version(): script_path = os.path.dirname(os.path.realpath(__file__)) top_level_dir = os.path.join(os.path.abspath("%s/" % script_path), os.path.pardir, os.path.pardir) - versions_file = open('%s/versions.props' % top_level_dir).read() + versions_file = open('%s/gradle/libs.versions.toml' % top_level_dir).read() return lucene_version_prop_re.search(versions_file).group(1).strip() diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py index 6358a152dd8..6953f867bee 100755 --- a/dev-tools/scripts/smokeTestRelease.py +++ b/dev-tools/scripts/smokeTestRelease.py @@ -22,7 +22,6 @@ import hashlib import http.client import os -import platform import re import shutil import subprocess @@ -35,6 +34,8 @@ import xml.etree.ElementTree as ET import zipfile from collections import namedtuple + +import platform import scriptutil # This tool expects to find /solr off the base URL. You @@ -626,7 +627,7 @@ def verifyUnpacked(java, artifact, unpackPath, gitRevision, version, testArgs): if isSrc: expected_src_root_folders = ['buildSrc', 'dev-docs', 'dev-tools', 'gradle', 'help', 'solr'] - expected_src_root_files = ['build.gradle', 'gradlew', 'gradlew.bat', 'settings.gradle', 'versions.lock', 'versions.props'] + expected_src_root_files = ['build.gradle', 'gradlew', 'gradlew.bat', 'settings.gradle', 'settings.gradle.lockfile'] expected_src_solr_files = ['build.gradle'] expected_src_solr_folders = ['benchmark', 'bin', 'modules', 'api', 'core', 'cross-dc-manager', 'docker', 'documentation', 'example', 'licenses', 'packaging', 'distribution', 'prometheus-exporter', 'server', 'solr-ref-guide', 'solrj', 'solrj-streaming', 'solrj-zookeeper', 'test-framework', 'webapp', '.gitignore', '.gitattributes'] is_in_list(in_root_folder, expected_src_root_folders) diff --git a/gradle/validation/error-prone.gradle b/gradle/validation/error-prone.gradle index 35e69ae6b8f..e01403a0ba0 100644 --- a/gradle/validation/error-prone.gradle +++ b/gradle/validation/error-prone.gradle @@ -43,7 +43,7 @@ allprojects { prj -> tasks.withType(JavaCompile) { task -> task.dependsOn ":errorProneSkipped" } // Error prone plugin adds error prone to test classpath. We need to add it here too - // (manually) so that versions.lock is consistent with or without error prone. + // (manually) so that lockfiles are consistent with or without error prone. configurations { errorprone } diff --git a/help/dependencies.txt b/help/dependencies.txt index 1882a9ff047..b0957d68877 100644 --- a/help/dependencies.txt +++ b/help/dependencies.txt @@ -130,7 +130,7 @@ If you want to upgrade Lucene to a newer build proceed like the following: - Edit ./gradle/globals.gradle and change jenkins build number, too (this directs the repository to the one created by latest build): def lucenePrereleaseBuild = 'X' -- Run: gradlew writeLocks (as described before) +- Run: gradlew resolveAndLockAll (as described before) Lucene local dependency substitution