aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge branch 'next'"Matthias Sohn2024-06-301-10/+0
|\
| * Update minimum Java version to 17Matthias Sohn2024-05-021-10/+0
| | | | | | | | | | Bug: jgit-52 Change-Id: I27e85b3ab4c2e21c86d69d8707eeb9547d788287
* | Migrate to python 3Daniele Sassoli2024-06-281-1/+1
|/ | | | | | | | | | | | | | Given that on most systems Python is still linked to the Python 2.7, switch explicitly to using Python 3. Python 2.7 was discontinued on January 1, 2020: [1]. Moreover, there is PEP recommending to use python3 in the shebang: [2]. [1] https://www.python.org/doc/sunset-python-2 [2] https://www.python.org/dev/peps/pep-0394 Change-Id: Idd3ed567b0384c6ff0a6121ad736f8af4c0f85e0
* Bazel: Add support for JDK 21David Ostrovsky2024-05-021-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two failing tests when switching to JDK 21. One failure is related to the changed behaviour related to the locale providers. Adapt `GitDateFormatterTest` to changes in unicode [1]. Second failure related to changed behaviour in URL.openConnection(), see: [2] for more details. Before JDK 20, some of the parsing/validation performed by the JDK built-in URLStreamHander implementations were delayed until URL::openConnection or URLConnection::connect was called. Starting JDK 20, some of these parsing/validations are now performed early, i.e. within URL constructors. IOW, the assumption made in HttpSupport.TesttestMalformedUri() isn't met any more: providing mailformed URI to the URL ctor now throws an exception starting with JDK 20. To rectify the problem, remove the offending test. Test plan: To build with JDK 21 and run the tests locally: $> bazel test --config=java21 //... To build with JDK 21 and run the tests on RBE: $> bazel test --config=remote21 --remote_instance_name=$PROJECT //... [1] https://bugs.openjdk.org/browse/JDK-8304925 [2] https://bugs.openjdk.org/browse/JDK-8293590 Change-Id: I796de67f7945d5f1fa5e8146f4ec8cbe9ac7bd3e
* [errorprone] Fix pattern ModifiedButNotUsedMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/ModifiedButNotUsed Change-Id: I3bd3f865d50a26af6c594391de5adf35230c984f
* [errorprone] Fix pattern CatchAndPrintStackTraceMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/CatchAndPrintStackTrace Change-Id: I7a6698293d1485f384c275bf7e4dcddc529af4a1
* [errorprone] Fix pattern FutureReturnValueIgnoredMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/FutureReturnValueIgnored Change-Id: I7225fd6388ce70ed5eea9e61b29bd10e1a927acb
* [errorprone] Fix pattern BadImportMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/BadImport Change-Id: I24e5a7a4a64d8b3cf2cc3d394090ce90e849f9f9
* [errorprone] Fix pattern UseCorrectAssertInTestsMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/UseCorrectAssertInTests Change-Id: Iffde63ac795ad30c3e7774764cb8189cb089ed86
* [errorprone] Fix pattern ProtectedMembersInFinalClassMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/ProtectedMembersInFinalClass Change-Id: I5993093ca012f091dfe8ee1f2099b9596c2ee697
* [errorprone] Fix pattern CatchFailMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/CatchFail Change-Id: If1c637a420c4e669a5bdbe4abcefc5c3a2b3a43b
* [errorprone] Fix pattern see UnusedVariableMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/UnusedVariable Change-Id: I75d7602af31ed7d3264d2beab2d159cfbf29e7cb
* [errorprone] Fix pattern LongLiteralLowerCaseSuffixMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/LongLiteralLowerCaseSuffix Change-Id: I139eadef5d66dfed2952ba9e1c91b3fe83259e97
* [errorprone] Fix error pattern JdkObsoleteMatthias Sohn2024-04-291-1/+1
| | | | | | See https://errorprone.info/bugpattern/JdkObsolete Change-Id: Id105e2695eb64523bd217f507bf95f909bc6b348
* [errorprone] Fix UnnecessaryParentheses errorsMatthias Sohn2024-04-281-1/+1
| | | | | | See https://errorprone.info/bugpattern/UnnecessaryParentheses Change-Id: I783fd24286ec1bd55efbf21d05758465f4af87ee
* Bazel: Update RBE docker image to Ubuntu 22.04 and JDK 17David Ostrovsky2024-04-281-6/+5
| | | | | | | | | | | | | | | In this change we update the JDK used in RBE to JDK 17. Use Ubuntu 22.04 docker image with JDK 17 from Bazel project as the new base image. So that we don't need to maintain our own docker image any more. Also align the naming convention for the docker images with the Bazel project: <OS version>-<JDK version>, and remove "rbe"-prefix from the docker image name, because the image doesn't have any RBE specifics and could be used for Gerrit build and tests outside of the RBE pipeline. Change-Id: I617354c79301ec6dd52161dd3727f646c2a8ac56
* Make the tests buildable by bazel testKamil Musin2023-11-231-17/+17
| | | | | | | | | | | | | | | | All the errorprone checkers fail in many existing places of the codebase, making it impossible to run bazel test. Downgrade all to ":WARN". MergeToolTest is asserting a wrong error line, but the line seems different between bazel and mvn test runs. Therefore we don't fix it and simply run ``` bazel test -- //... -//org.eclipse.jgit.pgm.test:pgm ``` Change-Id: I44913ebc70dcc934cb69481cc3ff9ae0d8059707
* Activate additional error prone checksDavid Ostrovsky2023-09-251-12/+340
| | | | | Change-Id: I1b351e04da9f08681f08aae9ce984c3d3285e88e Signed-off-by: David Ostrovsky <david@ostrovsky.org>
* tools/BUILD: Sort errorprone rules alphabeticallyMatthias Sohn2023-09-221-7/+7
| | | | Change-Id: I006940eb8a7710d5b8ea66c6f805f0dd08e62a31
* Bazel: Fix remote build execution for Java 17David Ostrovsky2023-05-311-2/+0
| | | | | | | | | | | | | | | | | | | | Bazel build and test with remote17 configuration was actually executed locally, and not remotely. Rename remote configuration setting for Java 11 from remote to remote11 and derive the common remote configuration settings for remote11 and remote17 configurations. Also remove deprecated --host_javabase and --javabase options. Test Plan: Verify that the remote build for Java 17 is actually executed remotely: $ bazel test --config=remote17 --remote_instance_name=$PROJECT_NAME \ org.eclipse.jgit.test/... Change-Id: I10ad8c1d28c92fed9e465c2d36770ed4fb2940c3
* Bump bazel vesion to 6.2.0David Ostrovsky2023-05-311-1/+1
| | | | | | | | | | | | | Also demote severity level for bug pattern: PreferredInterfaceType, aka MutableConstantField: [1] from error to warning. Also fix DoubleBraceInitialization error prone bug pattern [2]. [1] https://errorprone.info/bugpattern/PreferredInterfaceType [2] https://errorprone.info/bugpattern/DoubleBraceInitialization Change-Id: I04b7d0792e67cbc51e3939bd47c2ea13a685cf0d (cherry picked from commit 0f071a7bcee1f551652b2ae017f3e0e134c7eb74)
* Merge branch 'stable-6.0' into stable-6.1Matthias Sohn2023-04-261-3/+3
|\ | | | | | | | | | | | | | | | | * stable-6.0: [bazel] Skip ConfigTest#testCommitTemplatePathInHomeDirecory Demote severity of some error prone bug patterns to warnings UploadPack: Fix NPE when traversing a tag chain Change-Id: I5e13d5b5414aef97e518898166bfa166c692e60f
| * Merge branch 'stable-5.13' into stable-6.0Matthias Sohn2023-04-261-3/+3
| |\ | | | | | | | | | | | | | | | | | | | | | * stable-5.13: [bazel] Skip ConfigTest#testCommitTemplatePathInHomeDirecory Demote severity of some error prone bug patterns to warnings Change-Id: I63b9adc22e1e1d9a9c754fe070ddfe21a52446c7
| | * Demote severity of some error prone bug patterns to warningsDavid Ostrovsky2023-04-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code is not violation free, so demote the severity of these bug patterns to warning: o DefaultCharset o FutureReturnValueIgnored o UnusedException Change-Id: Ie886a4a247770a74953385f018498ac2515ed209
* | | Bazel: Add RBE supportDavid Ostrovsky2022-01-201-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Bazel build can be used with Google's Remote Build Execution. This needs the following setup steps: $ gcloud auth application-default login $ gcloud services enable remotebuildexecution.googleapis.com --project=${PROJECT} Create a worker pool. The instances should have at least 4 CPUs each for adequate performance. $ gcloud alpha remote-build-execution worker-pools create default \ --project=${PROJECT} \ --instance=default_instance \ --worker-count=50 \ --machine-type=e2-standard-4 \ --disk-size=200 To use RBE, execute $ bazel test --config=remote \ --remote_instance_name=projects/${PROJECT}/instances/default_instance \ //... Change-Id: I988f61e342dab2136d8752ace945a4ed91a4189a
* | | Bazel: Switch to using toolchain resolution for java rulesDavid Ostrovsky2022-01-201-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump Bazel version to release 5.0.0. In this new Bazel release, --incompatible_use_toolchain_resolution_for_java_rules is flipped, that means that the build must be adapted to toolchain resolution. Specification toolchain resolution for java rules is here: [1]. Main tracking Bazel issue is here: [2]. Given that new Bazel release also added support for remote JDK 17, add experimental support for building with remote JDK 17 to produce major byte code version 61. Test Plan: To build with remote JDK 11 run: $ bazel build :all To build with remote JDK 17 run: $ bazel build --config java17 :all [1] https://docs.google.com/document/d/1MVbBxbKVKRJJY7DnkptHpvz7ROhyAYy4a-TZ-n7Q0r4/edit?usp=sharing [2] https://github.com/bazelbuild/bazel/issues/7849 Change-Id: I8d26dff722c6677ea7642913b61e416b23ea9041
* | | Bazel: Simplify java 11 toolchain definitionDavid Ostrovsky2022-01-201-20/+2
| | | | | | | | | | | | | | | | | | Also remove unused JDK9_JVM_OPTS constant. Change-Id: I0f45ca8312a2a8c3aee3855e3ef3afa95808b4ad
* | | Bazel: Remove version checkDavid Ostrovsky2022-01-201-16/+0
| | | | | | | | | | | | | | | | | | | | | Recent Bazel releases perform Bazel version check, based on .bazelversion file. Change-Id: I92d5daaef8ecbd011517d314564c0f5492c8ea75
* | | Bazel: Add missing java packages to error_prone package groupDavid Ostrovsky2022-01-201-3/+8
|/ / | | | | | | Change-Id: I709a3cd2639e9209b2c92c700e04ab4c90ed0524
* | Add o.e.j.ssh.apache.agent to maven central deployment scriptsMatthias Sohn2021-11-292-0/+2
| | | | | | | | Change-Id: I3310eacafa83482191021beddd376d50c0a72775
* | sshd: add support for ssh-agentThomas Wolf2021-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a simple SSH agent connector using JNA. Include com.sum.jna and com.sun.jna.platform in the target platform. JNA is used to communicate through Unix domain sockets with ssh-agent, and if on Windows, to communicate via shared memory with Pageant. The new bundle o.e.j.ssh.apache.agent is an OSGi fragment so that the java.util.ServiceLoader can find the provided factory without further ado in OSGi environments. Adapt both maven and bazel builds to include the new bundle. Manually tested on OS X, CentOS 7, and Win10 with Pageant 0.76. Tested by installing JGit built from this change into freshly downloaded Eclipse 2021-12 M1, and then doing git fetches via SSH with different ~/.ssh/config settings (explicit IdentityFile, without any but a key in the agent, with no keys and a key in the agent and IdentitiesOnly=yes (must fail)). Bug: 541274 Bug: 541275 Change-Id: I34e85467293707dbad1eb44d1f40fc2e70ba3622 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* | [releng] bazel: Enable errorprone on o.e.j.ssh.apacheThomas Wolf2021-11-031-0/+1
| | | | | | | | | | | | Fix the few issues reported. (None serious.) Change-Id: I8d72ef7d425ab61f4c27b657c92fc021850730d6 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* | [releng] Make the bazel build use Java 11Thomas Wolf2021-11-031-1/+18
| | | | | | | | | | | | | | Make the default toolchain use Java 11, and fix two errorprone findings introduced recently. Change-Id: Iff51206fe8bdf096cb7d88cb1a499002550766cd Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* | Enable compiler option --releaseMatthias Sohn2021-09-291-265/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures the compiler compiles against the public, supported and documented API for a specific VM version (here 11) [1]. This also means that we don't need EE descriptors in Eclipse anymore in order to ensure that only supported APIs of the selected Java version can be used. According to [2] if option --release is used --source and --target options can't be used. While we are at it also add default value for all new jdt core options added in Eclipse 4.21. [1] https://docs.oracle.com/en/java/javase/11/tools/javac.html [2] https://docs.oracle.com/en/java/javase/14/docs/specs/man/javac.html#option-release Change-Id: I852a5d7b0a3210751c15d79ec91915b4c01c41e2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Bump minimum required Java version to 11Matthias Sohn2021-09-291-3/+3
|/ | | | | | Bug: 569917 Change-Id: Ifdcdb022a3f29321b4d10da1cc34acca68ed7b03 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Bazel: Add workspace status command to stamp final artifactDavid Ostrovsky2020-07-171-0/+45
| | | | | | | | | | | | | | | | | | | Include implementation version in jgit library. This version is used by other products that depend on JGit, and built using Bazel and not consume officially released artifact from Central or Eclipse own Maven repository. Most notably, in Gerrit Code Review JGit agent that was previously reported as "unknown", is now reported as: JGit/v5.8.0.202006091008-r-16-g14c43828d using this change [1]. [1] https://gerrit-review.googlesource.com/c/gerrit/+/272505 Change-Id: Ia50de9ac35b8dbe9e92d8ad7d0d14cd00f057863 Signed-off-by: David Ostrovsky <david@ostrovsky.org>
* Add new osgi fragments to maven-central deploy scriptsMatthias Sohn2020-06-202-0/+4
| | | | Change-Id: I075b539fcc72f7492573426247134aed7a545fe9
* Handle Fragment-Host declaration when updating versionMatthias Sohn2020-06-091-0/+1
| | | | | | Change-Id: If7ad9c4b26025e4358e3b4228dda43fdf93d2978 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> (cherry picked from commit a51b440840aa5f2cd20ae4c2edf6cdade18179df)
* ErrorProne: Enable and fix UnusedException checkDavid Pursehouse2020-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | Enable UnusedException at ERROR level which causes the build to fail in many places with: [UnusedException] This catch block catches an symbol and re-throws another, but swallows the caught symbol rather than setting it as a cause. This can make debugging harder. Fix it by setting the caught exception as cause on the subsequently thrown exception. Note: The grammatically incorrect error message is copy-pasted as-is from the version of ErrorProne currently used in Bazel; it has been fixed by [1] in the latest version. [1] https://github.com/google/error-prone/commit/d57a39c Change-Id: I11ed38243091fc12f64f1b2db404ba3f1d2e98b5 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Remove Error-Prone ExpectedExceptionCheckerDavid Pursehouse2020-01-241-1/+0
| | | | | | | | | The checker only checks for misuse of ExpectedException. Since we've moved to JUnit 4.13 and assertThrows, ExpectedException won't be used at all, so now we can get rid of that setting. Change-Id: Ia9189936ae215110f1f5fc6459c5dbc944404ade Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Update EDL 1.0 license headers to new short SPDX compliant formatMatthias Sohn2020-01-041-38/+5
| | | | | | | | | | This is the format given by the Eclipse legal doc generator [1]. [1] https://www.eclipse.org/projects/tools/documentation.php?id=technology.jgit Bug: 548298 Change-Id: I8d8cabc998ba1b083e3f0906a8d558d391ffb6c4 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'stable-5.5'David Pursehouse2019-11-261-3/+5
|\ | | | | | | | | | | | | | | | | * stable-5.5: Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzl Bazel: Add missing newlines at end of BUILD files Change-Id: Ie32c3bae056fb0745892e6c20ad37d4994542d96 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * Merge branch 'stable-5.3' into stable-5.4David Pursehouse2019-11-261-3/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.3: Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzl Bazel: Add missing newlines at end of BUILD files Change-Id: I21878c42fd9abf7d858b534300df0fffe4bad431 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * Merge branch 'stable-5.2' into stable-5.3David Pursehouse2019-11-261-3/+5
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzl Bazel: Add missing newlines at end of BUILD files Change-Id: Ie5e66f2e26c057c81101b0d110f91ea479eb362d Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | | * Merge branch 'stable-5.1' into stable-5.2David Pursehouse2019-11-261-3/+5
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzl Bazel: Add missing newlines at end of BUILD files Change-Id: Ic1dc84a6c4a1cf430d329627642583fd6e0d0eaa Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | | | * Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzlDavid Pursehouse2019-11-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I80456f74bc17a1ebb0248fce8050a4cb07bf18f1 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | | | | Merge branch 'stable-5.5'Matthias Sohn2019-11-051-0/+66
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.5: Run JMH benchmarks using bazel Benchmark for creating files and FileSnapshots Implement benchmark for looking up FileStore of a given Path JMH benchmark for SimpleLruCache Update API problem filters Remove unused API problem filters Silence API errors for new API added since 5.1.0 Change-Id: If87a13d0f809d9968ad2921b786f4b18e1b494d0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | | | Merge branch 'stable-5.3' into stable-5.4Matthias Sohn2019-11-051-0/+66
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.3: Run JMH benchmarks using bazel Benchmark for creating files and FileSnapshots Implement benchmark for looking up FileStore of a given Path JMH benchmark for SimpleLruCache Update API problem filters Remove unused API problem filters Silence API errors for new API added since 5.1.0 Change-Id: Ib735c4039e24ec8b045ae2cc81df1e9e5c9fa996 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | | Merge branch 'stable-5.2' into stable-5.3Matthias Sohn2019-11-051-0/+66
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.2: Run JMH benchmarks using bazel Benchmark for creating files and FileSnapshots Implement benchmark for looking up FileStore of a given Path JMH benchmark for SimpleLruCache Update API problem filters Remove unused API problem filters Silence API errors for new API added since 5.1.0 Change-Id: I00615958ab6fbdff601e87a9792aba5606cda12a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * | Merge branch 'stable-5.1' into stable-5.2Matthias Sohn2019-11-051-0/+66
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.1: Run JMH benchmarks using bazel Benchmark for creating files and FileSnapshots Implement benchmark for looking up FileStore of a given Path JMH benchmark for SimpleLruCache Remove unused API problem filters Silence API errors for new API added since 5.1.0 Change-Id: If91c55a192d3b2c441d9c8d414f2e24a7261b1b6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>