aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.gpg.bc
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 7.2.0-SNAPSHOT buildsMatthias Sohn2024-11-273-7/+7
| | | | Change-Id: Ie3108fefbcbb55a4f26273833c9817ce4bd750f1
* Prepare 7.1.1-SNAPSHOT buildsMatthias Sohn2024-11-263-7/+7
| | | | Change-Id: Ifc710a83cda50f1275cbbd5a828f92d95607f298
* JGit v7.1.0.202411261347-rv7.1.0.202411261347-rMatthias Sohn2024-11-263-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I70f154dd1dc8571c5e2057d09d08d4a4d1b7ee37
* Prepare 7.1.0-SNAPSHOT buildsMatthias Sohn2024-11-193-4/+4
| | | | Change-Id: I69f57f933899b9926ab5124b24b90ae75f7a8d09
* JGit v7.1.0.202411191359-rc1v7.1.0.202411191359-rc1Matthias Sohn2024-11-193-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I802c3dbcbb05470aad6255cc05402647e704b446
* Prepare 7.1.0-SNAPSHOT buildsMatthias Sohn2024-11-133-4/+4
| | | | Change-Id: Id5379361dd8673e91c998b56f2ee61e041da6113
* JGit v7.1.0.202411121450-m3v7.1.0.202411121450-m3Matthias Sohn2024-11-123-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I5850cdc569eb5d13763f81e9b8332fe70207a4fd
* GPG: use BC PGP secret key parsing out of the boxThomas Wolf2024-11-069-1526/+80
| | | | | | | | | Remove the custom S-expression parsing; BC has gotten many improvements in 1.79 regarding PGP ed25519 keys, AES/OCB encryption, and generally parsing key files. It now can do all we need. Change-Id: I392443e040cce150a9575d18795a7cb8195a3515 Signed-off-by: Thomas Wolf <twolf@apache.org>
* [errorprone] bc: Remove unused SExprParser#parseSecretKeyIvan Frade2024-11-051-148/+0
| | | | | | | | | | errorprone complains about using Date in the SExprParser class. All the usages are in a variant of the parseSecretKey method that doesn't have any callers. Remove the unused method. Change-Id: I80f5aa58877b9da31729cb90b0219e45d96144a8
* Update bouncycastle to 1.79Matthias Sohn2024-11-051-0/+7
| | | | Change-Id: Ib81d73075ebc9dcdc73aacf30fa02ad56a502d51
* Prepare 7.1.0-SNAPSHOT buildsMatthias Sohn2024-09-033-7/+7
| | | | Change-Id: Iba206a2d4645fc275cd2cd1cb3ae965b8ceafb28
* Prepare 7.0.1-SNAPSHOT buildsMatthias Sohn2024-09-033-7/+7
| | | | Change-Id: I5a6a9e398d8b81bf7bd0afbd6c82116d4472a349
* JGit v7.0.0.202409031743-rv7.0.0.202409031743-rMatthias Sohn2024-09-033-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I86507936091e6f7af7588835722672ff2668a205
* Prepare 7.0.0-SNAPSHOT buildsMatthias Sohn2024-08-283-4/+4
| | | | Change-Id: Ifa0a549e9551a2016241169e1c1e9052174c49d1
* JGit v7.0.0.202408271414-rc1v7.0.0.202408271414-rc1Matthias Sohn2024-08-273-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I969947a7c5fef72ed0c2f50e96a60787474f9906
* Signing: refactor interfacesThomas Wolf2024-08-2410-254/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a big API-breaking change cleaning up the signing interfaces. Initially, these interfaces were GPG/OpenPGP-specific. When EGit added new signers and signature verifiers that called an external GPG executable, they were found inadequate and were extended to be able to pass in the GpgConfig to get access to the "gpg.program" setting. With the introduction of X.509 S/MIME signing, it was discovered that the interfaces were still not quite adequate, and the "Gpg" prefix on the class names were confusing. Since 7.0 is a major version bump, I'm taking this chance to overhaul these interfaces from ground up. For signing, there is a new Signer interface. With it goes a SignerFactory SPI interface, and a final Signers class managing the currently set signers. By default, signers for the different signature types are created from the signer factories, which are discovered via the ServiceLoader. External code can install its own signers, overriding the default factories. For signature verification, exactly the same mechanism is used. This simplifies the setup of signers and signature verifiers, and makes it all more regular. Signer instances just get a byte[] to sign and don't have to worry about ObjectBuilders at all. SignatureVerifier instances also just get the data and signature as byte[] and don't have to worry about extracting the signature from a commit or tag, or about what kind of signature it is. Both Signers and SignatureVerifiers always get passed the Repository and the GpgConfig. The repository will be needed in an implementation for SSH signatures because gpg.ssh.* configs may need to be loaded explicitly, and some of those values need the current workspace location. For signature verification, there is exactly one place in core JGit in SignatureVerifiers that extracts signatures, determines the signature type, and then calls the right signature verifier. Change RevTag to recognize all signature types known in git (GPG, X509, and SSH). Change-Id: I26d2731e7baebb38976c87b7f328b63a239760d5 Signed-off-by: Thomas Wolf <twolf@apache.org>
* Add a missing license headerThomas Wolf2024-08-241-0/+9
| | | | Change-Id: Iccb922ea73b0bfd6360ea2182b88c520a951a0a2 Signed-off-by: Thomas Wolf <twolf@apache.org>
* Update minimum Java version to 17Matthias Sohn2024-05-023-5/+5
| | | | | Bug: jgit-52 Change-Id: I27e85b3ab4c2e21c86d69d8707eeb9547d788287
* Merge branch 'master' into nextMatthias Sohn2024-04-269-82/+322
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: ResolveMerger: Fix the issue with binary modify-modify conflicts Explain why RacyGitTests may be flaky in some environments PackBitmapIndexBuilder.StoredEntry: add getter for objectId PackBitmapIndex: clarify naming of getObject inputs Revert "[releng] Bump Bouncy Castle to 1.78" [releng] Bump Bouncy Castle to 1.78 MergeAlgorithm: Fix diff3 conflict hunk computation [gpg] Remove obsolete import-package [gpg] Correct finding public keys from pubring.gpg [gpg] Fix reading ed25519 GPG keys PackBitmapIndexBuilder: make StoredEntry constructor public PackBitmapIndexBuilder: allow repeated call of getCompressedBitmaps() DfsPackFile: Make the loader classes used to construct bitmaps public. DfsPackFile: make public the constructor with bitmap loader PackWriter: writeBitmapIndex takes bitmap index writer Add more tests on rewriting parents in a RevWalk PackBitmapIndex: convert from class to interface Cache refreshed loose ref dirs in SnapshottingRefDirectory DfsGarbageCollectorTest: add test for bitmap index creation PackBitmapIndex: hide packChecksum behind getter TreeRevFilter: correct changedPathFilter usage for multi-paths inclusion PathFilterGroup: implement getPathsBestEffort() CleanupService: preload JgitText if not running in OSGi DfsPackFile: get commitGraph.readChangePaths from repo config CommitGraphLoader: receive readChangedPaths as parameter Add pull request template discouraging usage of pull requests Update CONTRIBUTING.md to point to GitHub issues FS_POSIX.runInShell(): on MacOS use a login shell [ssh] Implement the "Ciphers" SSH config ShutdownHook: run on bundle deactivation if in OSGi [diffmergetool] Fix running command on Cygwin [releng] Bump japicmp base version to 6.9.0.202403050737-r DfsBlockCache: move cache table specific implementations to a new class Prepare 6.10.0-SNAPSHOT builds Prepare 6.9.1-SNAPSHOT builds JGit v6.9.0.202403050737-r JGit v6.9.0.202403050045-r Prepare 6.9.0-SNAPSHOT builds Introduce core.trustLooseRefStat config JGit v6.9.0.202402281855-rc1 Update SECURITY.md DfsObjDatabase: Let object database instantiate DfsPackFiles DfsPackFile: Abstract the bitmap loading to support other backends Remove unused API problem filters Support public key in IdentityFile Revert "StartGenerator: Fix parent rewrite with non-default RevFilter" Prepare 6.9.0-SNAPSHOT builds JGit v6.9.0.202402211805-m3 DfsReader#getObjectSize: use size index if possible Change-Id: Ibdde5be8c5c2b3938aeaa4f278020cadcaad36a3
| * [gpg] Remove obsolete import-packageThomas Wolf2024-04-081-1/+0
| | | | | | | | | | Bug: jgit-46 Change-Id: Ib7e3e562ca7ef9a30dfb7a1198f729bb389a5208 Signed-off-by: Thomas Wolf <twolf@apache.org>
| * [gpg] Correct finding public keys from pubring.gpgThomas Wolf2024-04-085-56/+173
| | | | | | | | | | | | | | | | | | | | | | With a master key not enabled for signing, and a signing sub-key, key lookup went wrong in several ways and might not find a suitable key for signing or for signature verification. Fix the code so that it finds the sub-key, even if user.signingKey is specified not with a key ID but with an with an e-mail. (Sub-keys don't have user ids, those are attached only on the master key.) Change-Id: I9d1f641c49b173d4daffb3fd2e74f5aabd856e39 Signed-off-by: Thomas Wolf <twolf@apache.org>
| * [gpg] Fix reading ed25519 GPG keysThomas Wolf2024-04-083-25/+149
| | | | | | | | | | | | | | | | | | | | | | | | The S-expression parser from Bouncy Castle parsed such keys wrongly; there is a "flags" sub-list before the "q" value. Additionally, the parser validates the key read against the given public key, this failed because Bouncy Castle does not know the OID of curve name "Ed25519". Fix this and add a test for reading an ed25519 GPG key. Bug: jgit-27 Change-Id: Ia50445b88759927d2e80b9871d498fbe5ad201bc Signed-off-by: Thomas Wolf <twolf@apache.org>
| * Prepare 6.10.0-SNAPSHOT buildsMatthias Sohn2024-03-053-10/+10
| | | | | | | | Change-Id: Ie728ef9a7d3c6430a5da30f6a61afd2176015748
| * Prepare 6.9.1-SNAPSHOT buildsMatthias Sohn2024-03-053-10/+10
| | | | | | | | Change-Id: I10f901209be2faa34ebb9355c86c2106bac38ba5
| * JGit v6.9.0.202403050737-rv6.9.0.202403050737-rMatthias Sohn2024-03-053-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I70494c0c69ac549dea9b4cf7c5b25e94c1b4b250
| * JGit v6.9.0.202403050045-rv6.9.0.202403050045-rMatthias Sohn2024-03-053-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I4c7a6542ad4252c5a9499e69f68650d2026bde40
| * Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2024-03-053-4/+4
| | | | | | | | Change-Id: Ifadeead735c8772e58dd4e5c7381b44c5221a295
| * JGit v6.9.0.202402281855-rc1v6.9.0.202402281855-rc1Matthias Sohn2024-02-283-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I23d489ccdc257a8c25da4b90dc51d4a8951d320c
| * Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2024-02-223-4/+4
| | | | | | | | Change-Id: I11f4871bfdf6c6c0de5d5ed577edf16bac8cf681
| * JGit v6.9.0.202402211805-m3v6.9.0.202402211805-m3Matthias Sohn2024-02-213-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Id2f3934947d6d1e94feeb9e73ad7282ae089b682
* | Merge branch 'master' into nextMatthias Sohn2024-02-2113-67/+48
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Delete org.eclipse.jgit.ssh.apache.agent/bin/.project Allow to discover bitmap on disk created after the packfile Update jetty to 10.0.20 Update maven plugins Update org.assertj:assertj-core to 3.25.3 Update org.mockito:mockito-core to 5.10.0 Update org.apache.commons:commons-compress to 1.26.0 Update byte-buddy to 1.14.12 Add SystemReader.Delegate to reduce boiler-plate code needed to subclass storage.file: Do not throw NSFE when deleting tmp files FS.detectSymlinkSupport: fix a race RefDirectory: Do not unlock until after deleting loose ref Add missing javadoc description for declared exception SnapshottingRefDirectory: Invalidate snapshot after locking ref for update SnapshottingRefDir: Replace lambas with method refs SnapshottingRefDir: Reduce casts with overrides [errorprone] Fix wrong comparison which always evaluated to false [errorprone] Remove unnecessary comparison Errorprone EscapedEntity: Do not use HTML entities inside @code javadoc ChangedPathFilter: Suppress warning about backing array (errorprone) PackWriterBitmapPreparer: Do not generate bitmaps for excessive branch tips. Don't use localized String during JVM shutdown RawParseUtils.nextLfSkippingSplitLines: fulfil contract as stated [gpg] Refactor the GpgSignatureVerifier RawParseUtils: utility method to get a header value Improve handling of NFS stale handle errors Fix handling of missing pack index file Add tests for handling pack files removal during fetch RebaseCommand: fix stopping on root commit conflicts Improve handling of NFS stale handle errors Fix handling of missing pack index file CherryPick: add ability to customise cherry-picked commit message RawParseUtils: Add missing @since tag for new API method Silence API warning for new constant [ssh] Bump Apache MINA sshd 2.11.0 -> 2.12.0 Introduce a PriorityQueue sorting RevCommits by commit timestamp Remove org.eclipse.jgit.benchmark/.factorypath Update jmh to 1.37 for org.eclipse.jgit.benchmark Add tests for handling pack files removal during fetch PackWriterBitmapPreparer: Set limit on excessive branch count Update jna to 5.14.0 DfsInserter/PackParser: keep min size for index in the inserter FooterLines: handle extraction from messages without headers Silence API warnings Remove invalid/unnecessary Maven settings Update maven plugins Update org.eclipse.dash:license-tool-plugin to 1.1.0 Enable using slf4j 2.x Update Tycho to 4.0.4 Update mockito to 5.8.0 Add 4.31 target platform and update orbit to 4.31 Update ecj to 3.36.0 Renormalize line endings based on .gitattributes Configure .gitattributes to manage line endings Normalize line endings to LF for all text files BasePackFetchConnection: Skip object/ref lookups if local repo is empty LooseObjects: Use File#exists when possible Remove invalid spotbugs configuration Fix PMD plugin configuration DfsReader: give subclasses visiblity over the pack bitmap index PackBitmapIndex/StoredBitmap: Expose size and counts PackWriter/Statistics: Remove the bitmapt hit stats Configure Github issue reporting Make sure ref to prune is in packed refs FooterLine: Protect from ill-formed message API filter for PackStatistics.objectsWithBitmapsFound StartGenerator: Fix parent rewrite with non-default RevFilter Update MANIFEST.MF Document option gc.writeCommitGraph Bump last release version to 6.8.0.202311291450-r Prepare 6.9.0-SNAPSHOT builds BitmapWalkerTest: New test for the walker PackWriter: store the objects with bitmaps in the statistics FooterLine: First line cannot be a footer Reapply "Improve footer parsing to allow multiline footers." Revert "Improve footer parsing to allow multiline footers." Prepare 6.8.1-SNAPSHOT builds JGit v6.8.0.202311291450-r Rename method parameter to fix warning about hidden field Fix warnings about empty control flow statements BitmapIndexImpl: externalize error message Suppress not-externalized string warnings Silence API error for new method BitmapIndex#addBitmapLookupListener Update Orbit to orbit-aggregation/2023-12 Adapt to type parameter added in commons-compress 1.25.0 Improve footer parsing to allow multiline footers. Make the tests buildable by bazel test Prepare 6.8.0-SNAPSHOT builds JGit v6.8.0.202311212206-rc1 BitmapIndex: Add interface to track bitmaps found (or not) BitmapWalker: Remove BitmapWalkListener Update repository URLs in CONTRIBUTING.md Fix typo in FileUtils.isStaleFileHandle() javadoc Fix branch ref exist check gpg.bc: Supress errorprone InsecureCryptoUsage Adjust javadoc to pass errorprone checks Update org.apache.commons:commons-compress to 1.25.0 Fix annotation of deprecated constant CONFIG_KEY_STREAM_FILE_TRESHOLD BitmapWalkListener: Use plain interface with noop instance BitmapWalkListener: Add method and rename for commits Update bouncycastle to 1.77 PatchApplier: wrap output's TemporaryBuffer with a CountingOutputStream BitmapWalker: announce walked objects via listener interface Prepare 6.8.0-SNAPSHOT builds Update jetty to 10.0.18 SSH: bump org.apache.sshd to 2.11.0 JGit v6.8.0.202311151710-m2 Fix typo in constant name CONFIG_KEY_STREAM_FILE_TRESHOLD Simplify StringUtils#commonPrefix Optimize RefDirectory.getRefsByPrefix(String...) CommitGraphWriter: Remove unnecesary progress update call Use try-with-resource to ensure UploadPack is closed Fix hiding field warning Fix warning for empty code blocks Fix boxing warnings errorprone: remove unnecessary parentheses Update mockito to 5.7.0 and bytebuddy to 1.14.9 Enable Maven reproducible builds Upgrade bazlets to the latest revision Revert "Optimise Git protocol v2 `ref-prefix` scanning" Document GIT_TRACE_PERFORMANCE to show timings config-options.md: fix sort order ComboBitset: Add Javadoc CommitGraphWriter: Add progress monitor to bloom filter computation CommitGraphWriter: Use ProgressMonitor from the OutputStream CommitGraphWriter: Unnest generation-number progress Optimise Git protocol v2 `ref-prefix` scanning UploadPackTest: Cover using wanted-refs as advertised set UploadPack: use want-refs as advertised set in fetch v2 BasePackFetchConnection: Avoid full clone with useNegotiationTip Checkout: better directory handling .gitignore: ignore all Maven output directories `target/` benchmarks: use org.eclipse.jgit-parent as parent pom Generate SBOMs using cyclonedx maven plugin DfsPackFile: Do not attempt to read stream if pack doesn't have it PackObjectSizeIndexLoader: Log wrong bytes on exception Silence API warnings for API added in 5.13.3 FileBasedConfig: in-process synchronization for load() and save() FileUtils.rename(): better retry handling FileBasedConfig: ensure correct snapshot if no file DeleteBranchCommand: update config only at the end Config.removeSection() telling whether it changed the config RebaseCommand: return correct status on stash apply conflicts Use net.i2p.crypto.eddsa 0.3.0 from new Orbit build PackConfig: fix @since tags Remove unused API problem filters Add support for git config repack.packKeptObjects Do not exclude objects in locked packs from bitmap processing [errorprone] Fix InconsistentCapitalization TestRepository: Add getInstant method Update orbit to orbit-aggregation/2023-12 Prepare 6.8.0-SNAPSHOT builds JGit v6.8.0.202310031045-m1 UploadPack: Delay freeing refs in sendPack() ByteBufferInputStream: add missing @since 6.8 Fix log level for successful execution of ShutdownHook#notify to debug Eclipse features: update copyright year SSH agent: correct plug-in title Fix DefaultCharset bug pattern flagged by error prone Activate additional error prone checks WorkingTreeIterator: directly filter input stream [errorprone] Add missing javadoc summary [errorprone] Fix BadImport [errorprone] Prevent int expression may overflow [errorprone] Suppress ByteBufferBackingArray [errorprone] Suppress JavaLangClash to avoid breaking change [errorprone] Fix EqualsGetClass [errorprone] MockSystemReader: fix CatchAndPrintStackTrace [errorprone] MetaFilter: fix IdentityHashMapUsage [errorprone] InternalFetchConnection: Suppress CatchAndPrintStackTrace [errorprone] Don't swallow exception [errorprone] Fix inconsistent capitalization [errorprone] PageRef#isStringRef: suppress UnusedMethod [errorprone] FileReftableStack: fix EqualsUnsafeCast [errorprone] Suppress MissingSummary for translation bundles [errorprone] CommandLineMergeTool: Remove unused constuctor [errorprone] SimilarityRenameDetector: suppress IntLongMath Add comment why protocol list uses WeakReference [errorprone] Transport: Suppress ModifyCollectionInEnhancedForLoop [errorprone] Rename method parameter to silence InvalidParam [errorprone] MyersDiff#main: fix CatchAndPrintStackTrace [errorprone] TagCommand: Remove unused parameter of private method [errorprone] PathFilter#getPathsBestEffort: fix ArrayAsKeyOfSetOrMap [errorprone] DirCacheEntry: suppress JavaInstantGetSecondsGetNano [errorprone] Directly implement functional interface [errorprone] InterruptTimer#terminate: ensure Thread#join succeeds [errorprone] RawParseUtils@parseHexInt64: suppress IntLongMath [errorprone] Exceptions should not override #toString [errorprone] Fix invalid param in javadoc [errorprone] FS#searchPath: handle surprising behavior of String#split [errorprone] FileStoreAttributes#FUTURE_RUNNER: Fix corePoolSize [errorprone] Express duration using seconds which is clearer [errorprone] Use ArrayList instead of LinkedList [errorprone] AddCommand#filepattern: use a more specific type [errorprone] Suppress UnnecessaryParentheses [errorprone] Remove unnecessary parentheses tools/BUILD: Sort errorprone rules alphabetically Update jetty to 10.0.16 Update bazel to 6.3.2 DfsPackFile: remove unnecessary @SuppressWarnings("boxing") CommitGraphWriter: Remove unnecessary semicolon CommitGraphWriter: fix boxing warnings CommitGraphWriter#createCoreChunks: Remove not-thrown exceptions CommitGraphWriter: Decouple Stats from computing bloom filters CommitGraphWriter: Move bloom filter calculation out of createChunks Documentation: Move writeChangedPaths flag from commitGraph to gc section. [errorprone] Fix wrong comparison which always evaluated to false [errorprone] Remove unnecessary comparison Update org.eclipse.jdt:ecj to 3.35.0 Update org.apache.commons:commons-compress to 1.24.0 [errorprone] Suppress ImmutableEnumChecker for ShutdownHook Update bytebuddy to 1.14.8 Use ShutdownHook to gracefully handle JVM shutdown Add ShutdownHook to cleanup FileLocks on graceful JVM shutdown Unregister ShutdownHook when GC#PidLock is closed OSGi: move plugin localization to subdirectory ssh: Remove redundant null check for home.getAbsoluteFile() RevertCommand: support for inserting a Gerrit change ID [releng] Bump japicmp base version to 6.7.0.202309050840-r DfsPackFile: Record index loads only in one place DfsPackfile: Emit the index load with the index object Prepare 6.8.0-SNAPSHOT builds Prepare 6.7.1-SNAPSHOT builds Switch back to wagon-ssh-external Fix generation of maven site Ensure home directory not null before using in Sshdsessionfactory CommitGraphWriter: Make the list of chunks immutable CommitGraphWriter: Assert written bytes JGit v6.7.0.202309050840-r Remove unused API problem filters [releng] Bump japicmp base version to 6.6.0.202305301015-r Fix list of 3rd party bundles in p2 repo Add missing source bundle org.osgi.service.cm.source to target platform Prepare 6.6.2-SNAPSHOT builds JGit v6.6.1.202309021850-r Checkout: better directory handling CommitGraphWriter: throw exception on unknown chunk Document commit-graph options supported by JGit Fix warning raised for local variable hiding DfsPackFile#index Suppress boxing warnings in DfsPackFile Remove unused API problem filters Suppress boxing warnings in tests Fix warning about empty block Update mockito to 5.5.0 Update byte-buddy to 1.14.7 Prepare 6.7.0-SNAPSHOT builds JGit v6.7.0.202308301100-rc1 Remove the cbi-snapshots Maven repository Update Orbit to orbit-aggregation/release/4.29.0 Add target platform for Eclipse 2023-09 (4.29) Use release p2 repo for Eclipse 2023-06 (4.28) Update tycho to 4.0.2 Update jmh to 1.37 Update bouncycastle to 1.76 Fix some tests in ConfigTest Handle global git config $XDG_CONFIG_HOME/git/config IO: use JDK convenience methods org.eclipse.jgit.junit.ssh/.settings/.api_filters: fix unclosed tags ReadChangedPathFilter: fix Non-externalized string literal warning Introduce core.packedIndexGitUseStrongRefs config key DfsReader: Make PackLoadListener interface visible to subclasses DfsGarbageCollector: provide commit graph stats DfsGarbageCollector: put only GC commits into the commit graph DfsReader: Expose when indices are loaded Update to Tycho 4.0.1 Prepare 6.7.0-SNAPSHOT builds JGit v6.7.0.202308011830-m2 Add missing @since tags Fix errorprone warning about precedence Move footer-line parsing methods from RevCommit to FooterLine Merge: Add diff3 style merge conflict formatter. RevCommitCG: Read changed-path-filters directly from commit graph Update commons-codec to 1.16.0 Add missing @since tags for new API methods Add missing package import needed to use MurmurHash3 Identify a commit that generates a diffEntry on a rename Event. Pack: open reverse index from file if present PackReverseIndexV1: reverse index parsed from version 1 file PackReverseIndex: open file if present otherwise compute PackReverseIndex: verify checksums ComputedPackReverseIndex: Clarify custom bucket sort algorithm CommitGraphWriter: add option for writing/using bloom filters CommitGraphWriter: reuse changed path filters RevWalk: use changed path filters CommitGraphLoader: read changed-path filters CommitGraphWriter: write changed-path filters ssh: PKCS#11 support GC: Remove handling of extra pack for RefTree Remove unnecessary @SuppressWarnings("serial") Remove unused API problem filters Remove redundant specification of type arguments DfsPackParser: Create object indices if config says so PackParserTest: Extract pack-writing helper code to its own class DfsInserter: generate object size index if config says so DfsInserter: populate full size on object insertion DFSGarbargeCollector: Write object size indices DfsReader/PackFile: Implement isNotLargerThan using the obj size idx [releng] Use tycho 4.0.0 instead of 4.0.0-SNAPSHOT Add verification in GcKeepFilesTest that bitmaps are generated Express the explicit intention of creating bitmaps in GC GC: prune all packfiles after the loosen phase Update mockito to 5.4.0 and bytebuddy to 1.14.5 Fix S3Repository getSize to handle larger object sizes DfsPackFile: make #getReverseIdx public Add missing bazel dependency to benchmarks Update JMH to 1.36 Update bouncycastle to 1.75 Update org.eclipse.jdt:ecj to 3.34.0 Update eclipse-jarsigner-plugin to 1.4.2 Update maven-surefire-report-plugin to 3.0.0 Update maven-project-info-reports-plugin to 3.4.3 Update maven-compiler-plugin to 3.11.0 Update maven-enforcer-plugin to 3.3.0 Update build-helper-maven-plugin to 3.4.0 Update spring-boot-maven-plugin to 2.7.13 Update maven-source-plugin to 3.3.0 Prepare 5.13.3-SNAPSHOT builds JGit v5.13.2.202306221912-r PackReverseIndex: separate out the computed implementation Default for global (user) git ignore file Fix all Javadoc warnings and fail on them Mark COMMIT_GENERATION_* constants final Update Orbit to R20230531010532 for 2023-06 Revert "RefDirectory: Throw exception if CAS of packed ref list fails" PackReverseIndex: use static builder instead of constructor Gc#writePack: write the reverse index file to disk Bazel: Fix remote build execution for Java 17 Bump bazel vesion to 6.2.0 Prepare 6.6.1-SNAPSHOT builds JGit v6.6.0.202305301015-r Bump bazel vesion to 6.2.0 Update to Orbit S20230516204213 Prepare 6.6.0-SNAPSHOT builds Prepare 6.7.0-SNAPSHOT builds JGit v6.6.0.202305241045-m3 GraphObjectIndex: fix search in findGraphPosition Update to Tycho 4.0.0-SNAPSHOT PGP sign p2 artefacts Revert 'Use net.i2p.crypto:eddsa directly from Maven Central' Update dash license-tool-plugin to 1.0.2 Also add suppressed exception if unchecked exception occurs in finally Candidate: use "Objects.equals" instead of "==" Use hamcrest 2.2 directly from Maven Central Use commons-logging directly from Maven Central Update jna to 5.13.0 Use bytebuddy directly from Maven Central Use jna directly from Maven Central Use net.i2p.crypto:eddsa directly from Maven Central Use org.tukaani:xz directly from Maven Central Use args4j directly from Maven Central Use gson directly from Maven Central Remove unused $NON-NLS-1$ Remove unused API filters Switch to Apache MINA sshd 2.10.0 [releng] API filter for PackIndex.DEFAULT_WRITE_REVERSE_INDEX PackExt: add a #getTmpExtension method UploadPack: Record negotiation stats on fetchV2 call RewriteGeneratorTest: Introduce test cases for the RewriteGenerator PackWriter: write the PackReverseIndex file Prepare 6.6.0-SNAPSHOT builds JGit v6.6.0.202305031100-m2 Update Maven plugins Add TransportHttp#getAdditionalHeaders Add 4.27 (2023-03) and 4.28 (2023-06) target platforms Fix inProcessPackedRefsLock not shared with copies of the instance Update slf4j to 1.7.36 and consume it directly from Maven Central Update assertj-core to 3.24.2 Update plexus-compiler to 2.13.0 Update Apache commons-codec to 1.15 Update org.apache.commons:commons-compress to 1.23.0 Update javaEWAH to 1.2.3 and use it directly from Maven central Update org.eclipse.jdt:ecj to 3.33.0 Add missing @since tag to IntComparator Update to jakarta.servlet:jakarta.servlet-api:4.0.4 Support rebasing independent branches Support cherry-picking a root commit AddCommand: ability to switch off renormalization Update jetty to 10.0.15 and use it from Maven central directly Update bouncycastle to 1.73 [errorprone] Fix MissingOverride error PackReverseIndexWriter: write out version 1 reverse index file IntList: add #sort using quick sort for O(n log n) runtime. [bazel] Move ToolTestCase to src folder (6.2) GcConcurrentTest: @Ignore flaky testInterruptGc Fix CommitTemplateConfigTest Fix after_open config and Snapshotting RefDir tests to work with bazel [bazel] Skip ConfigTest#testCommitTemplatePathInHomeDirecory Demote severity of some error prone bug patterns to warnings [bazel] Fix version number of bcpg-jdk18on Parse pull.rebase=preserve as alias for pull.rebase=merges Use bouncycastle libraries directly from Maven Central UploadPack: Fix NPE when traversing a tag chain Add missing @since tag for BatchRefUpdate#getRefDatabase Add missing since tag for SshBasicTestBase Add missing since tag for SshTestHarness#publicKey2 Silence API errors Prevent infinite loop rescanning the pack list on PackMismatchException Remove blank in maven.config PackedBatchRefUpdate#execute: reduce nesting of try-catch blocks PackedBatchRefUpdate: Handle the case where loose refs fail to pack Remove blank in maven.config Add protocol configuration to Amazon S3 transport [pgm] Implement git tag --contains option ListTagCommand: implement git tag --contains RevWalk: use generation number to optimize getMergedInto() DfsPackFile: Extract block aligment code Ensure parsed RevCommitCG has derived data from commit-graph PatchApplierTest: specify charset to avoid warning GcConcurrentTest: @Ignore flaky testInterruptGc PatchApplier: Check for existence of src/dest files before any operation Revert "RefDirectory: Throw exception if CAS of packed ref list fails" RefDirectory.delete: Prevent failures when packed-refs is outdated RefDirectory.pack: Only rely on packed refs from disk RefDirectory: Make pack() and commitPackRefs() void Implement a snapshotting RefDirectory for use in request scope Fix RefDirectoryTest.testGetRefs_LooseSorting_Bug_348834 PackedBatchRefUpdate: Ensure updates are applied on latest packed refs Downgrade maven-site-plugin to 3.12.1 Use wagon-ssh-external to deploy Maven site Record my e-mail change in .mailmap [releng] Bump japicmp base version PatchApplier: missing @since, and minor formatting BasePackFetchConnection: support negotiationTip feature DirCache: support option index.skipHash PatchApplierTest: Remove test data with Apache license Fix PatchApplier error handling. Ensure FileCommitGraph scans commit-graph file if it already exists GC: Close File.lines stream GC: Close File.lines stream Rerun flaky tests 3 times Prepare 6.5.1-SNAPSHOT builds JGit v6.5.0.202303070854-r Ignore generated org.eclipse.jgit.benchmarks/dependency-reduced-pom.xml [sshd] Fix calculation of timeout in AbstractClientProxyConnector Silence API error raised for removed BranchRebaseMode#PRESERVE [errorprone] Suppress [Finally] warnings Update Orbit to R20230302014618 for 2023-03 Improve test coverage when core.trustPackedRefsStat set to after_open Prepare 6.6.0-SNAPSHOT builds Prepare 6.5.0-SNAPSHOT builds JGit v6.5.0.202302281825-rc1 Prepare 6.5.0-SNAPSHOT builds Change config pull.rebase=preserve to pull.rebase=merges BatchingProgressMonitor: expose time spent per task PackWriter: offer to write an object-size index for the pack Fix formatting in GC#doGc PackExt: Define new extension for the object size index JGit v6.5.0.202302221508-m3 If tryLock fails to get the lock another gc has it Fix GcConcurrentTest#testInterruptGc Don't swallow IOException in GC.PidLock#lock Check if FileLock is valid before using or releasing it Use Java 11 ProcessHandle to get pid of the current process UploadPack: use allow-any-sha1-in-want configuration Acquire file lock "gc.pid" before running gc Silence API errors introduced by 9424052f Externalize strings introduced in c9552aba Silence API error introduced by 596c445a PackConfig: add entry for minimum size to index Fix getPackedRefs to not throw NoSuchFileException PackObjectSizeIndex: interface and impl for the object-size index UInt24Array: Array of unsigned ints encoded in 3 bytes. PackIndex: expose the position of an object-id in the index Add pack options to preserve and prune old pack files DfsPackFile/DfsGC: Write commit graphs and expose in pack ObjectReader: Allow getCommitGraph to throw IOException Allow to perform PackedBatchRefUpdate without locking loose refs Document option "core.sha1Implementation" introduced in 59029aec UploadPack: consume delimiter in object-info command PatchApplier fix - init cache with provided tree Prepare 6.5.0-SNAPSHOT builds JGit v6.5.0.202302011120-m2 Avoid error-prone warning Fix unused exception error-prone warning UploadPack: advertise object-info command if enabled Shortcut during git fetch for avoiding looping through all local refs FetchCommand: fix fetchSubmodules to work on a Ref to a blob Silence API warnings introduced by I466dcde6 Allow the exclusions of refs prefixes from bitmap Move MemRefDatabase creation in a separate method. PackWriterBitmapPreparer: do not include annotated tags in bitmap BatchingProgressMonitor: avoid int overflow when computing percentage DfsReaderIoStats: Add Commit Graph fields into DfsReaderIoStats [pgm] Fetch-CLI: add support for shallow Speedup GC listing objects referenced from reflogs Re-add servlet-api 4.0 to the target platform Upgrade maven plugins Cache trustFolderStat/trustPackedRefsStat value per-instance Refresh 'objects' dir and retry if a loose object is not found Prepare 6.5.0-SNAPSHOT builds JGit v6.5.0.202301111425-m1 Update Orbit to S20230101190934 Update to releases p2 repo for 4.26 simultaneous release RevWalk: integrate commit-graph with commit parsing FileSnapshotTest: Add more MISSING_FILE coverage GC: disable writing commit-graph for shallow repos Introduce core.trustPackedRefsStat config RefDatabase: fix javadoc formatting Pull up additionalRefsNames from RefDirectory to RefDatabase Add TernarySearchTree CommitGraph: teach ObjectReader to get commit-graph PatchApplier: fix handling of last newline in text patch CommitGraph: add commit-graph for FileObjectDatabase Reformat PatchApplier and PatchApplierTest PackWriter#prepareBitmapIndex: add clarifying comments IO#readFully: provide overload that fills the full array Fix API warnings for the new CommitGraph PackReverseIndex#findPosition: fix typo in method name GC: Write commit-graph files when gc CommitGraph: add core.commitGraph config CommitGraph: implement commit-graph read Gc#deleteOrphans: avoid dependence on PackExt alphabetical ordering WalkPushConnection: Sanitize paths given to transports Fix documentation for core.trustFolderStat GraphCommits: Remove unused getter by position CommitGraphWriter: fix UnusedException errorprone error Update jetty to 10.0.13 PackExt: Add a commit graph extension. BatchRefUpdate: Consistent switch branches in ref update RefWriter#writePackedRefs: Remove a redundant "if" check commitgraph package: fix exports/imports, add @since tag for new API CommitGraph: implement commit-graph writer [releng] bump japicmp base version Prepare 6.4.1-SNAPSHOT builds JGit v6.4.0.202211300538-r Fix crashes on rare combination of file names Prepare 6.5.0-SNAPSHOT builds Prepare 6.4.0-SNAPSHOT build JGit v6.4.0.202211231055-rc1 [pgm] Add options --name-only, --name-status to diff, log, show Update Orbit to R20221123021534 for 2022-12 RBE: Update toolchain with bazel-toolchains 5.1.2 release SshTestGitServer: : ensure UploadPack is closed to fix resource leak UploadPackTest: ensure UploadPack is closed to fix resource leak [pgm] Ensure UploadPack is closed to fix resource leak UploadPackServlet#doPost use try-with-resource to ensure up is closed Fix warnings in PatchApplierTest Fix boxing warnings in TransportTest Silence warnings about unclosed BasePackPushConnection Fix warning about non-externalized String Remove unused imports Suppress non-externalized String warnings Remove unused API problem filters Silence API errors Silence API errors Silence API warnings Add 4.26 target platform Use "releases" repository for 4.25 target platform Update Apache Mina SSHD to 2.9.2 Update Orbit to S20221118032057 DfsBlockCache: Report IndexEventConsumer metrics for reverse indexes. DfsStreamKey: Replace ForReverseIndex to separate metrics. Prepare 6.4.0-SNAPSHOT builds RawText.isBinary(): handle complete buffer correctly JGit v6.4.0.202211160543-m3 PackExt: Add a reverse index extension. [benchmarks] Remove profiler configuration Add SHA1 benchmark [benchmarks] Set version of maven-compiler-plugin to 3.8.1 Fix running JMH benchmarks Add option to allow using JDK's SHA1 implementation Fix API breakage caused by extracting WorkTreeUpdater Update Orbit to S20221109014815 Use replace instead of replaceAll in toCleanString Extract Exception -> HTTP status code mapping for reuse Don't handle internal git errors as an HTTP error Fix the path for JSchText.properties Fix crashes on rare combination of file names Fix Maven SHA1 for Bazel build UploadPack: Receive and parse client session-id TransferConfig: Move reading advertisesid setting into TransferConfig FirstWant: Parse client session-id if received. ReceivePack: Receive and parse client session-id. Ignore IllegalStateException if JVM is already shutting down Prepare 6.4.0-SNAPSHOT builds Allow to perform PackedBatchRefUpdate without locking loose refs JGit v6.4.0.202210260700-m2 PushCommand: allow users to disable use of bitmaps for push I/O redirection for the pre-push hook PackParser: populate full size of the PackedObjectInfos PackedObjectInfo: add the full size to the description ObjectReader: New #isNotLargerThan method Fail build if there are license issues with dependencies Update org.apache.httpcomponents:httpcore to 4.4.15 Update Orbit to S20220927175816 Update JMH to 1.35 Update org.eclipse.jdt:ecj to 3.31.0 Update plexus compiler to 2.12.1 Update org.apache.maven.wagon:wagon-ssh to 3.5.2 pgm/BUILD: Add dependencty to java EWAH [sshd] Guard against numerical overflow Remove unused imports Remove unused API filters ObjectDirectory: avoid using File.getCanonicalPath() AutoCRLFOutputStream: use BufferedOutputStream CloneCommand: set HEAD also when not checking out Pass on shallowSince only if not null Fix wrong @since tag Split out ApplyCommand logic to PatchApplier class Prepare 6.4.0-SNAPSHOT builds Fix typo in FetchV2Request javadoc Prepare 6.3.1-SNAPSHOT builds DfsBundleWriter: Add test case about GC_REST pack. JGit v6.3.0.202209071007-r JGit v6.3.0.2022009070944-r [merge] Fix merge conflicts with symlinks Update DEPENDENCIES for 6.3.0 Update tycho to 2.7.5 Move WorkTreeUpdater to merge package WorkTreeUpdater: use DirCacheCheckout#StreamSupplier DirCacheCheckout#getContent: also take InputStream supplier Revert "Adds FilteredRevCommit that can overwrites its parents in the DAG." Revert "Option to pass start RevCommit to be blamed on to the BlameGenerator." WorkTreeUpdater: remove safeWrite option Update Orbit to R20220830213456 for 2022-09 BaseSuperprojectWriter: report invalid paths as manifest errors ApplyCommand: fix ApplyResult#updatedFiles WorkTreeUpdater: rename metadata maps WorkTreeUpdater#Result: hide data members Add javadoc on RevCommit Option to pass start RevCommit to be blamed on to the BlameGenerator. WorkTreeUpdater: re-format and clean-up Prepare 6.3.0-SNAPSHOT builds Adds FilteredRevCommit that can overwrites its parents in the DAG. JGit v6.3.0.202208161710-m3 DirCacheCheckout: load WorkingTreeOptions only once WorkTreeUpdater: Fix unclosed streams Fix adding symlinks to the index when core.symlinks=false Remove unused API problem filters Add missing @since tag for RevCommit#parents introduced in 61b4d105e4 Fix API errors caused by 23a71696cd Provide default shallowCommits getter and setter in ObjectDatabase Reapply "Create util class for work tree updating in both filesystem and index." ResolveMerger: add coverage for inCore file => directory transition Provide encoding to String#getBytes() Revert "Create util class for work tree updating in both filesystem and index." Provide a default implementation for set/get shallowCommits on DfsObjDatabase Revert "Adds FilteredRevCommit that can overwrites its parents in the DAG." Revert "Option to pass start RevCommit to be blamed on to the BlameGenerator." CleanCommand: fix prefix matching Option to pass start RevCommit to be blamed on to the BlameGenerator. Adds FilteredRevCommit that can overwrites its parents in the DAG. Add the ability to override parents on RevCommit. Refactor NameConflictTreeWalk.fastMin method Fix BUILD rules for FilteredRenameDetectorTest Rename fastMinHasMatch to allTreesNamesMatchFastMinRef Document TreeWalk#min() Squash error-prone messages Use constants for git packet protocol line identifiers ObjectDirectory: improve reading of shallow file Fetch: add support for shallow [tests] Stabilize the HTTP server's request log NameConflictTreeWalk: respect git order on multi-tree iteration Update Orbit to S20220726152247 and bouncycastle to 1.71 Create util class for work tree updating in both filesystem and index. Fix the handling of .git/info/exclude and core.excludesFile Remove version constraints from org.tukaani.xz package Change-Id: I31997b67bf432ae3bf6b1cde076fa9307b1e00f4
| * [gpg] Refactor the GpgSignatureVerifierThomas Wolf2024-02-011-52/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new method verify(GpgConfig, byte[], byte[]) and deprecate the existing verify(byte[], byte[]). Some implementations of the interface may need the GpgConfig. Factor out extracting the raw armored signature from commits or tags into an abstract AbstractGpgSignatureVerifier class so that different implementations don't have to re-implement that bit. Call the new verify method, passing along the GpgConfig. This makes the GPG interfaces more versatile and facilitates implementing an alternate GpgSignatureVerifier. Change-Id: I9cf093caa9fdebede801d665f2591cd9b275e1fd
| * Enable using slf4j 2.xMatthias Sohn2023-12-221-1/+1
| | | | | | | | | | | | | | | | Eclipse platform moved to sfl4j 2.x. Hence relax version constraint so that both 1.7 and 2.x are allowed. Bug: egit-5 Change-Id: Ie0b00310d8f3f2553457c8668a38978a67b8febe
| * Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2023-12-043-10/+10
| | | | | | | | Change-Id: Id1d784ec4870cfb53c4b140fe0bb3fad9eef651d
| * Prepare 6.8.1-SNAPSHOT buildsMatthias Sohn2023-11-293-10/+10
| | | | | | | | Change-Id: I56458c5345dcd9544868c948e90c9827d25c6850
| * JGit v6.8.0.202311291450-rv6.8.0.202311291450-rMatthias Sohn2023-11-293-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Iecfe3f628cfdc437ee0d63fe52653ef952c8c494
| * Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-11-223-4/+4
| | | | | | | | Change-Id: I89178175549541111cddb88da401899960c0ecac
| * JGit v6.8.0.202311212206-rc1v6.8.0.202311212206-rc1Matthias Sohn2023-11-213-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I6a40cdef68538fa769f4525eb2ff1ed4a810f11c
| * gpg.bc: Supress errorprone InsecureCryptoUsageIvan Frade2023-11-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | From errorprone doc: "Dynamically constructed transformation strings are also flagged, as they may conceal an instance of ECB mode." https://errorprone.info/bugpattern/InsecureCryptoUsage Silence the message as a quick relief. Change-Id: I348f0fff0e3b24ce1f11917e849b4095b186d1f0
| * Enable Maven reproducible buildsMatthias Sohn2023-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - configure Maven to run build reproducibly [1] - use UTC timestamp of checked out commit as build timestamp - add git-describe, git-commit-id, git-commit-id, git-tags, git-remote-origin-url to MANIFEST.MF files - configure cyclonedx-maven-plugin to also use UTC timestamp of checked out commit - for packaging build use tycho-buildtimestamp-jgit [2] to ensure version uses the timestamp of the last commit - SBOMs are not reproducible by design [3] they should have a build timestamp matching the time when the build was executed and a serial number which is a unique UUID per build run. Hence exclude them from comparison [4]. - Use gmavenplus-plugin to format build timestamps. Maven expects build timestamp in ISO-8601 format, to replace the qualifier in versions the timestamp format must be compatible with rules for OSGi version numbers. Didn't find a way to read the properties set by the git-commit-id-maven-plugin from another plugin. Hence use JGit in a groovy script to get the commit time of the current HEAD and provide it in these two formats. TODO: packaging build (features and p2 repository) is not yet binary reproducible since that's not yet supported by Tycho [5], artefacts have reproducible version numbers but file lastModified timestamps are not yet reproducible. Test plan for Maven build: - build using mvn clean install" - verify second build is reproducible: mvn -T1 clean verify artifact:compare verification seems not to be thread-safe, hence run it with a single thread using option -T1 For packaging build (still fails due to non-reproducible file timestamps): - build using mvn -f org.eclipse.jgit.packaging/pom.xml clean install - verify second build is reproducible: mvn -T1 -f org.eclipse.jgit.packaging/pom.xml clean verify artifact:compare [1] https://maven.apache.org/guides/mini/guide-reproducible-builds.html [2] https://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers [3] https://github.com/CycloneDX/cyclonedx-maven-plugin/issues/84 [4] https://maven.apache.org/plugins/maven-artifact-plugin/compare-mojo.html [5] https://github.com/eclipse-tycho/tycho/issues/233 Change-Id: I0202f55a1b6ae0edd922cfef638beb39d2ce9417
| * [errorprone] Fix InconsistentCapitalizationMatthias Sohn2023-10-061-3/+3
| | | | | | | | | | | | See https://errorprone.info/bugpattern/InconsistentCapitalization Change-Id: Ibd71a992128ca2e5f916a08dd11da67c5a2f8aad
| * [errorprone] Suppress MissingSummary for translation bundlesMatthias Sohn2023-09-251-0/+1
| | | | | | | | Change-Id: I4da51c7e089366b016a0cc64f768a151c24bc956
| * OSGi: move plugin localization to subdirectoryThomas Wolf2023-09-123-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSGi can have its plugin localization at an arbitrary place; there is no need to have it in a top-level plugin.properties file. In non-OSGi environments having the files at the root level may mean that these files clash with each other, or, as in the referenced bug, with some third-party plug-in's plugin.properties, which may not even have anything to do with localization. Move our OSGi localization to a subfolder OSGI-INF/l10n. For OSGi environments, that's just as good, and for non-OSGi environments it avoid clashes with other root level items on the classpath or in a fat JAR. For fragments, use neither plugin.properties (which would clash with the host plug-in's plugin.properties) nor fragment.properties (which might clash with other fragments for the same fragment host bundle). Instead use names "relative" to the host bundle. Bug: 582394 Change-Id: Ifbcd046d912e2cfe86c0f7259c5ca8de599d9aa1 Signed-off-by: Thomas Wolf <twolf@apache.org>
| * Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-09-073-10/+10
| | | | | | | | Change-Id: Ifc81f0a96c2ced0b25926b9daa539d9cfc951925
| * Prepare 6.7.1-SNAPSHOT buildsMatthias Sohn2023-09-073-10/+10
| | | | | | | | Change-Id: I96097ef8c6f198220f513bbc6d5f8881834a1491
| * JGit v6.7.0.202309050840-rv6.7.0.202309050840-rMatthias Sohn2023-09-053-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ibe952d97bc178adb909cdd40f48957f5b68af699
| * Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-303-4/+4
| | | | | | | | Change-Id: I49751232464e70b7d1dc3292a9f36b7a7015e44f
| * JGit v6.7.0.202308301100-rc1v6.7.0.202308301100-rc1Matthias Sohn2023-08-303-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I712a9f6830364ed404d03f3a145c055906273544
| * Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-033-4/+4
| | | | | | | | Change-Id: I936d2d9106a1e3b7a98ec89fec8ae8a92ec765f2
| * JGit v6.7.0.202308011830-m2v6.7.0.202308011830-m2Matthias Sohn2023-08-023-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I255a979e9f48f60a251ef7b74ced3f720f012706