Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package byte-buddy for openSUSE:Factory checked in at 2024-10-30 17:34:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/byte-buddy (Old) and /work/SRC/openSUSE:Factory/.byte-buddy.new.2020 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "byte-buddy" Wed Oct 30 17:34:00 2024 rev:9 rq:1219036 version:1.15.7 Changes: -------- --- /work/SRC/openSUSE:Factory/byte-buddy/byte-buddy.changes 2024-10-14 13:06:44.471530308 +0200 +++ /work/SRC/openSUSE:Factory/.byte-buddy.new.2020/byte-buddy.changes 2024-10-30 17:34:24.896203580 +0100 @@ -1,0 +2,22 @@ +Wed Oct 23 10:55:21 UTC 2024 - Anton Shvetz <shvetz.an...@gmail.com> + +- Update to v1.15.7 + * Changes of v1.15.7 + + Additional release after time out during previous Gradle + plugin release. + * Changes of v1.15.6 + + Add ConstructorResolver to Super annotation for + MethodDelegation to allow for dynamic constructor resolution. + + Add Java 8 versions of shaded ASM to allow for faster class + file validation and CDS support. + +------------------------------------------------------------------- +Thu Oct 17 10:23:16 UTC 2024 - Anton Shvetz <shvetz.an...@gmail.com> + +- Update to v1.15.5 + * Changes of v1.15.5 + + Publish Byte Buddy and Byte Buddy agent artifacts as + multi-release jars to support CDS and faster validation. +- Remove Windows-specific resources + +------------------------------------------------------------------- @@ -4 +26 @@ -- Update to v1.15.3 +- Update to v1.15.4 Old: ---- byte-buddy-1.15.4.tar.gz New: ---- byte-buddy-1.15.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ byte-buddy.spec ++++++ --- /var/tmp/diff_new_pack.g6EwKR/_old 2024-10-30 17:34:25.492228545 +0100 +++ /var/tmp/diff_new_pack.g6EwKR/_new 2024-10-30 17:34:25.496228713 +0100 @@ -17,7 +17,7 @@ Name: byte-buddy -Version: 1.15.4 +Version: 1.15.7 Release: 0 Summary: Runtime code generation for the Java virtual machine License: Apache-2.0 @@ -78,6 +78,9 @@ %setup -q -n %{name}-%{name}-%{version} %patch -P 0 -p1 +# Remove Windows-specific resources +rm -rf byte-buddy-agent/src/main/resources/win32-x86{,-64} + # Don't ship android or benchmark modules %pom_disable_module byte-buddy-android %pom_disable_module byte-buddy-android-test ++++++ byte-buddy-1.15.4.tar.gz -> byte-buddy-1.15.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/.github/workflows/main.yml new/byte-buddy-byte-buddy-1.15.7/.github/workflows/main.yml --- old/byte-buddy-byte-buddy-1.15.4/.github/workflows/main.yml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/.github/workflows/main.yml 2024-10-23 09:27:02.000000000 +0200 @@ -68,7 +68,7 @@ strategy: fail-fast: false matrix: - java: [ 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22 ] + java: [ 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23 ] runs-on: ubuntu-24.04 needs: [ extended ] steps: @@ -155,7 +155,7 @@ architecture: x64 cache: maven - name: Build project - run: ./mvnw jacoco:prepare-agent verify jacoco:report coveralls:report -DrepoToken=${{ secrets.coveralls }} -Pextras -Pchecks -Panalysis -Pintegration -Pchecksum-enforce + run: ./mvnw jacoco:prepare-agent verify jacoco:report coveralls:report -DrepoToken=${{ secrets.coveralls }} -Pextras -Pchecks -Panalysis -Pintegration -Pmulti-release -Pchecksum-enforce release: name: Release new version runs-on: ubuntu-24.04 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/.mvn/checksums.sha256 new/byte-buddy-byte-buddy-1.15.7/.mvn/checksums.sha256 --- old/byte-buddy-byte-buddy-1.15.4/.mvn/checksums.sha256 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/.mvn/checksums.sha256 2024-10-23 09:27:02.000000000 +0200 @@ -38,6 +38,8 @@ classworlds:classworlds:jar:1.1-alpha-2 2bf4e59f3acd106fea6145a9a88fe8956509f8b9c0fdd11eb96fee757269e3f3 classworlds:classworlds:pom:1.1 25a1efc00bcd1f029fd20c44df843b8b12d1fa17485235470764f011d2f5cb29 classworlds:classworlds:pom:1.1-alpha-2 0cc647963b74ad1d7a37c9868e9e5a8f474e49297e1863582253a08a4c719cb1 +codes.rafael.bytecodeupdate:bytecode-update-maven-plugin:jar:1.0 cfa943b4e5f837c0028fbe3f6f9484f42dfed9174953b30ede0d84ec4aeaf2c9 +codes.rafael.bytecodeupdate:bytecode-update-maven-plugin:pom:1.0 6e783d2d272a5a86dc4831ca66bf3006108b42d2f0156513f0f2d86b6bbbf197 codes.rafael.modulemaker:modulemaker-maven-plugin:jar:1.11 21873e7ae9bab90de820bc35108c1891f9c49b698ef300f19ed79232213c690f codes.rafael.modulemaker:modulemaker-maven-plugin:jar:1.9 ddaf9e624b0c92f6193f97084d1384613694ff7bc73e183e73fff51567c4c7fa codes.rafael.modulemaker:modulemaker-maven-plugin:pom:1.11 e212d74e3b0734238617531d1a55ad8df74c2da18a0da6a10d3fa7a9c574fc9c @@ -494,6 +496,7 @@ commons-io:commons-io:jar:1.4 a7f713593007813bf07d19bd1df9f81c86c0719e9a0bb2ef1b98b78313fc940d commons-io:commons-io:jar:2.11.0 961b2f6d87dbacc5d54abf45ab7a6e2495f89b75598962d8c723cea9bc210908 commons-io:commons-io:jar:2.13.0 671eaa39688dac2ffaa4645b3c9980ae2d0ea2471e4ae6a5da199cd15ae23666 +commons-io:commons-io:jar:2.14.0 e35d1df7232568ed4b81d9a9ed94a0159b3ff6cf1915cc21eef5cb55d7b157a2 commons-io:commons-io:jar:2.15.1 a58af12ee1b68cfd2ebb0c27caef164f084381a00ec81a48cc275fd7ea54e154 commons-io:commons-io:jar:2.2 675f60bd11a82d481736591fe4054c66471fa5463d45616652fd71585792ba87 commons-io:commons-io:jar:2.4 cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 @@ -503,6 +506,7 @@ commons-io:commons-io:pom:1.4 2dae496a19c82b8e9985a1246aa80cf98082b1ae2217cf4b2d4d5ff13a365af2 commons-io:commons-io:pom:2.11.0 2e016fd7e3244b5f2c20acad834d93aa4790486ee1e4564641361a3e831eef59 commons-io:commons-io:pom:2.13.0 db3fed64c2e1774ebfd6b1a749037732b149b9111dd7e6b985f08dda55470439 +commons-io:commons-io:pom:2.14.0 34d40b58f8a86574200f08ac8b8d1d0a1aa74c72c1c7f6d898f8b8b76eda7d8b commons-io:commons-io:pom:2.15.1 171a1af82b6759eb5740b3b8809aca80113deaf1153036f2f4445901dfd3f91d commons-io:commons-io:pom:2.2 6c221dc2dca94331a92a9cb19b3943631f7cb7c0302255fb5cd0450654e812c7 commons-io:commons-io:pom:2.4 b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 @@ -649,6 +653,8 @@ net.bytebuddy:byte-buddy-agent:jar:1.15.1 77a39846b42110eb50e49e4ff6137e3f0a92eb3bb6f59ce52dc4095c8b901005 net.bytebuddy:byte-buddy-agent:jar:1.15.2 f8673a2dec2a4c2b0a910d92b4b332bb9622890332138e4c401364cba74eda77 net.bytebuddy:byte-buddy-agent:jar:1.15.3 f228fd30294bba92e0409edf1318c487d0df0a48a276081bf6e47bb3fb1c14ab +net.bytebuddy:byte-buddy-agent:jar:1.15.4 1d76defd159a564b9cb7a968d0dea27367b8b70ebde75a968e7ef1921bc75ee4 +net.bytebuddy:byte-buddy-agent:jar:1.15.5 af7473d13f69b555558067b9c8d0d6ffc568b926d1b53b94b8bb419aec151a2c net.bytebuddy:byte-buddy-android:jar:1.12.19 bb73d3b9ace5a60a9a9aa1701761073b3df3baf79ff463aed6cd94b724fd3ba9 net.bytebuddy:byte-buddy-android:jar:1.12.20 f43b8b7eb840f6140135066224f0e6b565b9becb05345fdc572a66bfb92df0aa net.bytebuddy:byte-buddy-android:jar:1.12.21 bf4ad1405c2fcaa8b179929f9a64c8ee66d04f34b0e3fe8a90b28c738f883fe9 @@ -679,6 +685,8 @@ net.bytebuddy:byte-buddy-android:jar:1.15.1 b8724a3372f76dbbe01ea3385baad0c325c583f637a87d32428b612be70b5b32 net.bytebuddy:byte-buddy-android:jar:1.15.2 a19d628dee90c74e96a321e9814e2c5f3fe4e6404b05a7b25ec407e227e25e7e net.bytebuddy:byte-buddy-android:jar:1.15.3 ee0b719fd4c707bc3be4932257f2110d0732ae934a208973ad0f40c4dfc72419 +net.bytebuddy:byte-buddy-android:jar:1.15.4 eeb6912d72c39585dd49b5eb315fcb87d2f901af46c3cb0879fc9c1956a15205 +net.bytebuddy:byte-buddy-android:jar:1.15.5 e6c58086cd3d8ca97d6e0ad3b93fa162bbeec759d24749e3a0f90f418f3d9d45 net.bytebuddy:byte-buddy-dep:jar:1.12.19 a85bb853ec6ec156b10ea0b5b0e38ac0f89c6c2bc89dd0358772a0dff2eb85c9 net.bytebuddy:byte-buddy-dep:jar:1.12.20 d7e15d3ccc0508e78a146f1be420779eb3e2e9a537e3c8add3cd6d802c9a615e net.bytebuddy:byte-buddy-dep:jar:1.12.21 116b320c1f3f8539978ea67989d94e9bfed3e9422beb5a76749d967439ec8f9d @@ -709,6 +717,8 @@ net.bytebuddy:byte-buddy-dep:jar:1.15.1 ade2ebcc897db4ecc13ab61188d8251665314cbf8f3268e558e75f9728380fc6 net.bytebuddy:byte-buddy-dep:jar:1.15.2 50f05dad8a626e588b2f89de7eefc9212515d45d6a03fb87870f946f0bab56f7 net.bytebuddy:byte-buddy-dep:jar:1.15.3 6fb92a21fa28436bc794737fc01b45b16e1178b3f6aa1f1f3b93b197d3a6d0ac +net.bytebuddy:byte-buddy-dep:jar:1.15.4 d20dea5ae80fed8ff173461c0d200fdfd4bd268a0dcd544753d3b74e7e7dfde6 +net.bytebuddy:byte-buddy-dep:jar:1.15.5 972e5b204703ec2b9748f4f0f545614869b5ab20e5e242523f9eeb5fa34a5a6f net.bytebuddy:byte-buddy-maven-plugin:jar:1.12.19 3419e2afbfac4f21ef709ee3f8f08fc1d71001e07ba2524a0bb2a3c28f3e1087 net.bytebuddy:byte-buddy-maven-plugin:jar:1.12.20 48a36e2e8c2dbe2b3673ef8bf6be22b021cfca35d6205a3d5e722f74db42d52b net.bytebuddy:byte-buddy-maven-plugin:jar:1.12.21 cb3332f89cc6502e3637dbe509c08c55cb5ad528c675131858dda89eabf7c9fc @@ -736,6 +746,8 @@ net.bytebuddy:byte-buddy-maven-plugin:jar:1.15.1 9cb4a37d5bb17cd55ea52e9f660a87b7b9fdae56bfe886f9588b09929207f7e3 net.bytebuddy:byte-buddy-maven-plugin:jar:1.15.2 1cda61087db3b8159f77be5f74e04f816a24ea1d9cd54ba0b537c6573c6d118e net.bytebuddy:byte-buddy-maven-plugin:jar:1.15.3 16610e701b07628b3ef47a9666748234217e53e6fb36c03b556ff8080558ce89 +net.bytebuddy:byte-buddy-maven-plugin:jar:1.15.4 2274f3e5fb88248cd237f4b3e43b53a8befd09e71cc4f0f3fcfad09bd7cbd83d +net.bytebuddy:byte-buddy-maven-plugin:jar:1.15.5 9dc9c2afc60aa5b02a0f29dfb8d0e9172f1f3aecd43bdd767fd83d7be6d482a6 net.bytebuddy:byte-buddy-maven-plugin:pom:1.12.19 c2051f8cbdf328692f36077627be07168334ee9167b72e5bf608eae624163b4f net.bytebuddy:byte-buddy-maven-plugin:pom:1.12.20 2d112ff342e7db7da484d038807749c1a87c81419b789a86b950a37bdd65b207 net.bytebuddy:byte-buddy-maven-plugin:pom:1.12.21 13576ca6b9c44ab9789ada11ee400dcd3f4bcc22a7cab6f7052aeeb49a8c02e1 @@ -763,6 +775,8 @@ net.bytebuddy:byte-buddy-maven-plugin:pom:1.15.1 d8f649ffa066009efc71e967a45cca915c6ffb1c4a4508b0718f4a51d4437197 net.bytebuddy:byte-buddy-maven-plugin:pom:1.15.2 11d71812ac7ea9f397967f984750d4484dd9c027a4a64f5730d840bb3542aa15 net.bytebuddy:byte-buddy-maven-plugin:pom:1.15.3 03e3efd289dad0b03dedfcb73d6fef643ff2eb883de698aa87a80fffcab8489c +net.bytebuddy:byte-buddy-maven-plugin:pom:1.15.4 419d1b41d67718c954af8f3ba7d0dd6d52e8a7c8d4cd8a9a9ee73d3388a36ea2 +net.bytebuddy:byte-buddy-maven-plugin:pom:1.15.5 1686ef4a2465af5d7ac46880b0d65f0bf2c25912aac9621e506452344f4392b8 net.bytebuddy:byte-buddy-parent:pom:1.12.19 72ab6fef409e812921f4728b3c4b6ef4fa53bc25fabb0488fc2cae367368b54d net.bytebuddy:byte-buddy-parent:pom:1.12.20 ac59dd7bc0316c51ab29e7c44ae7941ba8c7bf84789edb1dc8fbef2f16535b99 net.bytebuddy:byte-buddy-parent:pom:1.12.21 ff66d886607137e2095f20c90ee093f3c80329164eff091a0688bdce37e3e6b2 @@ -790,6 +804,8 @@ net.bytebuddy:byte-buddy-parent:pom:1.15.1 7bb21259d04796865f0d83dd3344fcffdd34c94515c00a6525a8996acb1c413f net.bytebuddy:byte-buddy-parent:pom:1.15.2 3be68060e65990669555e02f4cf7826e10122462c14cb14c1b2db78447795bfd net.bytebuddy:byte-buddy-parent:pom:1.15.3 6e2f8cb09d5f363ddf1f9a1f479ebae5ca82fd93f5434c9c61d765393d6252e9 +net.bytebuddy:byte-buddy-parent:pom:1.15.4 9702c2213e3fdb7087bfd334b6343cd05f44508a93eb8f94aa7da654ac1fb48f +net.bytebuddy:byte-buddy-parent:pom:1.15.5 2a9971f032f3c726004a02695270a812378453e5395cf1b6ebb9082cd295e5c3 net.bytebuddy:byte-buddy:jar:1.12.19 030704139e46f32c38d27060edee9e0676b0a0fff8a8be53461515154ba8a7be net.bytebuddy:byte-buddy:jar:1.12.20 0a9b2795e0e2391117062f0fc7f6ae98fa3c2a7c927847ff1e01bb7cffcd9167 net.bytebuddy:byte-buddy:jar:1.12.21 f6f45c2237a7f132c16745ad2a52c4cdde58028b11ee80b09f0d422f4930d685 @@ -817,6 +833,8 @@ net.bytebuddy:byte-buddy:jar:1.15.1 cc5f178f37ef83339b7ec93e8d0bed6b0730871cdb39c663527ddeae4a54a825 net.bytebuddy:byte-buddy:jar:1.15.2 c754a34c3bf9cc7efbe9c229a2ad185504f017b1c255100a4d3023b38e1e14d5 net.bytebuddy:byte-buddy:jar:1.15.3 50f3beedb2caa1f5cc6030eebe716cf409a476c03ec9bea08993cbbc4a32bf68 +net.bytebuddy:byte-buddy:jar:1.15.4 4a683d83ff219f20d44f35ca302d821e0c6842e3fa8f9f1ee913eb16f49cec6c +net.bytebuddy:byte-buddy:jar:1.15.5 7fb8dbd0da63bb4a5b12c75f020f6a5324120a3991c2291be54f6a96cf419570 net.bytebuddy:byte-buddy:pom:1.12.19 435fb8664aa9b7e120c8dd6c707d4eafa642fa262dff6d5e3f71dc25c69e89eb net.bytebuddy:byte-buddy:pom:1.12.20 46353d5c52659c40f0f54d05c757665552e492be36087c19307598d1bf07bbfb net.bytebuddy:byte-buddy:pom:1.12.21 95eb42c89fd04f62187dd33b9cdf04d2df1b876b375c16ad32c0a5a1cc1a070b @@ -844,6 +862,8 @@ net.bytebuddy:byte-buddy:pom:1.15.1 e358152bf7abff7b763a9670c79e798e14aed9a1b07f83476a909e3eaa222f21 net.bytebuddy:byte-buddy:pom:1.15.2 2d72568104ae6c61368aede1864519a2a233ecf0a7aee3c52eed2d046fc4fb2f net.bytebuddy:byte-buddy:pom:1.15.3 b8a90d2dbb3d98d91344d69cf7b51e41b13c02151cada67cb6126ca3174054f5 +net.bytebuddy:byte-buddy:pom:1.15.4 2fbb9eb7ed5b70285bf04397be78dc2a851d0dc2e74865d81497c61a898e21bd +net.bytebuddy:byte-buddy:pom:1.15.5 278642c7ac504a30be5f063ca94789fc1ec701a4c69ec7bc2ab2195bea556903 net.i2p.crypto:eddsa:jar:0.3.0 4dda1120db856640dbec04140ed23242215a075fe127bdefa0dcfa29fb31267d net.i2p.crypto:eddsa:pom:0.3.0 b6b13878e4bae8b768d7ea5732cb4d66ab2f5e9fe707c0a1a776cde9de52051b net.java.dev.jna:jna-platform:jar:5.12.1 8ce969116cac95bd61b07a8d5e07174b352e63301473caac72c395e3c08488d2 @@ -998,6 +1018,7 @@ org.apache.commons:commons-parent:pom:52 75dbe8f34e98e4c3ff42daae4a2f9eb4cbcd3b5f1047d54460ace906dbb4502e org.apache.commons:commons-parent:pom:54 000d8187952b223702fde296df799563f35de82ce72adb4e7bf157342378fbe3 org.apache.commons:commons-parent:pom:58 2d4b12e18899063abd7c75278b5fa97a3729d80878ceecb6a40d946e9c0d5590 +org.apache.commons:commons-parent:pom:62 74cd62d68b09aad7fb9424ea88269ab76aba0d65088d9569ff273bd207427439 org.apache.commons:commons-parent:pom:64 6f19638994e8357b4ed734696f992057efaafa1235673998133299798e2ccddb org.apache.commons:commons-parent:pom:65 6cf3495fc2e6ac913a2b7f2e03fb5908fb3f229fb06d3358dc45678d5af3e36e org.apache.commons:commons-parent:pom:66 48fd6dc846e56b1f408660d163e75300f9e384bb63be482a8082a21d72a8db9c @@ -1017,9 +1038,11 @@ org.apache.felix:maven-bundle-plugin:jar:2.5.4 52f230e7e2e4140f2e4f1c5938fedb63912a722bd21b4fbb266a9471a59cbedc org.apache.felix:maven-bundle-plugin:jar:3.5.1 b30befd53e02ccf45c44b4e30b7d3f7e5a9ee48f2b2c1a624900dfb123ca2cd3 org.apache.felix:maven-bundle-plugin:jar:5.1.7 debeb427c6794948ada6c2e2582cd20bf9a9a14592b8e550b2bfff9cb090519d +org.apache.felix:maven-bundle-plugin:jar:5.1.9 d5379a3b8dd9b898c2953a1efea780cb5dc06029399ac492bbca13d65aa28eaf org.apache.felix:maven-bundle-plugin:pom:2.5.4 97635ddf3cdd839bf91c056b30c804619e15994fabee9ebc62a325486fa5d0c8 org.apache.felix:maven-bundle-plugin:pom:3.5.1 6eb2c0e09a1ee52fea479285ddb30ce31c1b760898a42e493634b57ea85af27e org.apache.felix:maven-bundle-plugin:pom:5.1.7 43f317f35ebadd5bb3c4a2de2eb21988d407d8d80926a9ebae54998f608326f2 +org.apache.felix:maven-bundle-plugin:pom:5.1.9 5b85e06c7edaef3430c3dfd43e7ae165914a8a7b3cf94f61aa92b9a3f1307890 org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6 6759ca9b14032623096706be4cf8a85cc1345be4c3c08d95b745b9ad672c7599 org.apache.felix:org.apache.felix.bundlerepository:pom:1.6.6 c4a603649248eac9222f7be1a5950f4a3db41fe2d38647fddf6a8d3731b3af6e org.apache.felix:org.apache.felix.utils:jar:1.6.0 03dc4ee75332284f4ba4b187c8c946c07f0c822b09e02f8821d85c8d8f46ccfa @@ -1728,6 +1751,7 @@ org.apache.maven:maven-aether-provider:jar:3.0 1205a1f229999170dcadcfb885a278ad0bc2295540a251f4c438f887ead7bbd9 org.apache.maven:maven-aether-provider:jar:3.0.4 33ff4aabbd0d02e4dd8279cda8f366c69915302bc4bb97bc01814a985f5c0643 org.apache.maven:maven-aether-provider:jar:3.1.0 ec5edc09f3cc4d4e23c7f8a1105b520d63498f5a18bd00b8d3833aa38d3f136e +org.apache.maven:maven-aether-provider:jar:3.1.1 db89b9a2738d42ee05ec2279c2114bfe4f7e33b3aae3a6ca9bfe4fe9196f9ad8 org.apache.maven:maven-aether-provider:jar:3.2.5 703944b922d5351aad53b842f7dd38439b7213425f13c6c7f034b8b699b7d578 org.apache.maven:maven-aether-provider:jar:3.3.9 f46962583d812cd4459a4cc963113b9c52f1f9b169172354693bc9efa0b3e3cb org.apache.maven:maven-aether-provider:pom:3.0 755c07a1ae47cff80f633265b224341d6d8cc26f02d37eb407bc45ff5db9a71d @@ -1763,6 +1787,7 @@ org.apache.maven:maven-artifact:jar:3.0 759079b9cf0cddae5ba06c96fd72347d82d0bc1d903c95d398c96522b139e470 org.apache.maven:maven-artifact:jar:3.0.4 3c199a96af9550872724f41c053d7839dfcc6512e7704fa16c675363c4146796 org.apache.maven:maven-artifact:jar:3.1.0 7f8a8ca4b2df5f81918fab2b9231a008f470d88ec54ddcbe38474bbf21b7571e +org.apache.maven:maven-artifact:jar:3.1.1 d0d8b67c283c804e792001bd063b1dc62418f7cf8524dbae401ba3fffd55238b org.apache.maven:maven-artifact:jar:3.2.5 270385907ecfbcb256fe5afb883869fd57a5c021b5242693743ef787605c6335 org.apache.maven:maven-artifact:jar:3.3.9 1f702928f2233c6ecdf308fbd8f2932ea287c7062183d3c8364b0db7e9c4445d org.apache.maven:maven-artifact:jar:3.5.2 c636e3ee0531abda2e45ff956a1cdc93031b2ac4eacbe311fb3192b586d41e90 @@ -1807,6 +1832,7 @@ org.apache.maven:maven-core:jar:3.0 ba03294ee53e7ba31838e4950f280d033c7744c6c7b31253afc75aa351fbd989 org.apache.maven:maven-core:jar:3.0.4 3dd795c0ad9742a0be65a2a5ec22428d59dd2a891a7565ae94f64661e3740528 org.apache.maven:maven-core:jar:3.1.0 603cea35d0812036f68c48d02a20af674db2235ce9d251ecb96fe72df07be8fe +org.apache.maven:maven-core:jar:3.1.1 40e7f78eecf682a4d395dab14049e7a948c58268aee97248d0a0a0332de668e9 org.apache.maven:maven-core:jar:3.2.5 4f1a0af8997e1daf778b91c5ae9e973f92df699439d909fdec7fc6055c09de12 org.apache.maven:maven-core:jar:3.3.9 070d55ec5a6f3e4a785564283a9704bb39a93f1a2f89cdf60a3b899fde563bf9 org.apache.maven:maven-core:pom:2.0.6 1ab7fdd1b82382690c081d3ea3f53bad2902e1d62a11a8096488711e7a5f607e @@ -1828,6 +1854,7 @@ org.apache.maven:maven-model-builder:jar:3.0 1c98a4ec9eb0cb86ecf01710aa75c0346ee3f96edc6edeabcb21ed984120e154 org.apache.maven:maven-model-builder:jar:3.0.4 b4f1d3ae53c290e1ae45694c5ce2d17bf8d577ff5ece0f9aa0cffe151a6ef4e7 org.apache.maven:maven-model-builder:jar:3.1.0 45f437ef89851578e7d230c873b7aa766147e807100a044e7d17213f0a8ac2e5 +org.apache.maven:maven-model-builder:jar:3.1.1 a4edbd8a8c0a6724c25200f71df3407a0b400a4f15c4999d058ee6aaac04ec73 org.apache.maven:maven-model-builder:jar:3.2.5 cc5321269d080ad6694458f53186be5391a21c488ab3a7d6dd73123c7681879d org.apache.maven:maven-model-builder:jar:3.3.9 6909cb229489e693df7960678528800a1759625835a1cb939c37b051c22193c3 org.apache.maven:maven-model-builder:pom:3.0 c1413ace47dafabe7917072f26e0b667f5b3a762156f82893544cd71e6a6c4ba @@ -1844,6 +1871,7 @@ org.apache.maven:maven-model:jar:3.0 27e426d73f8662b47f60df0e43439b3dec2909c42b89175a6e4431dfed3edafd org.apache.maven:maven-model:jar:3.0.4 26b6825ea73ac4d7b1a6f5e62ac1c11b0fc272504da6dde9ba8f894cd847e1c1 org.apache.maven:maven-model:jar:3.1.0 f9f7ad6301942d385fc79ed0615a7d5f06dbda60dee70b709e679624313e642a +org.apache.maven:maven-model:jar:3.1.1 e71bad235af182c43dfcaa9b649032352cf859f9d09f79e1f537268384176de1 org.apache.maven:maven-model:jar:3.2.5 8d439cc1661349dab1c69eed0f831336d187e162cc6d68aa4deefcff57ee0624 org.apache.maven:maven-model:jar:3.3.9 15abde67fa7ea1e573e1f68c34921e995f0971351aaf1fb96790688ff510efcd org.apache.maven:maven-model:jar:3.5.2 e2978746770e3356e8bcf04f7ee1c8cded1fcd94926ab71c6763810a99c1587e @@ -1907,6 +1935,7 @@ org.apache.maven:maven-plugin-api:jar:3.0 f5ecc6eaa4a32ee0c115d31525f588f491b2cc75fdeb4ed3c0c662c12ac0c32f org.apache.maven:maven-plugin-api:jar:3.0.4 4e5ee7f7ab7e43f691788489e59f2da4a322e3e35f2a2d8b714ad929f624eead org.apache.maven:maven-plugin-api:jar:3.1.0 c6e743680d5ca55a39652f14777181fadf98b6cfef870c3985996f2a5cd0bf6d +org.apache.maven:maven-plugin-api:jar:3.1.1 21955fd1f1f4527a9d6d2d23e3c1255333257db9f95ae6d47ddfe9aa90ed48bc org.apache.maven:maven-plugin-api:jar:3.2.5 194a6f0ce889ed3b0d8a9bc4d3c79541e878098b7e303e4ac76c1031850772c3 org.apache.maven:maven-plugin-api:jar:3.3.9 14cae18fd7125901b12fc914e30ea26ad9bd43dbd399dd6e8fcbc6c754ef2c9c org.apache.maven:maven-plugin-api:jar:3.5.2 3a569e42fbdec2de7dd4515e7334fbcef13ff030c5e63aafd6796e5b92337fcf @@ -1965,6 +1994,7 @@ org.apache.maven:maven-repository-metadata:jar:3.0 c938e4d8cdf0674496749a87e6d3b29aa41b1b35a39898a1ade2bc9eae214c17 org.apache.maven:maven-repository-metadata:jar:3.0.4 a25c4db27cffda9e9229db168b1190d6a3e5439f3f67d6afec3df9470e0752d5 org.apache.maven:maven-repository-metadata:jar:3.1.0 1f98b8b101fea1167d3d5dfd6439757bd96f79e62388323af258fddc1e60382e +org.apache.maven:maven-repository-metadata:jar:3.1.1 820e45f0fd150a02ea02a6fc246852e61c725fd69bdac8f6186bb00f19dc7640 org.apache.maven:maven-repository-metadata:jar:3.2.5 62b517b77f24edebdee0e382ecddb44bb6632b7c08c528d625aed7d2980df12b org.apache.maven:maven-repository-metadata:jar:3.3.9 6dbcc3d3d1dfb34df46c1ddb080fdd09fb899c80207016419cf13236c6b10399 org.apache.maven:maven-repository-metadata:pom:2.0.2 4dd5ff83a2089613e828ee6c8bd6888d8732217392e2c442f6302df4a025e629 @@ -1988,6 +2018,7 @@ org.apache.maven:maven-settings-builder:jar:3.0 e17e706c6f03c453f6000599cab607c2af5f1cc6e3a3b1e6fce27e5ef4999eab org.apache.maven:maven-settings-builder:jar:3.0.4 a38a54ec1e69a30ddfc14434e0aec2764fc268668abcc0e132d86692a5dce3e4 org.apache.maven:maven-settings-builder:jar:3.1.0 d73d0740f1ae3f903eaac1e9f69229068d8ffd60e6afe84e64cc6bad42de2ff2 +org.apache.maven:maven-settings-builder:jar:3.1.1 cdc8e2653971b0303dbbfce0c1d1b3a7591c128cd7d6fda9f18831f1a2bd5d0b org.apache.maven:maven-settings-builder:jar:3.2.5 9c5a014ceb8abb55e997dcc41d17bbe0ae145db574be6b7186e75950c241269f org.apache.maven:maven-settings-builder:jar:3.3.9 b4da54d52e2996a8a77c4db1ca8e98fc31792f07eeff695776f00ecffc3d5b60 org.apache.maven:maven-settings-builder:pom:3.0 1e707086b2efabe7527e75539f87e5b4544ed20e8b5ae8aa35bcc24d7ba3a2b0 @@ -2003,6 +2034,7 @@ org.apache.maven:maven-settings:jar:3.0 3b1a46b4bc26a0176acaf99312ff2f3a631faf3224b0996af546aa48bd73c647 org.apache.maven:maven-settings:jar:3.0.4 3e3df17f5df5e4ce1e7b7f2011c57d61d328e65678542ade2048f0d0fa295f09 org.apache.maven:maven-settings:jar:3.1.0 a44bb2a6c8571269a06ab8efba046fd319af34c4985deda66512dc1e648f301a +org.apache.maven:maven-settings:jar:3.1.1 7fa1eb820cae20961a818650899b72cc79e76d560aa7aeef8b2259d3d639202f org.apache.maven:maven-settings:jar:3.2.5 1874d4ee660b935675a60bdb2ef63e0ff5a81769f4fc04a035fa9d4c4e238224 org.apache.maven:maven-settings:jar:3.3.9 e4f569be53a076424e784222e7088f1827fcb2ef18d409132b3cda2fd92799e2 org.apache.maven:maven-settings:pom:2.0.4 9469dbe562fcf278a4a31d6050629790c1158bab3cd39b5ce8f6fb4ccdd13deb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/.mvn/mvn-collect.sh new/byte-buddy-byte-buddy-1.15.7/.mvn/mvn-collect.sh --- old/byte-buddy-byte-buddy-1.15.4/.mvn/mvn-collect.sh 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/.mvn/mvn-collect.sh 2024-10-23 09:27:02.000000000 +0200 @@ -1 +1 @@ -./mvnw clean jacoco:prepare-agent verify jacoco:report -Pextras -Pchecks -Panalysis -Pintegration -Pchecksum-collect -U +./mvnw clean jacoco:prepare-agent verify jacoco:report -Pextras -Pchecks -Panalysis -Pintegration -Pmulti-release -Pchecksum-collect -U diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/README.md new/byte-buddy-byte-buddy-1.15.7/README.md --- old/byte-buddy-byte-buddy-1.15.4/README.md 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/README.md 2024-10-23 09:27:02.000000000 +0200 @@ -292,6 +292,17 @@ Please note the [security policy](https://github.com/raphw/byte-buddy/blob/master/SECURITY.md) of this project. +Byte Buddy supports execution on all JVM versions from version five and onwards in a single jar. This is done to ease +the development of Java agents which often require to support older, or unknown, applications which are not actively +updated. To allow for this while also supporting modern Java and features like CDS or class validation with stack +map frames, the main jars for Byte Buddy ship as multi-release jars that contain class files in version five and eight. +As a result, the jar size of Byte Buddy is higher as one would expect. Jar file size is not normally a problem, as +the majority of Byte Buddy's classes will never be loaded. Yet, file size might be an issue when distributing Java +agents. As agents already need to be bundled as a single jar, it is therefore recommended to remove either the basic +Java five version, or the multi-release Java eight version of the contained class files, to reduce this issue. This +is supported by most build plugins for this purpose, such as the +[Maven Shade plugin](https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#filters). + License and development ----------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy</artifactId> @@ -411,6 +411,51 @@ </plugin> </plugins> </build> + </profile> + <profile> + <id>multi-release</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>codes.rafael.bytecodeupdate</groupId> + <artifactId>bytecode-update-maven-plugin</artifactId> + <version>${version.plugin.bytecode-update}</version> + <dependencies> + <dependency> + <groupId>org.ow2.asm</groupId> + <artifactId>asm-commons</artifactId> + <version>${version.asm}</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>multi-release</id> + <goals> + <goal>update-bytecode</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <outputDirectory>${project.build.outputDirectory}/META-INF/versions/9</outputDirectory> + <oldPackage>${shade.source}</oldPackage> + <newPackage>${shade.target}</newPackage> + <artifacts> + <artifact>org\.ow2\.asm:.*</artifact> + </artifacts> + <includes> + <include>org/objectweb/asm/[a-zA-Z\.]+</include> + <include>org/objectweb/asm/signature/[a-zA-Z\.]+</include> + <include>org/objectweb/asm/commons/.*Remapper.*</include> + <include>org/objectweb/asm/commons/ModuleHashesAttribute.class</include> + </includes> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> </profile> </profiles> </project> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-agent/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-agent/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-agent/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-agent/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy-agent</artifactId> @@ -69,7 +69,7 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <scope>test</scope> </dependency> </dependencies> @@ -223,6 +223,34 @@ </configuration> </execution> </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>multi-release</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${version.plugin.compiler}</version> + <executions> + <execution> + <id>multi-release</id> + <goals> + <goal>compile</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <outputDirectory>${project.build.outputDirectory}/META-INF/versions/9</outputDirectory> + <target>1.8</target> + </configuration> + </execution> + </executions> </plugin> </plugins> </build> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-android/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-android/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-android/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-android/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy-android</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-android-test/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-android-test/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-android-test/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-android-test/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy-android-test</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-benchmark/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-benchmark/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-benchmark/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-benchmark/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy-benchmark</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <!-- @@ -127,7 +127,7 @@ <plugin> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-maven-plugin</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <executions> <execution> <phase>compile</phase> @@ -142,7 +142,7 @@ <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <plugin>net.bytebuddy.build.HashCodeAndEqualsPlugin$WithNonNullableFields</plugin> <arguments> <argument> @@ -154,13 +154,13 @@ <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <plugin>net.bytebuddy.build.CachedReturnPlugin</plugin> </transformation> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <plugin>net.bytebuddy.build.AccessControllerPlugin</plugin> <arguments> <argument> @@ -172,13 +172,13 @@ <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <plugin>net.bytebuddy.build.DispatcherAnnotationPlugin</plugin> </transformation> <transformation> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.15.3</version> + <version>1.15.5</version> <plugin>net.bytebuddy.build.RepeatedAnnotationPlugin</plugin> </transformation> </transformations> @@ -353,6 +353,34 @@ </configuration> </execution> </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>multi-release</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${version.plugin.compiler}</version> + <executions> + <execution> + <id>multi-release</id> + <goals> + <goal>compile</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <outputDirectory>${project.build.outputDirectory}/META-INF/versions/9</outputDirectory> + <target>1.8</target> + </configuration> + </execution> + </executions> </plugin> </plugins> </build> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/auxiliary/TypeProxy.java new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/auxiliary/TypeProxy.java --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/auxiliary/TypeProxy.java 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/auxiliary/TypeProxy.java 2024-10-23 09:27:02.000000000 +0200 @@ -41,7 +41,6 @@ import org.objectweb.asm.Type; import java.io.Serializable; -import java.util.List; import static net.bytebuddy.matcher.ElementMatchers.*; @@ -396,14 +395,14 @@ private final TypeDescription proxiedType; /** - * The implementation target this type proxy is created for. + * The constructor to invoke to create the proxy. */ - private final Implementation.Target implementationTarget; + private final MethodDescription.InDefinedShape constructor; /** - * The parameter types of the constructor that should be called. + * The implementation target this type proxy is created for. */ - private final List<TypeDescription> constructorParameters; + private final Implementation.Target implementationTarget; /** * {@code true} if any finalizers should be ignored for the delegation. @@ -419,19 +418,19 @@ * Creates a new stack operation for creating a type proxy by calling one of its constructors. * * @param proxiedType The type for the type proxy to subclass or implement. + * @param constructor The constructor to invoke to create the proxy. * @param implementationTarget The implementation target this type proxy is created for. - * @param constructorParameters The parameter types of the constructor that should be called. * @param ignoreFinalizer {@code true} if any finalizers should be ignored for the delegation. * @param serializableProxy Determines if the proxy should be serializable. */ public ForSuperMethodByConstructor(TypeDescription proxiedType, + MethodDescription.InDefinedShape constructor, Implementation.Target implementationTarget, - List<TypeDescription> constructorParameters, boolean ignoreFinalizer, boolean serializableProxy) { this.proxiedType = proxiedType; + this.constructor = constructor; this.implementationTarget = implementationTarget; - this.constructorParameters = constructorParameters; this.ignoreFinalizer = ignoreFinalizer; this.serializableProxy = serializableProxy; } @@ -440,22 +439,23 @@ * {@inheritDoc} */ public Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext) { - TypeDescription proxyType = implementationContext - .register(new TypeProxy(proxiedType, - implementationTarget, - InvocationFactory.Default.SUPER_METHOD, - ignoreFinalizer, - serializableProxy)); - StackManipulation[] constructorValue = new StackManipulation[constructorParameters.size()]; + TypeDescription proxyType = implementationContext.register(new TypeProxy(proxiedType, + implementationTarget, + InvocationFactory.Default.SUPER_METHOD, + ignoreFinalizer, + serializableProxy)); + StackManipulation[] constructorValue = new StackManipulation[constructor.getParameters().size()]; int index = 0; - for (TypeDescription parameterType : constructorParameters) { + for (TypeDescription parameterType : constructor.getParameters().asTypeList().asErasures()) { constructorValue[index++] = DefaultValue.of(parameterType); } return new Compound( TypeCreation.of(proxyType), Duplication.SINGLE, new Compound(constructorValue), - MethodInvocation.invoke(proxyType.getDeclaredMethods().filter(isConstructor().and(takesArguments(constructorParameters))).getOnly()), + MethodInvocation.invoke(proxyType.getDeclaredMethods() + .filter(isConstructor().and(takesArguments(constructor.getParameters().asTypeList().asErasures()))) + .getOnly()), Duplication.SINGLE, MethodVariableAccess.loadThis(), FieldAccess.forField(proxyType.getDeclaredFields().filter((named(INSTANCE_FIELD))).getOnly()).write() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bind/annotation/Super.java new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bind/annotation/Super.java --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bind/annotation/Super.java 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bind/annotation/Super.java 2024-10-23 09:27:02.000000000 +0200 @@ -30,9 +30,11 @@ import net.bytebuddy.implementation.bytecode.assign.Assigner; import java.lang.annotation.*; +import java.lang.reflect.InvocationTargetException; import java.util.Arrays; +import java.util.List; -import static net.bytebuddy.matcher.ElementMatchers.named; +import static net.bytebuddy.matcher.ElementMatchers.*; /** * Parameters that are annotated with this annotation are assigned an instance of an auxiliary proxy type that allows calling @@ -103,6 +105,16 @@ Class<?>[] constructorParameters() default {}; /** + * Specifies a class to resolve a constructor of the proxied type to use for instantiation if + * {@link Instantiation#CONSTRUCTOR} is used. Note that the specified class will be loaded and instantiated by + * Byte Buddy in order to resolve the constructor. For this, the specified class requires a public + * default constructor. + * + * @return The type of the {@link ConstructorResolver} to use. + */ + Class<? extends ConstructorResolver> constructorResolver() default ConstructorResolver.Default.class; + + /** * Determines the type that is implemented by the proxy. When this value is set to its default value * {@code void}, the proxy is created as an instance of the parameter's type. When it is set to * {@link TargetType}, it is created as an instance of the generated class. Otherwise, the proxy type @@ -113,6 +125,46 @@ Class<?> proxyType() default void.class; /** + * A constructor resolver is responsible to specify the constructor to be used for creating a proxy. + */ + interface ConstructorResolver { + + /** + * Resolves the constructor to be used. + * + * @param proxiedType The type being proxied. + * @param constructorParameters The types being specified on the annotation. + * @return The constructor to invoke with default arguments for instantiation. + */ + MethodDescription.InDefinedShape resolve(TypeDescription proxiedType, List<TypeDescription> constructorParameters); + + /** + * A default constructor resolver that attempts to resolve a constructor with the given argument types. + */ + class Default implements ConstructorResolver { + + /** + * {@inheritDoc} + */ + public MethodDescription.InDefinedShape resolve(TypeDescription proxiedType, List<TypeDescription> constructorParameters) { + if (proxiedType.isInterface()) { + return TypeDescription.ForLoadedType.of(Object.class).getDeclaredMethods() + .filter(isConstructor()) + .getOnly(); + } + MethodList<MethodDescription.InDefinedShape> candidates = proxiedType.getDeclaredMethods().filter(isConstructor() + .and(not(isPrivate())) + .and(takesArguments(constructorParameters))); + if (candidates.size() == 1) { + return candidates.getOnly(); + } else { + throw new IllegalStateException("Did not discover exactly one constructor on " + proxiedType + " with parameters " + constructorParameters); + } + } + } + } + + /** * Determines the instantiation of the proxy type. * * @see net.bytebuddy.implementation.bind.annotation.Super @@ -125,12 +177,32 @@ */ CONSTRUCTOR { @Override - protected StackManipulation proxyFor(TypeDescription parameterType, + protected StackManipulation proxyFor(TypeDescription proxyType, Implementation.Target implementationTarget, AnnotationDescription.Loadable<Super> annotation) { - return new TypeProxy.ForSuperMethodByConstructor(parameterType, + MethodDescription.InDefinedShape constructor; + try { + @SuppressWarnings("unchecked") + ConstructorResolver constructorResolver = (ConstructorResolver) annotation.getValue(CONSTRUCTOR_RESOLVER) + .load(ConstructorResolver.class.getClassLoader()) + .resolve(Class.class) + .getConstructor() + .newInstance(); + constructor = constructorResolver.resolve( + proxyType, + Arrays.asList(annotation.getValue(CONSTRUCTOR_PARAMETERS).resolve(TypeDescription[].class))); + } catch (NoSuchMethodException exception) { + throw new IllegalStateException("No default constructor specified by " + annotation.getValue(CONSTRUCTOR_RESOLVER) + .resolve(TypeDescription.class) + .getName(), exception); + } catch (InvocationTargetException exception) { + throw new IllegalStateException("Failed to resolve constructor specified by " + annotation, exception.getTargetException()); + } catch (Exception exception) { + throw new IllegalStateException("Failed to resolve constructor specified by " + annotation, exception); + } + return new TypeProxy.ForSuperMethodByConstructor(proxyType, + constructor, implementationTarget, - Arrays.asList(annotation.getValue(CONSTRUCTOR_PARAMETERS).resolve(TypeDescription[].class)), annotation.getValue(IGNORE_FINALIZER).resolve(Boolean.class), annotation.getValue(SERIALIZABLE_PROXY).resolve(Boolean.class)); } @@ -142,10 +214,10 @@ */ UNSAFE { @Override - protected StackManipulation proxyFor(TypeDescription parameterType, + protected StackManipulation proxyFor(TypeDescription proxyType, Implementation.Target implementationTarget, AnnotationDescription.Loadable<Super> annotation) { - return new TypeProxy.ForSuperMethodByReflectionFactory(parameterType, + return new TypeProxy.ForSuperMethodByReflectionFactory(proxyType, implementationTarget, annotation.getValue(IGNORE_FINALIZER).resolve(Boolean.class), annotation.getValue(SERIALIZABLE_PROXY).resolve(Boolean.class)); @@ -167,6 +239,11 @@ */ private static final MethodDescription.InDefinedShape CONSTRUCTOR_PARAMETERS; + /** + * A reference to the constructor parameters resolver method. + */ + private static final MethodDescription.InDefinedShape CONSTRUCTOR_RESOLVER; + /* * Extracts method references to the annotation methods. */ @@ -175,18 +252,19 @@ IGNORE_FINALIZER = annotationProperties.filter(named("ignoreFinalizer")).getOnly(); SERIALIZABLE_PROXY = annotationProperties.filter(named("serializableProxy")).getOnly(); CONSTRUCTOR_PARAMETERS = annotationProperties.filter(named("constructorParameters")).getOnly(); + CONSTRUCTOR_RESOLVER = annotationProperties.filter(named("constructorResolver")).getOnly(); } /** * Creates a stack manipulation which loads a {@code super}-call proxy onto the stack. * - * @param parameterType The type of the parameter that was annotated with + * @param proxyType The type of the proxy that is bound to the parameter annotated by * {@link net.bytebuddy.implementation.bind.annotation.Super} * @param implementationTarget The implementation target for the currently created type. * @param annotation The annotation that caused this method call. * @return A stack manipulation representing this instance's instantiation strategy. */ - protected abstract StackManipulation proxyFor(TypeDescription parameterType, + protected abstract StackManipulation proxyFor(TypeDescription proxyType, Implementation.Target implementationTarget, AnnotationDescription.Loadable<Super> annotation); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/EqualsMethodOtherTest.java new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/EqualsMethodOtherTest.java --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/EqualsMethodOtherTest.java 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/EqualsMethodOtherTest.java 2024-10-23 09:27:02.000000000 +0200 @@ -95,7 +95,6 @@ .defineField(FOO, Object.class, Visibility.PUBLIC) .method(isEquals()) .intercept(EqualsMethod.isolated().withIdentityFields(named(FOO))) - .visit(DebuggingWrapper.makeDefault(true)) .make() .load(ClassLoadingStrategy.BOOTSTRAP_LOADER, ClassLoadingStrategy.Default.WRAPPER); assertThat(loaded.getLoadedAuxiliaryTypes().size(), is(0)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/auxiliary/TypeProxyCreationTest.java new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/auxiliary/TypeProxyCreationTest.java --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/auxiliary/TypeProxyCreationTest.java 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/auxiliary/TypeProxyCreationTest.java 2024-10-23 09:27:02.000000000 +0200 @@ -222,8 +222,8 @@ .thenReturn(new StackManipulation.Size(0, 0)); when(methodAccessorFactory.registerAccessorFor(specialMethodInvocation, MethodAccessorFactory.AccessType.DEFAULT)).thenReturn(proxyMethod); StackManipulation stackManipulation = new TypeProxy.ForSuperMethodByConstructor(foo, + new MethodDescription.ForLoadedConstructor(Foo.class.getConstructor(Void.class)), implementationTarget, - Collections.singletonList((TypeDescription) TypeDescription.ForLoadedType.of(Void.class)), true, false); MethodVisitor methodVisitor = mock(MethodVisitor.class); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/annotation/SuperBinderTest.java new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/annotation/SuperBinderTest.java --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/annotation/SuperBinderTest.java 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/annotation/SuperBinderTest.java 2024-10-23 09:27:02.000000000 +0200 @@ -1,5 +1,7 @@ package net.bytebuddy.implementation.bind.annotation; +import net.bytebuddy.description.method.MethodDescription; +import net.bytebuddy.description.method.MethodList; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.implementation.bind.MethodDelegationBinder; import net.bytebuddy.implementation.bytecode.assign.Assigner; @@ -31,7 +33,10 @@ when(genericTargetType.asErasure()).thenReturn(targetType); when(annotation.strategy()).thenReturn(Super.Instantiation.CONSTRUCTOR); when(annotation.constructorParameters()).thenReturn(new Class<?>[0]); + doReturn(Super.ConstructorResolver.Default.class).when(annotation).constructorResolver(); when(targetType.asErasure()).thenReturn(targetType); + when(targetType.getDeclaredMethods()).thenReturn(new MethodList.Explicit<MethodDescription.InDefinedShape>( + new MethodDescription.ForLoadedConstructor(Object.class.getConstructor()))); } protected TargetMethodAnnotationDrivenBinder.ParameterBinder<Super> getSimpleBinder() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-gradle-plugin/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-gradle-plugin/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-gradle-plugin/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-gradle-plugin/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy-gradle-plugin</artifactId> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/byte-buddy-maven-plugin/pom.xml new/byte-buddy-byte-buddy-1.15.7/byte-buddy-maven-plugin/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/byte-buddy-maven-plugin/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/byte-buddy-maven-plugin/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -5,7 +5,7 @@ <parent> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> </parent> <artifactId>byte-buddy-maven-plugin</artifactId> @@ -23,7 +23,7 @@ <version.slf4j>1.7.36</version.slf4j> <version.maven.plexus-archiver>4.8.0</version.maven.plexus-archiver> <version.maven.plexus-util>3.4.2</version.maven.plexus-util> - <version.commons-io>2.11.0</version.commons-io> + <version.commons-io>2.14.0</version.commons-io> <version.commons-compress>1.26.0</version.commons-compress> <version.guava>32.1.2-jre</version.guava> <japicmp.skip>true</japicmp.skip> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/pom.xml new/byte-buddy-byte-buddy-1.15.7/pom.xml --- old/byte-buddy-byte-buddy-1.15.4/pom.xml 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/pom.xml 2024-10-23 09:27:02.000000000 +0200 @@ -4,7 +4,7 @@ <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-parent</artifactId> - <version>1.15.4</version> + <version>1.15.7</version> <packaging>pom</packaging> <inceptionYear>2014</inceptionYear> @@ -61,7 +61,7 @@ <bytebuddy.integration>false</bytebuddy.integration> <bytebuddy.experimental>false</bytebuddy.experimental> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.build.outputTimestamp>1728503677</project.build.outputTimestamp> + <project.build.outputTimestamp>1729668319</project.build.outputTimestamp> <sourcecode.main.version>1.5</sourcecode.main.version> <sourcecode.test.version>1.6</sourcecode.test.version> <bytecode.main.version>1.5</bytecode.main.version> @@ -73,7 +73,7 @@ <version.junit>4.13.2</version.junit> <version.mockito>2.28.2</version.mockito> <version.plugin.clean>3.2.0</version.plugin.clean> - <version.plugin.bundle>5.1.7</version.plugin.bundle> + <version.plugin.bundle>5.1.9</version.plugin.bundle> <version.plugin.compiler>3.10.1</version.plugin.compiler> <version.plugin.install>3.0.1</version.plugin.install> <version.plugin.deploy>3.0.0</version.plugin.deploy> @@ -107,6 +107,7 @@ <version.plugin.license>3.0</version.plugin.license> <version.plugin.japicmp>0.15.7</version.plugin.japicmp> <version.plugin.antrun>3.1.0</version.plugin.antrun> + <version.plugin.bytecode-update>1.0</version.plugin.bytecode-update> <version.checkstyle>9.3</version.checkstyle> <version.android.sdk>4.1.1.4</version.android.sdk> <version.utility.findbugs>3.0.1</version.utility.findbugs> @@ -154,7 +155,7 @@ <connection>scm:git:${repository.url}</connection> <developerConnection>scm:git:${repository.url}</developerConnection> <url>${repository.url}</url> - <tag>byte-buddy-1.15.4</tag> + <tag>byte-buddy-1.15.7</tag> </scm> <dependencies> @@ -183,7 +184,7 @@ <version>${version.plugin.release}</version> <configuration> <useReleaseProfile>false</useReleaseProfile> - <releaseProfiles>extras,gpg,gradle-release</releaseProfiles> + <releaseProfiles>extras,gpg,gradle-release,multi-release</releaseProfiles> <autoVersionSubmodules>true</autoVersionSubmodules> <tagNameFormat>byte-buddy-@{project.version}</tagNameFormat> </configuration> @@ -570,7 +571,6 @@ <jdk>9</jdk> </activation> <properties> - <project.build.outputTimestamp /> <sourcecode.main.version>1.6</sourcecode.main.version> <sourcecode.test.version>1.6</sourcecode.test.version> <bytecode.main.version>1.6</bytecode.main.version> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/byte-buddy-byte-buddy-1.15.4/release-notes.md new/byte-buddy-byte-buddy-1.15.7/release-notes.md --- old/byte-buddy-byte-buddy-1.15.4/release-notes.md 2024-10-09 21:56:16.000000000 +0200 +++ new/byte-buddy-byte-buddy-1.15.7/release-notes.md 2024-10-23 09:27:02.000000000 +0200 @@ -1,6 +1,19 @@ Byte Buddy release notes ------------------------ +### 21. October 2024: version 1.15.6 + +- Add ConstructorResolver to Super annotation for MethodDelegation to allow for dynamic constructor resolution. +- Add Java 8 versions of shaded ASM to allow for faster class file validation and CDS support. + +### 17. October 2024: version 1.15.5 + +- Publish Byte Buddy and Byte Buddy agent artifacts as multi-release jars to support CDS and faster validation. + +### 9. October 2024: version 1.15.4 + +- Add non-experimental support for Java 24. + ### 26. September 2024: version 1.15.3 - Treat multi-release class files that are newer than the supported version as regular resources.