From e5f66da3339c23d49c7ff22443fde22f284f3f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 20:54:04 +0200 Subject: [PATCH 01/19] Add GitHub build --- .editorconfig | 3 ++ .github/workflows/build.yml | 60 +++++++++++++++++++++++++++ .github/workflows/codeql-analysis.yml | 4 +- 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.editorconfig b/.editorconfig index 6c0144a0..174da500 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,5 +8,8 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true +[*.{yaml,yml}] +indent_size = 2 + [gradle/verification-metadata.xml] indent_size = 3 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..502e6e9a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,60 @@ +name: "Build" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + +jobs: + build: + strategy: + matrix: + os: + - macos-12 + - macos-13 + - macos-14 + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-24.04 + - windows-2019 + - windows-2022 + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + build-scan-publish: true + build-scan-terms-of-use-url: "https://gradle.com/terms-of-service" + build-scan-terms-of-use-agree: "yes" + + - name: Build + run: ./gradlew :file-events:check + + - name: Check for JVM crash logs + if: failure() + run: | + mkdir -p crash_logs + find . -name 'hs_err_pid*.log' -exec mv {} crash_logs/ \; + if [ -n "$(ls -A crash_logs)" ]; then + echo "JVM crash logs found." + else + echo "No JVM crash logs found." + fi + + - name: Upload JVM crash logs + if: failure() + uses: actions/upload-artifact@v3 + with: + name: jvm-crash-logs-${{ matrix.os }} + path: crash_logs/ diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 81cb71a9..47c042a7 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -35,7 +35,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL @@ -52,7 +52,7 @@ jobs: - name: Autobuild (Java) uses: github/codeql-action/autobuild@v1 if: ${{ matrix.language == 'java' }} - + - name: Autobuild (cpp) run: ./gradlew assemble if: ${{ matrix.language == 'cpp' }} From 67c31c53669b64f64f9e75908570b8d3244543cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 20:59:23 +0200 Subject: [PATCH 02/19] Update dependency verification metadata --- gradle/verification-keyring.keys | 576 +++++++++++++++++++++++++++++++ gradle/verification-metadata.xml | 4 +- 2 files changed, 578 insertions(+), 2 deletions(-) create mode 100644 gradle/verification-keyring.keys diff --git a/gradle/verification-keyring.keys b/gradle/verification-keyring.keys new file mode 100644 index 00000000..57197102 --- /dev/null +++ b/gradle/verification-keyring.keys @@ -0,0 +1,576 @@ +pub 41321490758AAD6F +sub 01F3A913FB698736 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBFLmWO0BCADfxkkFnwj5uOALP07g8yArQpu6zbNr+5dtDvJe8Y51V1leb74U +Eh4U1IeosCRdKUCg0XlAjDmjrUkG6W/5AMUZM676JVHL5tVG1F+dsKhCrFOZoMHj ++oLOMT7+159maGVlTbp+CarWjp9HWguCVYYAgmP96EZVILG+U7iFzLveEDHmWHyP +QgZeJPbiiZPEPVDYll821zajCsPj6qse050IIiKfsyveCk4j/eEm2EtBDbQeI8Ul +Y47TRSBvrtUaUUFe9P6uNoNQmbasyFdD/2yKCoZHCMhAdP4QydflybQdDrF9p7UF +kCRk+uVIyxXDSn/XMHNhYG09+sy2CoQynF43ABEBAAG5AQ0EUuZY7QEIANFoey9+ +gIJ+VBKDYOZIK5t7s0J3fmgYasBt+uOycrZ/UmZfj3I502i4nYVtjwdWJZFp0LLh +4G+Ba7uLNdTYEiSOEowjcxyBr2tvck98wDGCKkLkiesrg0IUM56ZGBqUvc+hale+ +bKoTV3+HwWfh8Iu+pRPHlNRUGpLTnAwatQf13sJukfRD8vXKdj4em9CtMjbTbsVB +LdJXNPRzZV75zfH1DOGHTxvHYKDRsVKUmMZn4JE+gJ555dIYxygjYoB6V5oQVIy6 +hud39dhhqmPeCQDY1bUu4VJQBVJZh6WM5+1mquc6SOtJ9CWJ4zOk7hUbWstalOkn +ipAzIIMXD411+PsAEQEAAYkBHwQYAQIACQUCUuZY7QIbDAAKCRBBMhSQdYqtbwGW +CACM8r3Zmvr1PZvL632ezNg/GuFHc5d4S2JoEEeWeg8qTLATnOudL4utBDGs1ZQ0 +F2bbLxO9Dfnn5DuxzBCh4OUmtQu7QWzSqZCAd6LCF2hVU/9Fy7NTwAO9JKaTYqSk +Uvca2gRFe59T/bYYrYboHIKoJ3gTQ0vTe5xq6yY2JAI+wvE8bihwdGNwJYlGdFFP +ezkslvqAxZYeyFbkzT4eHmAsLKGwZl9ZTWVpgt9fR0fwEgzhLfA2UnSbblq8LUVZ +naKwZ7gI5HE+7kWpKXaREkwC2H440y0JTKU/631O8qK+faFPepy6bSfej655yJNd +D7OBDjgf/LLAP43w0BlWOGSG +=nS+A +-----END PGP PUBLIC KEY BLOCK----- + +pub A2115AE15F6B8B72 +sub 6366592024774157 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQGiBDsSIk4RBADSCj6rUjV64tYCGT1DYKYR7GthyWpNdGHSYLbETBcDatAe1dzQ +5NsCgfrlybfyeY+y1lxr3T9bqf6zJWDw/718wff96qmmv1qzexSYtmIrj+h53V82 +EXwWOFuYMJisuxdT940iQzosm3GOv4MJdEg3oI2SgfEyRQQ6vO4Ob5rHDwCg5taZ +nrHOrXx2dIGHxpxRZ0SUl30D/jmtttFjYOQ3LBMriikz5mh2sK3ZnoSRF4o5O0zW +Ve6e2SFXOEjVjImKsH6KCbdQNelrAdgiyOoXClyQKsQ27pncbdWo6bO0E3POJZVm +XaeW7iudHVr63rU5PViXObIQrdQl0D59j5brKj4vdlTyUw8kaHPvbKPDEOwvZq4Y +LJQ5BACA1YilTeXRJqwFsNlpcxCHwlULD4QUVP496prQWf1B7Z6g0KvLGrQsO0Vn +Jcn+fEqukysTJixSXCPebosltd4RalJIupVYkp4w6MJ7biaDAlLuNhDcI/AiXTmV +dXUedVXIaM8I3Ne23gucwbAyc0Hvb+3cSAKRhl/azFQhuHBvlrkBDQQ7EiJUEAQA +zVKWS8QrkysydbTJu2/14wIbz2Coi93aAGelwCwXSxf50JpYdY3Lkcvd0FqT8bcE +nz43MCSx8vlKubQtUpx9WMGIb4ixtShLJ4lAa6FJldhychz/dnxSNyz5N8W6sby4 +dTVxac0rloxjAOurGanhG7TMtgfDi0cEEoXRyAVoKyMAAwUD/j1pJm4Npq2mlJoE +7MK3vAhgKwYHFflmJusmqvSAtRuFdT15pbMJrA5bAK+lA3SVOOhhWTCItlphSR2q +xJCAcBTeOMqUi5ohFcCkSRNvwmDtH+80B3BehlEsEKNk8Z3moa2ch7Oxnb6XEXH5 +tGJ5Qvx9Qid6ZfBaXx7bc8yKyCb4iEYEGBECAAYFAjsSIlQACgkQohFa4V9ri3IN +MgCgnc22kj8TfjktU6u4SUUqud25ZZcAn0B2b0zPjKjGuiwdKSnkFbNcFS3giE4E +GBECAAYFAjsSIlQAEgkQohFa4V9ri3IHZUdQRwABAQ0yAKCdzbaSPxN+OS1Tq7hJ +RSq53blllwCfQHZvTM+MqMa6LB0pKeQVs1wVLeA= +=cp7b +-----END PGP PUBLIC KEY BLOCK----- + +pub A6ADFC93EF34893E +uid Tom Denley (scarytom) + +sub 9C4C23E6FFE405BD +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBE+xZxIBCACzKctn4ez8xOC0pGThhAwjYWGkzcwK4HNaC1usHThBFz3/t8JN +OqUXRixLyi5wELN6GHlsGVUQS3IfB4JtuhScsieSB8PTree68/knMq6JI08mJqZr +9nFrAB4eDW0UMbSL9kPmclUm/yN+qcCZBrsVn0q6CWb/Kcd8EEXEu6sGILzOGqGe +d433t5O+tGXWL2TjAz+Scsk2Hf4zcuDeQcxELAMnVaVgKuGuEZvibrjsdIvJDGI+ +0BzWIu8ZP8ldBl4SVtzGpEVzLvDUo3mOqBeTkj3rP7xLtFDN/3AFtowbLfL7L2Pg +SMcTnKK+jfFHRfbHP1Ih3rQ4ilLzhCnY/QIZABEBAAG0K1RvbSBEZW5sZXkgKHNj +YXJ5dG9tKSA8dC5kZW5sZXlAY2FudGFiLm5ldD6JATgEEwECACIFAk+xZxICGwMG +CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEKat/JPvNIk+ysEH/iY5dP/4ERAQ +8YC1j1XoYmMxW219uzxZfwI0ltLtPjGQlZbwlFvwjZk0nDJ6O1iZSeZQm804uRup +gUZe3wqOp7a7z5zHab93QD/nA7O9QmLf2RC7Y0mW0EvD0tfbCzt6JJkAaxKTDA+T +jFoukUZx2KJr0XToE6kwAnKmCgyFkzb2SUqfsBRNRBJBa6XG/1mAtDJJSM1XLChV +Sa9nLwYjZzIcebtmtQ1vVqovO74ixxEzonLlNZi7tkc3GS23yntf5tAH0bQ9bM68 +TB9RHpLvjGgHUJtghFQN/Ny+//q1EsjRGn6Pa20cUPxnMS+WguOYIQx5jTb9ZHA0 +WBcu/V4UL8W5AQ0ET7FnEgEIAM3i3e1sjwrx2PN8XYMPQWG+/YTtw1BYDl2+iYE+ +LaZvtq1hpbgeCLgEVwXrCJ4spLP1rFXogWqKrkJ0LRjlpdKhKBvyH1ex4grh3cWN +/bIDJcJ7JA4I/Bhqhlh8hYycS9pGFeS+MR3aFIsii+vadrwYYvuVYGeWvdZhB7mJ +KYevj5Ms0OpYTfZd95Pzo4o//lNpDnrG7Xd3tgTNU/fkpw6rFB/2Ib1Qlk+Kz1z6 +JNsp+tOPGGCBrzwfwglcikTuqS+xyRgC9cHh5eCol11uSoWPKcQR2Ar8Eo56nxv/ +UApdu15iJ7R8cA5guKeeS4jt0CGCPs2PhuggDxI73Xvl4zsAEQEAAYkBHwQYAQIA +CQUCT7FnEgIbDAAKCRCmrfyT7zSJPuylB/9iwtIQeexMWBmQNdDe0md8HLulDfcu +jPtklrvYHtXMJQFaGA0Vafq0oT9MhBfb1YCP79uF0qgswSxINYCOJx4nTPIP9BOd +TwqfGo7ul27REgNq4lIUW0GkMgZAUA2ft/vc0u/I0PqnhKCi4Pq79hLIx7eiX2yS +fXfYfLXRVzbMWKMoi7lWXseQqbM0RvCA54J1qAi6Ew+JyoYGQ7OvXdL5Eh5Tkm2c +pIADyqCkp/aFDe5lqZiU1zS2fU6mpOf/o0co+GoYkieIxxibDCmt3BioLgmyzpGU +sMNwh4pAIQUGkcxd4spC0KIWdDEvq/QJEEIhZlI/ojefaZkRseFrtl3X +=rYGl +-----END PGP PUBLIC KEY BLOCK----- + +pub 0DA8A5EC02D11EAD +uid Paul Holser + +sub 71499A87DC1FF84B +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQGiBE3LMfMRBAD90h69D8yyPWaSoAyh2mOOOZ/XH0isuBpDZCWptemlMHgImqdQ +2sXLXYT1bJKmSaMw+yKjp8J/NYk69EbmSK1C2nypLQtWhUmXXd3XVYw6hrG/dGvi +gjkS5eq8L04f5CSuXO7r1eLTOch9iDl/ESaI5Nhq9A3mRQIhQalum+FjzwCgx0PK +hoC4MVPVGXzOQPc5sG4jzAUD/0OX9c/yKQqjHUs38HTCgrjseM40iPhp8NfbWenP +IwUMSWXE3lz0MMeKrGcEOcZOGWsjyepkLHXwj8DDOeGxhfh9bhFRJssdfzOCKBpf +6S70A3fanzqOAvddxCqF/zOwDaieDmWvVntVpmZO9d+pgR/sZN0JgSIm7qGDdNqG +Aq6eBACyywfwuVoY6lfNz70ZZqYjYuUkbKnKqpG0XmI+m5LYrUW7QuKJqaNdg+ZL +vVgX/TdkWVSIoSRS5+eYm3fRD++cg3ZgoR6ZY4WEa7SRSp2zoidtQijWOzp8WeHs +30rIaXBrb5wHR4GQ4FYsBGRuWkmIaferusllUmHCHFJI4ldvgbQlUGF1bCBIb2xz +ZXIgPHBob2xzZXJAYWx1bW5pLnJpY2UuZWR1PohgBBMRAgAgBQJNyzHzAhsDBgsJ +CAcDAgQVAggDBBYCAwECHgECF4AACgkQDail7ALRHq3DJACdGesiXWFVnEWCRLR8 +9xBCGaFsQLoAoKHC5Xa02yuYClszNb+YiWKWfIyRuQINBE3LMfMQCADWsPvQO8Jz +L3VKFAo/aydnhwsmcXAoCu6UNRzGgFnQAbSoxtoTyOKIlMcjCBWuqwppLUkQ2/q1 +V1RLzEezC7fTO93ShtqP7ggZeUxV1zrTnZjhIsAY1sZXD30CHU6RDui/3aCZgBh+ +qmk61G3W3KXPsl/4Xp6vS6Z1UFmbx8n5CPNPDfoDARGPZuNVtzqiAzs6xPKu7mhk +Y4n6glT4z3+aH8arcDKtx9TxzpsvalpxfDKUwTiXHLh8EHsGwyiA9deKmVnZdEft +GaVmIB8se/dK3FUHVGstdVyN2eog7aC5VisrqbEf1Ywbguc4a9ydhN8a1Z7ESY0D +mXwg5KCwr4ifAAMFCADTftyUMWLddZpkFVey3sh+RTpsqr2+GamFLh+4HHjCnswE +DraTSQYOZlZxuKdlafJvKmKWL2KFhIeWncRjMI1NtQxaVuFz999ge6+tmwhPYPEw +9vaIKeM+7kcwZ6BMzyJNOi1bjFiYlSwQMi+BBTPT9Q2w8dNfldTT1Khwvdg4/kzF +wRuA7QWmOfLdfvqtz4RMB31OYMmLsc6bbiCsp05BcdAmvrmPudNz0zfNadPE4/d8 +v2NxWcZOcsZFWhHuR50OlrkWygWq1jxgxoW809W8jj6b6OjOM3BODZ0YbqdTZ0QL +SqAMR4oxInAXXCA7cV7qZce/Gtq2A2up91j+u0QZiEkEGBECAAkFAk3LMfMCGwwA +CgkQDail7ALRHq00qACeKCQcMI27s7CbzHTUT35ovvcmYNcAoKPtE6Hta7WJlBuN +4l/KkzoJD593 +=PI9b +-----END PGP PUBLIC KEY BLOCK----- + +pub 72FEFD1572EB75E1 +sub E95B8FF73F6B84E3 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBFt1xhcBCADDofPZYtlG1I5NRG67j5Fn8KArIzKK9L3bH3MfJC+XYYPY2N11 +ckiF3JQ0kXH3BPL6r0+dOQm/9SGJYsRVRYYoz2HEf/bzLSxFvKeEdEsWh66IcEzp +xlxV7rXc3oeGCZ+EvobG7JVoRyyLegx/VareBwtBhW39lLGfBjGBzFuXEMVG4H4U +v304N7D4sEIBYWT8c2z5Q5/Iviiyu/VgHxczDn0H6Sl1kXP1vVhWff+OBlbO7JAF +TcW4ET3K/ASWL/CirLbyyVkO8DO5pQyuJqci7pJFWWp/56CpJBmxuyQRc4SEpPjC +ZUOs335j1+MxAJh6z1L/xZHF9OV0GgT8cs67ABEBAAG5AQ0EW3XGFwEIAMYfnXhq +pCttsnWLFIxpEXvARjfUEH3WNyn7kyLoFPZ0AU7V3rcdsBg9k9Ds9Ly5xhRFVUd8 +AzlrywSeAQ/bSV++iXh39xLq494PHLQTG5Wuxg8Hw21tKe709iOzJa8r6CO10sj9 +JfCn5zWilqObcxcNjKcmGOwTfoIlm8giVftdMNge1zEsJQ3XTZtMNSNHnK3Ap/I7 +tIBTx/p2AdgFKOL73owtqQIBXplmRr9AHrEiwq4vsxwh33S39HsfE3KCmVWJEIp9 +CbitNGmonb+5cFtaxhEEhnmpmXpAbuQcNsjBgOiWXIUecp7iTkPMoF/fCzJgBzHV +x34IV/XBzi4ZuZkAEQEAAYkBPAQYAQgAJhYhBHbpTo/wq1rztvg2aXL+/RVy63Xh +BQJbdcYXAhsMBQkDwmcAAAoJEHL+/RVy63Xhr8oIALzYc/y387kCmhJEnMWieVsO +cYQ4pULj2yTYU9pYRQmxHdBIwC8ZkbxPljFZvgrPsndRnHuVZUu/wTSVjOyU0a9U +A7noq1Pp5sI+wzxKSYMd3CPazxcrQPEpnqJFiVDma1NAXXTQESzSJnCnogf0nmg4 +svgVbNamOfmasBirzwCbhFDoL01G2HehFgmJ8RrbWbawGvw8dpEoTToDc5CwV5I4 +EicRSG2kY6zhb7B/8HEht03sr+YP5Dl2+rLVbaFIvUaMkAhHvSW8Xh+KQI+LvX+f +hXIOEn2CLm+jjUMutWp+iz7ctOwwA0bWERMp/q5oM6KSPSkgdokmYsIa7dUR1wk= +=4/Ew +-----END PGP PUBLIC KEY BLOCK----- + +pub F6D4A1D411E9D1AE +uid Christopher Povirk + +sub B5CB27F94F97173B +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBE89LqsBCAC/C7QToaRF8eZgGOxcvp9aG+mFFCMjaRAb4Mh59OYdmUb6ZjfO +9388HPebGbPNR8SHYs0dBIuWY4ZJ7oUTYPswasL8vB0iPFdyHhvkCca+yk0b8ZBM +DmFlISm9HkYpoVjcFUp1oivyeJ5LRTJTd5JGEd/SWFRbB4TimdKXBzej9fIm2zVl +KInEMMd8HnSYE6nm3aNkbyiqhx81bFvl8x6X3ZMWcKs+TAVXdP9uLVvWowUwcApk +xpee442Ld1QfzMqdDnA6bGrp8LN8PZF9AXQ9Z6LTQL3p9PIq/6LPueQjpJWM+2j8 +BfhbW/F2kyHRwVNkjaa68A544shgxJcrxWzJABEBAAG0J0NocmlzdG9waGVyIFBv +dmlyayA8Y3Bvdmlya0Bnb29nbGUuY29tPokBNwQTAQIAIgUCTz0uqwIbAwYLCQgH +AwIGFQgCCQoLBBYCAwECHgECF4AACgkQ9tSh1BHp0a7LHgf2OE0umpZRiFpL8Bqn +Qf38CeDDESZz3UjwWuOKgnGQ6PaI+alctVI3YErVRSzZYhUJnw+JqIXy+kXIoxeQ +Y+IPikdR7aGKSaGrzm3H/jDGmwrp2VWROpVqHSG94UNBjUJvsOJKty4/m1q0n8RO +b3ceD9b4cFAVVesLaPRTyub+1g3tutB8BcJOb9r1wrmS2GsNNBInrt76fnfVOyqy +vtka6yvqqtAcV8ptgnh0BqEPLUNAW0Vr/bqIuAa4wLVnqBXAk36lMIW/B7IkjVMp +3Qs4OqpZ8LaJSAwaWDGCLEFVKMJvuvAEWuRy5tZb1cUb0Q0G25/6P8kYoyHfu4ML +26JtuQENBE89LqsBCAC5hGdMTbbl9XC7DVM86tB1c8A4sOSKrj1st9zHBEl75GjM +qskLWIrFvvnWNOjMQQkt7lePtZyiOqAOy5OPNoscM28MLNEW/B+QnixwxMBl37YZ +iwLw3caDQlGALaVTjBnGxqcudUxt1fYvSVntacfpL4Ynl/QS3w8z+D5XYaPZStoG +EYZqTw4FDo2GYIkFzJiDwGH3RyAP1XWExEwtJbuAHW+ekszsLxjKZ3d611lIiW2Y +O5Vve4b2zhTCrnWzYwQqxey4VgIdPPTFPa77p7s+5qrlXTbXxAZHVa6mSXb2IhQX +nuEVHt/qhgqR5y88pzhh6/oiLQxu9zUfX2Qs5dSvABEBAAGJAR8EGAECAAkFAk89 +LqsCGwwACgkQ9tSh1BHp0a6dJAf8D7j9luvaMHjqrUkQ39RXhTcwFCI28I5IP204 +8ycG9XMnnce628YaSZp9u1vANlo35gyzp+KK0EyqMX95D+knnhoWC5M8YwWuUXKP +Paf+l9+QculUeCzxXkzgAshO23AI6jxW/u7dWM755rmSIKb0yonJKtQ/YO/iU9UH +fZ6gRSpYPGjJ4AKKFb5S12jxMENV35HzDfpbcJRK+6NbbP2Mw1MX5WhVYNBZze6n +s2pv7O1b3CuOqzveckK/1ss9qFQ83N+Hvja/29qTdOTAxwNHV5m/4q8DwZdJkzoA +IAvNOapEdeMYXdRni+jBAN+JPNkqvzt4FoQWgdyjsuef5b7yqQ== +=ppUY +-----END PGP PUBLIC KEY BLOCK----- + +pub 7C25280EAE63EBE5 +uid Oleg Kalnichevski +uid Oleg Kalnichevski + +sub 926DFB2EDB329089 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +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 +ZNfGiQCfdH3+RPBbKSQofz2bGx7/niTd9qg= +=CP3a +-----END PGP PUBLIC KEY BLOCK----- + +pub 5208812E1E4A6DB0 +uid Gradle Inc. + +sub 33AEBC1F01C98081 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBFxaxWYBCADI4/gRCJYfXwZYdUoEGlAlCfRgABy90rvebzcs8MKtolAbPVkG +iqnjftXd28sZhEDx9YJrUfmzspdrYmU7hy1kgV1/WGIcWyTExTH3bqlnaIWnnTxA +HD0x4NJ2AzmX5VO8LxhqGID+BErrv7uGZvVmJT6trqUIcKeNEq7mzdDJKqTBY4cw +q+Dm8P0vs4IFTD8q5f1Vr78FmUth2srIBmsIH1wNV1nAUTmQppNBFlCmcvnWTYI1 +0UMcsFFrJ2pFT1yP2AEGUNl4Lgj4hmVHZwX38/lu9pQ7iWtHSLOwZsfuC34/goS+ +ldFt63JqDV7ZaqwAgk7Iq6jbr4pSVsB4VdglABEBAAG0HUdyYWRsZSBJbmMuIDxp +bmZvQGdyYWRsZS5jb20+iQFOBBMBCAA4FiEEMU/oLlpMU3e8ou3sUgiBLh5KbbAF +Al6+3fgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQUgiBLh5KbbDr4ggA +tmAjpH0VPImxcfV+by6itQkY6BQQ0VO9adO9Q/C7JIaiPQ8Rz+2f1SzAtLB/44SZ +4mseP/Hb5CQEAysRPd3/3GP56GXzXgGURT9/4j/1RPyHIndBd9mmvd9L9+lKWMbZ +Y7JzPC4Ew/2WPeB3GVsOgn+sMBVHZcVDATqZ5OdfSmuIil7DueWSPUNbFFJkLy7P +6nkRkk4GMRXSlAjKOLNNQV41cUChqAqf8Yj1sD6cX75YZylsm9voV6JoR2u8lAfT +zr1VPKdy9xLfDh9Fizth7r0t3OmrUvlEey2IkOoT5cUl/2/jPaz/ypVw4G8nbzW3 +0lyW43RWIIXZC8WAMRdWUbkBDQRcWsVmAQgA3teo6Yf13mAxnW4NloQGU6aMWtcT +AbYtvbizF0E0ScepqthcFbou4FGN++YQU0jzf7Etc0hmH/gxmzRYSdA72lSm58hW +1IkvkY1JQUn+VT/9NCsAP/vnSfBb5L5JkC+gtfg26pIBJdmAQNAK/IYU2C4gDKp8 +WiJP7Dv7M6IuEOnjRmkMvHwdyFjMKvTJlnSyldpsc6EcXlF55zQn4xN0czD/be01 +iH8B1SbFULJG1dvXmHTQB+nTVBkY+rbRUIBVqz9ZocuTfJeLZ6HDlcxfbpjPX2NP +JVqhDKAVmnuhukeu5qHTMgUApxA3qICpzxkp0NiLwEpmfEHm/82aSZMXCQARAQAB +iQE2BBgBCAAgAhsMFiEEMU/oLlpMU3e8ou3sUgiBLh5KbbAFAlxaxq8ACgkQUgiB +Lh5KbbBF3Qf/ZvRrrRAAzLYZPZEIv2Xd0Tbdu6nWAxpRl/YiC3qDSVzPJvaYjcxP +dpDYSFtpNmLqboevTqSj9dRNRMxm3TnW8AdsiiIQjicTW9kImaMYpHXA+LxNp9Hu +UoEqtB9qQ7eL/Q8tKVjrcsot5rqPj9vJPyIGOJ0Xdw0dhWgYl15fOt5KT7fHNWk6 +Octrtag1nzTT7aZH5kHATTooE/466sx44Hk0arUj1qaT5dB9GxJXqwXEwSu/gF+8 +C5F7ZQoBWe31rN9voDISiV1YbHn8IIwHygSEUu6DpmbZpVgOoAth16V5HJ+MQzkK +NcHP2WzBY8pJSwQJtVhEwYqkfpObsF5ifA== +=6kQ8 +-----END PGP PUBLIC KEY BLOCK----- + +pub B16698A4ADF4D638 +uid Checker Framework (Official Release) + +sub 32784D4F004B405B +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBFM1v9ABCADD0KoXq2ZKlUHeIVovQy3gFmW9oFAaraV48ouv8cYvqdf+s91H +NyqeyNPT/ihFeNqZJUAMyPdwN5xrWD6gxMrOCR7BFhA5kLmAKz4HfFCQ05ViyQdI +/HVNFvTdF8LNnuF+a5aNgg+jjLvFwzkyMFkuiPGuUDFnqEGxC+z9J8t40tpOTOIw +tPjSzkDN41AJDpUK/simKC5F0Im78nUbwMalE5z2IsZRWpYZyIhN1HhEdDvaDIh7 +3vENjH7enAjWh0iGRu+GTP/fayZnX0uhmausCCwMMhsr489e63ZOaJrqeC//wWrX +dtEJjcmvRmJ2hwLmgwMP4zSNKsnLGzP0sh69ABEBAAG0TUNoZWNrZXIgRnJhbWV3 +b3JrIChPZmZpY2lhbCBSZWxlYXNlKSA8Y2hlY2tlci1mcmFtZXdvcmstZGV2QGdv +b2dsZWdyb3Vwcy5jb20+iQE4BBMBAgAiBQJTNb/QAhsDBgsJCAcDAgYVCAIJCgsE +FgIDAQIeAQIXgAAKCRCxZpikrfTWOJ4nB/sGNeq4d18M8Cbrfaj+YwQCkmO2ZELb +VegqcJELSnvvs9EKO4X1c4Snnbk5r9apoCBSXhODYMfkZ6SUI4Op/8y4S4Km35PL +8revBwkuen1xMr5cRwRVkdZemKtLaKenUyY+ERpZPdRCSEfW7AVsRqRmsHIIz7UJ +1p2tAiWHMnyhjFOM3Iap/w7liGPsLmqbHReKUkeriRo40H92ASlPcZxmnbKCMtkB +wP2FuE1waOvjKfihtU1ZGjsP4JxriIcGz7h80kdGfWyFbZMIeZvnTFfB3odp5qNT +Zf5enUcYf3NO3IsUqege0gy1PWEF6c3RSPX97YzuW90OPKAHKt/QLON6uQENBFM1 +v9ABCADutkjG6oCMxBUBB5cTTeaWR3e5rKgxEiCxWBZCNZsZZA9LcBVjG5OJzB9l +V4Yrk97paigTlFFDUKzu3oLX2xrIFb+G1m1B33mZH76Fg5Zm674tWC5Uf2ccxqQj +XPHt2jnDd1yh5QcH1GnKOqXEwby6SjwP0wI5EzrSuAOQM79QksKc0iX9m1VW65+5 +ov68O/EpmQFdv67YjlOWvUvt387MC5NTzv8//3eFaAnC9rNlrnlTtUPfZHo5BOeZ +d5WMBIgc1bgAPfENGucIPOL0RhWUFiyMPHNtDp9vnWXEy2XOtWY57CNS0py1FMkP +38x0Pgcp0BfZeN2QjyhSJdduTBopABEBAAGJAR8EGAECAAkFAlM1v9ACGwwACgkQ +sWaYpK301jiXpQf/bw3Nxv5qyBwdT/85dBXZecEM2klXPSQf3HtNNfKbaZS+9dWn +9GQ71qpmZCTZGLtJR4J54mlwdJdxhlDyGv02c1YBUkT4+uRVkzJAWzZ4RiMFeSFT +j3Eiksg2J/f50D6ZlpeXw4/MYr+pCmMQOIY40W0RrlF4iNnZ8hR7haWnH/wH/zHN +FPwgw7s+WtY0uEmLmDPxxVS/dzzmc8C1Ef/hg7lSRZ5tdq5oxpyVYEdK1nCSiber +wrAT1XyGpn5erxvjeE1kPXro/EXeIY7GDzsA34FSFBiIaU1Cfn89OOn5M/TFp1+0 +SYeoaiwF0+x23NBUxbCmAGyyW5t0Pq1PY03TPA== +=URva +-----END PGP PUBLIC KEY BLOCK----- + +pub 1669C4BB543E0445 +uid Emily Johnston + +sub 5F6BA89D4B0869B9 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQGNBF3TQCcBDAD177B+Btl8XBEkBQ5jFSezFrpEl4arwCEa7htCp6T3h55HvYwz +P7Y9zWYXfhAC8XJlPQJYpqaQiiYtdlmOrOS4wbp5Lr+z/0XpFlJFzdKglxKYcdfP +ntnGyoj7Dz03v+SitL9Ct1YZmOGz6onlifXsCTkWraSJTqR6/y2dL0Beu7dLZp94 +fgf+FAfr77bwGhUhOh0pPI6ZK2VwNMiQN92jS/RYb6i7QjzO654ALTBR6R2sqx26 +C0NNsTUZ1WawPreT/rmR4vux1pvgbC8DcXqdptVb+iQPymnysEr69J0f7YC579+7 +itFIh6efV75W9nDqp9QB/1G808oYx1rglUstOCI0axSgSNyazbInW9qOI58rLQ4v +wnCSTWvesVNq+uO6aVrfpXIO3uUTI3t4mpBZgVYZ+g30BlCPRx52YofvQzYbbk9d +wCMUDQAzKGJi+mazkgBhcz+neEuNUlR/0fBMObzb7cAT4gGo/sSzYVNN5oT3u/Mi +J4hfzYUTFMsJBp0AEQEAAbQnRW1pbHkgSm9obnN0b24gPGVwbWpvaG5zdG9uQGdv +b2dsZS5jb20+iQHUBBMBCgA+FiEEdhWtVhRN8jdvSdmLFmnEu1Q+BEUFAl3TQCcC +GwMFCQPCZwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQFmnEu1Q+BEVv1Av+ +L/vJeWLlRoN6rdi8gto9D7kbcamLYCbpPoEG81XnY7TCX36HoAawC+DhuVNjU01z +W/WQ+CJ3bfbq4u5WDZ964czksn4V3r8XWecD4Oexdqn8nSkC0HkxXTq+LIUF5+IJ +OtqHU/Fd8Uinj8/CWgiplTeIBynu87DIravElsV3QaS0xYsFGllhA4Bg4/kpQ6N3 +LiFCPH3vVGgkbdWIJH4xj4/grdThSE8ZwMb7FX5i85RElpeMq9NVRBOUpwBX9hyG +zKD9/SQONYj+JiDcythBIhe3ijmWHt40oAu31eYeckO5uIbMzusZ9vT0Px3Z/Vl3 +Fr1BCskZ48UwEAVnnQTA6sz7Sjj8GT1CM6nDxCE7PMKYleRomHPgoOx1KeDNtXGD +3IeMsNdszr5C0s6TC529mQvuCC6rNM58YtEsrWGBkBEhiH57+HvzIIHKxRktsf0E +G2kFRsHRI7dETG0r3aHn6137eK2l+nkqb7js7SlwFj+gioCvagrDZYGQq/zmkyg4 +uQGNBF3TQCcBDADJ17PQ4z5UVGBVUefEkTXeVlGX4oc+vUOVn8Z9B34sQkFmgsOR +uwm+/1rGthrMatro1Jka4UXSxYFMCt6XBz4/OdJbquxs6D85iudaId9aozCOJypk +fprp+ez2PK7pWeOq6DQ/lqqNGyoHxA703wshI38sNcKRcypn/vf1VJlO3ZjfLCVD +Qw4+yNrdWiwklb4QS0xwjK9Bw9m8g6HiQGil8V/kL9Avpa76rGqaP9YnkTo7NQG0 +cwEbpcxNUrkO7fFKjTOMTmfPkh5pHAHVS+FsrCsxhRs6Eb6u/qestHjpYj6qtMJ5 +V7oXeUI3OZ9nAPctSxoNVn6f0otsaatoBwcJNNhO/6ZIFH7NlgYQNN3a5Pz6NrU1 +3+zMGbsxYzlL4/nVwhdn/kHPQ2tl4e2R79da7ModAjeafimikA3nGZj1Zvo1iXKL +fguM+U90kTrPKSxcJqwgV4QvrO9Z9llRTzhdBmrFePFhlxN3JdpSKYXFInq6Jwnc +mOAeIDhNYYcVXhcAEQEAAYkBvAQYAQoAJhYhBHYVrVYUTfI3b0nZixZpxLtUPgRF +BQJd00AnAhsMBQkDwmcAAAoJEBZpxLtUPgRF32gMAJoI+6dvnT7GOJB4S0HAB2qh +izmQ5MWiO7QE1HKQ6ShylihJfAIMnAMlLPhorr1ITZXaNMFO+rWNO76BdsBxAkd0 +rKIIjMTU5r1HuS+XCGFzitffkJ2TgQ2K4vKnSgEpCsBilgCJzdJevrYoCAudkZAa +eBcT0fsTtQDnWHUJSkyWro0ovaaPF5tJzMkFZQBlaNyb+DmWPyNt5TP6iORnmeLN +E0OajrUawFUcLUITdutn2t/PRE9LBDSlewE9Gabv79z8ZGAw7jPKx/p+ePpIj6J0 +5TM0BR9KLrk3avMIK+eKwcvm+nCyYA1jKr7c9E4bg+6sRbc6igvVL4QeKzjeGll3 +vjifmghVXVKVBOW1fk10cMNKaTEkGng8OfLhJDQDXuNz4m8/pMA/wyGfH3HBGSx+ +F3GZUb00kU0HbxV2Vt0QlyjwT9vJfVGQ4Y+GhnMF6qErtdX8cBIWFJXLEW77wWHN ++QpRD6BShYZDvUA2mtO0zlB8reU+VCxgnFfm66DkUg== +=wp39 +-----END PGP PUBLIC KEY BLOCK----- + +pub 29579F18FA8FD93B +uid Tom Ball + +sub 9DF7F2349731D55B +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBFYFiMABCADYpblWssqGxbjTwsyroPh48BwdSKl59zbFKoEHDw87NeWq7fik +h95RkbdeWsQSvduXWgQZsUDq9cLOkuS/ChAMkAAd3MPp1NMdFmAqS7BX5wU5s5I7 +XD+/p51SWLMvgrLxoenmoE04EuQqQiXd4DbU+HGPseiNx+mN0cxPssaZMBBsmi2r +RjwcQrFTaC1iffzh8FKLQvoTDzci//b5bWcxCLbsY9dYcUaDCbBAkL8HzyZUKNE9 +XwXh/Rq8wDakI/VEg/905a9c4xq6Rss6Yn5E4V2SAo2+B3hYmvHFsefaM9kkqvXk +MQ6zjx83LAtzavOzmthjhhPIgCAfoQ5Q5oDzABEBAAG0HVRvbSBCYWxsIDx0YmFs +bDcyNEBnbWFpbC5jb20+iQE4BBMBAgAiBQJWBYjAAhsDBgsJCAcDAgYVCAIJCgsE +FgIDAQIeAQIXgAAKCRApV58Y+o/ZO/3UB/9W+AOZCBUoVTSyu5BDjH9Xm5vY/QmW +jl1/dEcjZ1bFEF242SP0sUC/XcOsaJp/KpvkB9pTkxJ1BGg8YEr3vJrjrD2LLEih +4nZ/lJnfyjx4Sn70GFSNhftuDJbqLA9U/Z6M1tRaZTGk+/PkvCyyyjD/U/pNohxd +r08nojPS1UL2LpI4nA8VPZt9bpOoYaehkyVjD/ChXTSi41Eet04ze7YoyEGMIJl+ +ZcAlkhSQrNNtSbrZ7+Xxl7mv44Hn0F8dlc1i5WpNCqYfWnVSLLBZGi3HxRqpF2HR +VIZuXHWaP8JxHNfwZcOMokAhRlEVckl0qqBnjNl7zuT6xJBiYwgzu64WuQENBFYF +iMABCACdvSlhh2hLe4F1fBMHiZK2HdNp8I3NS8o1E9k0cBM2fTfalIlan6ZIJ2Z+ +JqRwk6MRaKpB2or/0A34+3KfI22SWtsI2lJA2x9qWaiwRidLFFAWdSjTzNroYVkc +wJ5hf2yKN/mH5YRiDSzaqHr5GKKPXHXpT94XqXn+Pj1Lj5ipnqPOerpJ5mlkPPSz +8C5Ve6I+sIqjGKdtrB6kxgIF3kf30izCu3dL0j5vuey2XneRAqETHqmBVMEjFeuE +Y0zJCj7LxQRr0YaaSfrlkIjIxRbhatgxXjQVbbnh0nYAh8dUz/YvsfuyZmLJhRZk +cJxHW8Tt0xxV2oBUBq+IpmvqDoy3ABEBAAGJAR8EGAECAAkFAlYFiMACGwwACgkQ +KVefGPqP2TvmWQgAi9Q5WlckTYzccwvt9F+sRspD8AncDERdwkY6HiInLLNqQSUW +iHU2BaYN2wmSiSeSgwurPtN85nd3XZyhKtXxH0XKC2fTzQWBdyBEh5zT5UevES9n +IzIKurHoG4TsWr9d2XDiDp8q1s4G1cNGYDfD97wpZRbYn8L7hedL07ISEWNdRvBp +brvhme7X0pD8MBKPqUXfLHHaJetmlFKOmu9awzjINlz1C89JdocSln3lLJLE+RGN +N7HmXdwmKjmnC0fo2h8jnOTYekdTM3Ec+uWE8M1WyqZV7WYzoITIfq0uHgyIxCpa +OOejOLKShQW031G/kEvZApAVPHLFM8BdJ5P6Dw== +=RyTv +-----END PGP PUBLIC KEY BLOCK----- + +pub 2C7B12F2A511E325 +uid Ceki Gulcu + +sub 10DA72CD7FBFA159 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBE+ZO+EBCAC3fZOOuYKthr0GcUge0PH2bh18sbM9XUmPKQz/W15l1NA/2ARS +2gUXM0R+SunMlun9KsqjnojJ2ObVPvbm1Hg/66JSRgR3JWfIpSlJxLicpfu8rCfN +bOjh4v9ZipD+px8w3o/RNrnZH/KRsoJg9yER6pf+pUZqTJfdg5lXezc1WF+/1qVo +ypldMGfrkfLsPrUZTT689ubbig978e7eYmJEqldtaIwaAzHQnB70wIJyg/rEwFUM +ldsvs6t6czSuJ4zPMvmh8TMpTg9e6+DMktPl1CWRONl8RPpgYMIC96gb4OnfDDjk +Ex6clSCwgbDwdeAyOjjR6pVq+pCNTo1Pcj5jABEBAAG0GENla2kgR3VsY3UgPGNl +a2lAcW9zLmNoPokBOAQTAQIAIgUCT5k74QIbAwYLCQgHAwIGFQgCCQoLBBYCAwEC +HgECF4AACgkQLHsS8qUR4yVwIwgAlj6R9Lxk/GnclmSvgtTyk1r5GxJ75iSCzs7q +DlNuM6EfFbuZvLWORGgP8KtdQdh/bdICtRbh2eoW0vEKJKkl0ZI0/RnVMYKYpIHi +KVUSjPq0svwDk5tUa7taNSdHfi9o1G1doBHyPu1u1xDVzMSWsbEvx6aVr2HkBDRy +A+VcmnX6tokZjyRX4C9ldX3tR+ffn7v2Iy0bIesM92nMPnH/fPXWlnbQKTxQeMj2 +qYSl3H/NGp57G7KNSl1na5U8ueMcUtYb+eHphMsmaEb9xw8dM96CzIPZh1xMHNoQ +NNJibURysbUpFlGUTOv6K0A392QkX3GwuCQGOeLWHOoQHD6Jt7kBDQRPmTvhAQgA +trGiCYnW3tqvDzaStXsguVw67pou65dO7LTcrX+NTvejJZ9SrC89JsfiKBwtvyS3 +X/qiB+S7RP21PH7SYOy+orwDw1nacNNeiTdPnxQCDQVNeWpSpmbLlA+0b6K3aPf/ +EaCKndXmnQyXVOoSXZJ9bqAe0um0NRbO7M+L1KArVkWW56ms+DvHAeZaGnSDDHQp +JI5haUqgSWWP/VoPEU1x0qiBZwY3lokSwRMISC4E/uiUvvm7rvfbBzfOiVrjNPLl +sVPiQRgOTfQO7dUZAmt2yqWJt1Clliby4fgBVcOYUx0QCMiz8MZGtSB17+hSrC2C +b1T6n0ypxuYyh4sV2LtqMQARAQABiQEfBBgBAgAJBQJPmTvhAhsMAAoJECx7EvKl +EeMlX0UIAKS+4ZAKrGG9jbWfzTTDbu9zzkXgV13suMD+XcGz10DkdluTUBXj8wWl +p289fXNm4E49ipsNK+dcZ+gOATjUvb1Llh6D6bHz1QM7olxBCeU2feTmYYKBH8GY +Y9JZzfAXNMQhcNiiPj+ntZqePy/EFA4uZHM7We7vl2c7CBcDAq1NNeEczo0KvG7A +Wt6QoaMVmbvA14EKadNzrmEy9apkag1BKvwzXInYCvIHMa9ZqicOSUcI5QCYu5Tu +fvIE7Eq3Khh2Ex1FiOaEA+57LMrt6NsSKXrB8JNYbI5pqE1rxJXZnYtx3ZpPAAEf +LjPdi1AOkWhvhsoPmiGFC6ebYQ5eVbI= +=9O4j +-----END PGP PUBLIC KEY BLOCK----- + +pub 59A252FB1199D873 +uid Tagir Valeev + +sub 92BD2D0B5B21ABA2 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBFUBG7QBCADRWXf0Fw05qRhM4cRnGKlOW1ecue1DCxHAtFwoqmAXyTCO+tI0 +MEW5SyXUkX6FsWLl6A2y+KgOs669ogzfQ0rnZMEt4HisRp8wpgk3GWR1/9aKYz/c +ymy2N3BP9cz2fJ9+3PpBccUPL+ydFKpcnEnIwiQK+p9JjEWzJBlrdUc/UEJ0R+n/ +5r/+0+BHiTEMvjAF6/SwyntpTWpu7iEzLv/pfdCuhFKa4yn+9Ciwe3wGtSiue+dh +tqKcd4YxED3oAswObBca3CC2HWWsUEH6EmfT1jUdfy1cq4X5x7AZ26oFYfG+odqW +W5dcB+13VkJtJRzQTO/2HKtITJYC65a1jKt3ABEBAAG0GlRhZ2lyIFZhbGVldiA8 +bGFueUBuZ3MucnU+iQE5BBMBAgAjBQJVARu0AhsDBwsJCAcDAgEGFQgCCQoLBBYC +AwECHgECF4AACgkQWaJS+xGZ2HNZJQf9ExetK9g1IbC/4L5qGhVzfyNik7m9DJ/m +/fHibCK6pnAP7wHl3QStpcGfWwTDTnY079tdZKnZFk8OOtendA0WWdS/9OO1DZ8u +kzI3PusfDOsIl/9U35dTgfQmFs5Nxi3/xYBphsNrzafEW+reUImADxleCxHhBGM3 +U8zAgnBGVQO+oBGQ/XLQ2xpGEW3lxytDgx90eCryFKhlqvE0Gv59ofHTcNjEkDcg +9ki+dx5B25jpcMD7VzCgSaETs031gDlp7jdiEgJa6ot7o+chhcUlD/1UMZnHgT8h +806xh4+ddiHD6WIXAwiFxsOhJO7o3Ovv4g9eg3VOW6kp6zjhfxrddrkBDQRVARu0 +AQgA2wgu5T1wf8QgQv46nAhpyv/Lf/osb6iTxIoMciUXpxKm6xKxYzov5EZxmC8I +NHRLQQSJ3jjLLzAUy+hhKWxccs3hKof+ukshzgIPwN0ItatoppFmuG2rM1ZKxjES +CqjufXE7r5yxTXtUkCuemQY8egDuihmVoatzTL+uWRNcf74sqqHyeI70NqnjqksW +t2C+7IpurUHp9oB/YkxHK+rLb5+7B9UZNzsMRRQW3AaDsWeIMXTOX7esUbW532Qf +xRbP4bALAVPqqFWCWA6a0mDDUJJg14OxC8MHhhMk2cyd4xJ0zoKQRxGEunb6XP3T +7BHQr9r1AETU0+5sBpEHa5BHhQARAQABiQEfBBgBAgAJBQJVARu0AhsMAAoJEFmi +UvsRmdhza4kIAMccH8GZzjxh7XGXpPqds0SIwJ2akhtr4k0WcRZy56rjGTTGhddR +KkGeMtpY9CtVkodd0zGaZHcGOG0W+wuB5qPKktSRUOUoyR0ZC2xZcvRpuvhw2gwO +JdRHGVteDFnz6Eiz+spJYq26usIPZXgxcuxBXjECuHV7OQkUQMDe1EbOOODODkzC +auYvsfk9x3q9XUp7rQGa8Vi++NHBPhTDU4PReW6485pqJOJuE8QJznMvEHP355FK +xFvFxw0TM9glLxeX36EjDtjs53Xzhw6h7HF2gj8rnaQfsDnJ8SPaRcJmbm1jKXIq ++AalzNZ1m6hXe7XGD63v9CWCFMygkADQfkY= +=P9c9 +-----END PGP PUBLIC KEY BLOCK----- + +pub 86FDC7E2A11262CB +sub 59BA7BFEAD3D7F94 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +mQENBE2kzuwBCACYV+G9yxNkSjAKSji0B5ipMGM74JAL1Ogtcu+993pLHHYsdXri +WWXi37x9PLjeHxw63mN26SFyrbMJ4A8erLB03PDjw0DEzAwiu9P2vSvL/RFxGBbk +cM0BTNXNR1rk8DpIzvXtejp8IHtD1qcDLTlJ8D0W3USebShDPo6NmMxTNuH0u99B +WHCMAdSa34wsg0ZpffwQmRxeA+ebrf2ydKupGkeZsKjkLlaXNkTVp1ghn5ts/lvg +KeHv1SJivWKCRmFlbPhBK4+mxSUSOPdoBNAfxA51QzZoPizSk0VbRz3YufYRVLFy +9vqPSorDmYJhCvn3f6+A38FS/j8VE+8obQ2rABEBAAG5AQ0ETaTO7AEIALN4amR3 +pf/FN8oMFa9eAc44ognamG31ea1lkqIiPssiJLC9J2z9mShkrECbsBj4o+HxeN/3 +rwW2hQFAm8cAbitujASpPs46slp7Ylx6cfmrNqh3tOkg9BW/5izPwjXAuULovMpG +PVf30eeDpf6huwRqyc9uYQSS6Jn9KCLi9ULxIeQOZi3UPHyMOCbnehR5aQQk70tI +jbNytmFKC+DXFrhDiBjlRQruATgtuYYKMWUBO65b/SyvLG7zPGmHXmCSfg2qCTQI +8xKN6wxgQY6x0PN9BeXa1du3497qYGhaHrsxnW/nM6rcQO2hKoOlY/GmicB5oK40 +MMVfji8aN/EYTS0AEQEAAYkBHwQYAQIACQUCTaTO7AIbDAAKCRCG/cfioRJiy8Qw +B/9UbKogRzDhPYPeBlnchOR6gF69B3EFP/bvE2+hY5nIZLMZiVFtFCuWj65myN8x +z0w29pKbHLLiAtVtx29Cvc8X/8bGmEn3xbymT2X4znuN/IeecK6afsw7ij1535a6 +KA3mh640noEird9/ajUOysS8MKFg4kQ54W5bG/67sjYAEkl6ns1sHIzaf08Ty+UZ +TfNQGBZQGyTqNP6SUqcTIcTvpbN6A8vPeO0SVO7IHuNGGPJAm7XKIkQxuzbMfxok +Y5uLl/wm6bi0gtm4QB2gjQzdzdVGrXZzP+8vL71Vdr+z//wiwafzySPLJio7LxYk +SOg5cWH752laIzudmSBBw2Lk +=HHpt +-----END PGP PUBLIC KEY BLOCK----- + +pub 7457CA33C3CE9E15 +uid Colin Decker + +sub ABE9F3126BB741C1 +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +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 +=Gj90 +-----END PGP PUBLIC KEY BLOCK----- + +pub 164BD2247B936711 +uid Marc Philipp (JUnit Development, 2014) + +sub EFE8086F9E93774E +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: BCPG v1.68 + +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 +Qw== +=iceo +-----END PGP PUBLIC KEY BLOCK----- diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 7874f868..b552bde9 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1,13 +1,13 @@ - + false true + - From d78c0aab79b7321136abc0ed3229d6d1017488e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:05:26 +0200 Subject: [PATCH 03/19] Disable scans to work around dependency validation problem for now --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 502e6e9a..d921567a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,7 +34,7 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: - build-scan-publish: true + build-scan-publish: false build-scan-terms-of-use-url: "https://gradle.com/terms-of-service" build-scan-terms-of-use-agree: "yes" From 877558ba7cd72739311eb2e9ba9d110f61da2aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:07:06 +0200 Subject: [PATCH 04/19] Use Java 11 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d921567a..824161cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '17' + java-version: '11' - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 From a4976d50e85f5fbaa05af822391ff7e06e3ee2b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:13:38 +0200 Subject: [PATCH 05/19] Alternative way to find crash logs that works on Windows too --- .github/workflows/build.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 824161cf..b04b1ef4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,8 +41,8 @@ jobs: - name: Build run: ./gradlew :file-events:check - - name: Check for JVM crash logs - if: failure() + - name: Check for JVM crash logs (Unix) + if: failure() && runner.os != 'Windows' run: | mkdir -p crash_logs find . -name 'hs_err_pid*.log' -exec mv {} crash_logs/ \; @@ -52,6 +52,17 @@ jobs: echo "No JVM crash logs found." fi + - name: Check for JVM crash logs (Windows) + if: failure() && runner.os == 'Windows' + run: | + mkdir crash_logs + for /r %i in (hs_err_pid*.log) do move %i crash_logs\ + if exist crash_logs\* ( + echo "JVM crash logs found." + ) else ( + echo "No JVM crash logs found." + ) + - name: Upload JVM crash logs if: failure() uses: actions/upload-artifact@v3 From 1e1366532017fbea460f1036dec42b5a5156d17a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:27:24 +0200 Subject: [PATCH 06/19] Upload test results --- .github/workflows/build.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b04b1ef4..30cc6857 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,3 +69,17 @@ jobs: with: name: jvm-crash-logs-${{ matrix.os }} path: crash_logs/ + + - name: Upload test results + if: always() + uses: actions/upload-artifact@v3 + with: + name: test-results-${{ matrix.os }} + path: file-events/build/reports/tests/testJni + + - name: Upload test results (JNI) + if: always() + uses: actions/upload-artifact@v3 + with: + name: test-results-${{ matrix.os }}-jni + path: file-events/build/reports/tests/testJni From 0af33ced96d21eaef1e6919d6faa74eee9ff2abb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:33:39 +0200 Subject: [PATCH 07/19] Make this work on Windows with PowerShell --- .github/workflows/build.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30cc6857..18a9d36d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,13 +55,14 @@ jobs: - name: Check for JVM crash logs (Windows) if: failure() && runner.os == 'Windows' run: | - mkdir crash_logs - for /r %i in (hs_err_pid*.log) do move %i crash_logs\ - if exist crash_logs\* ( - echo "JVM crash logs found." - ) else ( - echo "No JVM crash logs found." - ) + New-Item -ItemType Directory -Force -Path crash_logs + Get-ChildItem -Recurse -Filter 'hs_err_pid*.log' | Move-Item -Destination crash_logs + if (Test-Path -Path crash_logs\*) { + Write-Host "JVM crash logs found." + } else { + Write-Host "No JVM crash logs found." + } + shell: pwsh - name: Upload JVM crash logs if: failure() From e89ab68753a5081a606cd8322f7bff3b0db9aea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:37:52 +0200 Subject: [PATCH 08/19] Run all builds in the matrix to completion --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18a9d36d..9c4593fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,7 @@ jobs: - ubuntu-24.04 - windows-2019 - windows-2022 + continue-on-error: true runs-on: ${{ matrix.os }} steps: From cac261cc7ae1ae119e79be61c97dc925df57f7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:40:20 +0200 Subject: [PATCH 09/19] Install MSVC on Windows --- .github/workflows/build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c4593fd..b9796395 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,6 +32,11 @@ jobs: distribution: 'temurin' java-version: '11' + - uses: TheMrMilchmann/setup-msvc-dev@v3 + if: runner.os == 'Windows' + with: + arch: x64 + - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 with: From a018d103a0058f95638febf42c4ba39466a7b420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:53:39 +0200 Subject: [PATCH 10/19] Set VSINSTALLDIR env var to MSVC install dir --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9796395..e1e7c188 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,6 +36,7 @@ jobs: if: runner.os == 'Windows' with: arch: x64 + export-path-to-vs: VSINSTALLDIR - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 From 3442c418f2cde4b8d28cc27d49fd08b1c13fa061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 21:57:25 +0200 Subject: [PATCH 11/19] Run MSVC setup --- .github/workflows/build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e1e7c188..041e7101 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,6 +37,13 @@ jobs: with: arch: x64 export-path-to-vs: VSINSTALLDIR + export-path-to-vcvarsall: VCVARSALLDIR + + - name: Set up MSVC + if: runner.os == 'Windows' + run: | + "${env:VSINSTALLDIR}\VC\Auxiliary\Build\vcvars64.bat" + shell: pwsh - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 From d36dd14ba68656968c7857182825042391e950ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Tue, 11 Jun 2024 22:07:56 +0200 Subject: [PATCH 12/19] Use upload-artifact v4 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 041e7101..dc82bf68 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,21 +80,21 @@ jobs: - name: Upload JVM crash logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: jvm-crash-logs-${{ matrix.os }} path: crash_logs/ - name: Upload test results if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-results-${{ matrix.os }} path: file-events/build/reports/tests/testJni - name: Upload test results (JNI) if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-results-${{ matrix.os }}-jni path: file-events/build/reports/tests/testJni From 6081b2cf897321ec129fbba36a69e1e3f8d9cad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:42:13 +0200 Subject: [PATCH 13/19] Try moving MSVC first to make it work with GitHub --- buildSrc/src/main/java/gradlebuild/JniPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/java/gradlebuild/JniPlugin.java b/buildSrc/src/main/java/gradlebuild/JniPlugin.java index 20acc446..2e7386a0 100644 --- a/buildSrc/src/main/java/gradlebuild/JniPlugin.java +++ b/buildSrc/src/main/java/gradlebuild/JniPlugin.java @@ -260,6 +260,7 @@ void createPlatforms(PlatformContainer platformContainer) { } @Mutate void createToolChains(NativeToolChainRegistry toolChainRegistry) { + toolChainRegistry.create("visualCpp", VisualCpp.class); toolChainRegistry.create("gcc", Gcc.class, toolChain -> { // The core Gradle toolchain for gcc only targets x86 and x86_64 out of the box. // https://github.com/gradle/gradle/blob/36614ee523e5906ddfa1fed9a5dc00a5addac1b0/subprojects/platform-native/src/main/java/org/gradle/nativeplatform/toolchain/internal/gcc/AbstractGccCompatibleToolChain.java @@ -272,7 +273,6 @@ void createPlatforms(PlatformContainer platformContainer) { toolChain.target("osx_aarch64"); } }); - toolChainRegistry.create("visualCpp", VisualCpp.class); } @Mutate From 39f16e50e1dbab61bbd8188d24c18214b2889c2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:48:08 +0200 Subject: [PATCH 14/19] Run all tests --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dc82bf68..fdfe3474 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,7 +53,7 @@ jobs: build-scan-terms-of-use-agree: "yes" - name: Build - run: ./gradlew :file-events:check + run: ./gradlew :file-events:check --continue - name: Check for JVM crash logs (Unix) if: failure() && runner.os != 'Windows' From 2f9c3f5162716be949eb7a1bd06aa848c3eccc30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:49:49 +0200 Subject: [PATCH 15/19] Ignore when no crash logs are found --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fdfe3474..e3014873 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -84,6 +84,7 @@ jobs: with: name: jvm-crash-logs-${{ matrix.os }} path: crash_logs/ + if-no-files-found: ignore - name: Upload test results if: always() From b44cd4c3c61a7932f3c79c2a27d10370b104d049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:51:08 +0200 Subject: [PATCH 16/19] Fix test location --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3014873..a63f0839 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,7 +91,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: test-results-${{ matrix.os }} - path: file-events/build/reports/tests/testJni + path: file-events/build/reports/tests/test - name: Upload test results (JNI) if: always() From 4b9b6dffd69b7e3d603ec3c1fca2e7f133de372d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:55:18 +0200 Subject: [PATCH 17/19] Fail PR if one or more jobs have failed --- .github/workflows/build.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a63f0839..30b1e7bc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,3 +99,18 @@ jobs: with: name: test-results-${{ matrix.os }}-jni path: file-events/build/reports/tests/testJni + + # We need this to fail the PR in case any of the jobs in the matrix have failed + check-failure: + needs: build + runs-on: ubuntu-latest + steps: + - name: Check for job failures + run: | + if grep -q '::error' ${{ github.workflow }}-*; then + echo "One or more jobs failed" + exit 1 + else + echo "All jobs passed" + fi + continue-on-error: false From 3bf361b5974548676da50e7cdb0e914488839131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:57:34 +0200 Subject: [PATCH 18/19] Ignore not failing when watching files on Windows --- .../platform/file/BasicFileEventFunctionsTest.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy b/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy index 1ce23c87..0639a72c 100644 --- a/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy +++ b/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy @@ -426,9 +426,9 @@ class BasicFileEventFunctionsTest extends AbstractFileEventFunctionsTest { expectLogMessage(SEVERE, Pattern.compile("Caught exception: Couldn't add watch.*: ${Pattern.quote(missingDirectory.absolutePath)}")) } - // Apparently on macOS we can watch files + // Apparently on macOS and Windows we can watch files // TODO Should we fail for this? - @IgnoreIf({ Platform.current().macOs }) + @IgnoreIf({ Platform.current().macOs || Platform.current().windows }) def "fails when watching file"() { given: def file = new File(rootDir, "file.txt") From e1e5ddfeb0a981ab1aa13be791d91ed2d90c2fb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3r=C3=A1nt=20Pint=C3=A9r?= Date: Wed, 12 Jun 2024 07:59:17 +0200 Subject: [PATCH 19/19] Only expect to stop watching automatically on deleting on Linux --- .../platform/file/BasicFileEventFunctionsTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy b/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy index 0639a72c..55e3ad21 100644 --- a/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy +++ b/file-events/src/test/groovy/net/rubygrapefruit/platform/file/BasicFileEventFunctionsTest.groovy @@ -784,7 +784,7 @@ class BasicFileEventFunctionsTest extends AbstractFileEventFunctionsTest { waitForChangeEventLatency() // Restart watching freshly recreated directory on platforms that auto-unregister on deletion - if (!Platform.current().macOs) { + if (Platform.current().linux) { watcher.startWatching([watchedDir]) } // Ignore events received during setup