From nobody Fri Jul 21 12:14:44 2023 X-Original-To: java@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R6pXR4fvVz4pMxt for ; Fri, 21 Jul 2023 12:19:51 +0000 (UTC) (envelope-from saper@saper.info) Received: from q.saper.info (q.saper.info [IPv6:2605:2700:0:2:a800:ff:fec7:5c61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "q.saper.info", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R6pXR12kMz4QC5 for ; Fri, 21 Jul 2023 12:19:51 +0000 (UTC) (envelope-from saper@saper.info) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=saper.info header.s=Sep2014 header.b=raGhCbpn; spf=none (mx1.freebsd.org: domain of saper@saper.info has no SPF policy when checking 2605:2700:0:2:a800:ff:fec7:5c61) smtp.mailfrom=saper@saper.info; dmarc=none Received: from q.saper.info (localhost [127.0.0.1]) by q.saper.info (8.17.1/8.17.1) with ESMTPS id 36LCJorf063866 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO) for ; Fri, 21 Jul 2023 12:19:50 GMT (envelope-from saper@saper.info) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=saper.info; s=Sep2014; t=1689941990; bh=EOuNKcluboRLFHqS3Ws4ao+g4YuL0Y2LEifeW5laqz8=; h=Date:From:To:Subject:ReSent-Date:ReSent-From:ReSent-To; b=raGhCbpnffJQJp/brNTqd8HVJnIj9w+Vk1w6lK7c6sCZN81AvWQFFJ+xlJM6UAcfA g+dzFfBfSMkRDSLfhs4eYutqWhbUFSGqRbgVvE3wW1GRkon0sq9NV3cpTQigKYVqaS adif3uHliIzai+AoSLRKy8PPxFjMKioaByy0sIyo= Received: from localhost (saper@localhost) by q.saper.info (8.17.1/8.17.1/Submit) with ESMTP id 36LCJoZD063863 for ; Fri, 21 Jul 2023 12:19:50 GMT (envelope-from saper@saper.info) X-Authentication-Warning: q.saper.info: saper owned process doing -bs Date: Fri, 21 Jul 2023 12:14:44 +0000 From: Marcin Cieslak To: java@freebsd.org Subject: runtime JAVA_VERSION vs. Java build target Message-ID: <3nq41q78-5qo8-1469-1s11-087so5p535q3@fncre.vasb> List-Id: Porting Java to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-java List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-java@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="2201072851-43873148-1689941684=:935" ReSent-Date: Fri, 21 Jul 2023 12:19:43 +0000 ReSent-From: Marcin Cieslak ReSent-To: java@freebsd.org ReSent-Subject: runtime JAVA_VERSION vs. Java build target ReSent-Message-ID: X-Spamd-Result: default: False [-5.39 / 15.00]; SIGNED_SMIME(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.990]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_DKIM_ALLOW(-0.20)[saper.info:s=Sep2014]; DMARC_NA(0.00)[saper.info]; MLMMJ_DEST(0.00)[java@freebsd.org]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[saper.info:+]; R_SPF_NA(0.00)[no SPF record]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FROM_EQ_ENVFROM(0.00)[]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; HAS_ATTACHMENT(0.00)[]; HAS_XAW(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[java@freebsd.org]; ASN(0.00)[asn:47066, ipnet:2605:2700::/32, country:US] X-Rspamd-Queue-Id: 4R6pXR12kMz4QC5 X-Spamd-Bar: ----- --2201072851-43873148-1689941684=:935 Content-Type: text/plain; format=flowed; charset=US-ASCII I've run into this recently: when I build a Java port, generated JAR will be built with a compiler set by JAVA_VERSION which is our runtime setting. For example, when building with OpenJDK 11, and later running something with env JAVA_VERSION=8 ... I will get class file version errors. Since textproc/xincluder is a small and obsolete piece of software, I have decided to tell javac to target Java 8 in all cases[1]. Shall this be a general practice? If someone decides to set JAVA_VERSION high and rebuild Java dependencies from source (those which can be rebuilt) - JAVA_VERSION cannot be really used to switch at runtime. On the other hand, one might the code to be optimized better. What is the best practice here? Shall we keep JAR libraries that can be used as dependencies compatible with the oldest Java runtime we have? Marcin [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272559 --2201072851-43873148-1689941684=:935 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: BASE64 Content-Description: S/MIME Cryptographic Signature Content-Disposition: attachment; filename=smime.p7s MIIOdgYJKoZIhvcNAQcCoIIOZzCCDmMCAQExDzANBglghkgBZQMEAgEFADAL BgkqhkiG9w0BBwGgggq9MIIEvDCCA6SgAwIBAgIQeEqpEhjRpCYIUTzTZlVD ozANBgkqhkiG9w0BAQsFADBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3Qg Q0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs U2lnbjAeFw0yMDA5MTYwMDAwMDBaFw0yOTAzMTgwMDAwMDBaMFsxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMSBDQSAyMDIwMIIBIjAN BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvxvJBqEapaux2/z3J7fFslRO WjKVJ5rCMfWGsg17dmD7NSnG7Spoa8d3htXsls1IMxoO8PyouQajNQqYmlYo xinlqenMNv7CJyEKMOAtglBmD6C/QC7kT+dSx4HfSTs8xmv8veJOldMzF8S/ BEn/tD4w/Dvpg+oXOqDyOiHPTacRFK0QHoq5eEbBmVS8W0rwcaRotO9fGTA+ NjF0My7GLRNK0eMPGh2hcPZURQhXy7wRQ8XFIfEA6kaQHHN22ncnVtwqiTmA wTR+4GNNVinG3KjNZLAVSnGrdCvT2I4Zo19hKy5PX6o7wrVXvMR4zV5VBFwV 6ZDM+xewao7Mup+SbwIDAQABo4IBiTCCAYUwDgYDVR0PAQH/BAQDAgGGMB0G A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDASBgNVHRMBAf8ECDAGAQH/ AgEAMB0GA1UdDgQWBBSFu/DMxDa1CmJ2o5kuj7s6aq3FUTAfBgNVHSMEGDAW gBSP8Et/qC5FJK5NUPpjmove4t0bvDB6BggrBgEFBQcBAQRuMGwwLQYIKwYB BQUHMAGGIWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMzA7Bggr BgEFBQcwAoYvaHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQv cm9vdC1yMy5jcnQwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i YWxzaWduLmNvbS9yb290LXIzLmNybDBMBgNVHSAERTBDMEEGCSsGAQQBoDIB KDA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9y ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWWtqju12g524FdD2HwUX U1rSxeM5aSU1cUC1V/xBjXW0IjA7/3/vG2cietPPP/g3lpoQePVJpQAKZml8 1fHwPPivFK9Ja41jJkgqGzkORSC0xYkh2gGeQg1JVaCzcrRzJElRjT442m6F pbLHCebxIHLu0WBNjLZreB6MYMaqdPL6ItbXtD/BU4k517cEuUbczoBFZAra jq7oUBWXuroln5AMnRwVNwgJN4Np0s4kkJ94KepzbFOLzcbnfUB0+xT4foXm bM0GmmcPGOy0qvqEHJsBwDZXDxIk8oqCnnLngi7N94Sn4eTcmpZ9NH2dDN1O TEPVXgRG5X1pBcNtMWG6MDCCBfkwggThoAMCAQICDCKqoJRMYYx5sYJHGzAN BgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFs U2lnbiBudi1zYTExMC8GA1UEAxMoR2xvYmFsU2lnbiBHQ0MgUjMgUGVyc29u YWxTaWduIDEgQ0EgMjAyMDAeFw0yMzAzMDcxNjExMDlaFw0yNjAzMDcxNjEx MDlaMDwxGTAXBgNVBAMMEHNhcGVyQHNhcGVyLmluZm8xHzAdBgkqhkiG9w0B CQEWEHNhcGVyQHNhcGVyLmluZm8wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQC8MB3fTYVrTadH5qE2CIa4VLvlL6QHgDriMRLkTA49SPszYCO0 fZTEpdSw8fc6kK9p2fD63LAfOHeD7jzey5aHBzpIGlxeFkn0Ce2BCYY5yLxK i9byoCwrpLchTR1Itpk1w+zy5E4T9KBTL1+c+w+TKpaIvFLXtjZtz4wQGi0p e/nRkRK9htGG3mETh+APitedl+ImGaI8NK9PELxuSkXnYAvGPpnXir8vbszk tJU1b0TevL/i3Sy6fhOhunZmTo1QDM7Zw4UyVjkQgTvL3y4I0tIrVjlam08x XZeMp+i/Gl51eHGvRVfvdJUJAjrWhrFEp8+2FZouWxWzAlHdd2sRp1AekNdP CeRgHeIF6uNtSseL1grKAjU+4BiixWPp1y1niB0humoQHoub/6fO/mU+//rW l3gTwZNu4FuKgZlfPw+qnvuka0c9dUNIZRCE5z8yXjS8R9yZWirnHNhYxf/e R2y4jaiHzPAjZlZZ2rGx8xVfB2n2JsAicj2+ZxmXlQ1yd5RW1pfxG3cdNNC5 uZ+j4JIN2ElsIjEKmMn9gHdoaEMAy/ENwNiMDBadLnc8qWirq/Ktp2dBSf2y /sH9xMpVyk8wuYjpbCnX4xslAensno5A20MYdKGPRFaItEhNPNbfzc1+4br8 exoXFX1F9ZJK9gGUO2nLbdRycphdyzxzgQIDAQABo4IB2jCCAdYwDgYDVR0P AQH/BAQDAgWgMIGjBggrBgEFBQcBAQSBljCBkzBOBggrBgEFBQcwAoZCaHR0 cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyM3BlcnNv bmFsc2lnbjFjYTIwMjAuY3J0MEEGCCsGAQUFBzABhjVodHRwOi8vb2NzcC5n bG9iYWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWduMWNhMjAyMDBMBgNV HSAERTBDMEEGCSsGAQQBoDIBKDA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3 dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1Ud HwRCMEAwPqA8oDqGOGh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2Ny M3BlcnNvbmFsc2lnbjFjYTIwMjAuY3JsMBsGA1UdEQQUMBKBEHNhcGVyQHNh cGVyLmluZm8wHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB8GA1Ud IwQYMBaAFIW78MzENrUKYnajmS6PuzpqrcVRMB0GA1UdDgQWBBTW/RrdlRFR y6MgS7liTThMnQA5ozANBgkqhkiG9w0BAQsFAAOCAQEAAwoUJShHMueocVlD 1+vYJbTTTbk9tabr2L4Iyyy4Btu1d1wwl6d9Yx2N9qaVERWcEeP0aR+NB2B7 xIKl/ZnZVuSxep0Raw4s284a/jSIJlsAi4SJItDCU2VrYJDWxP7MxzZHnzPI MLDoTHXPV18gvYTewoNk5/Yo89Kb0v/GpPTpP2sVdrWLHa4uKUHYrAZ0aByp kNw6lXp6o6DXvXaOd6KDTQN5XhmmHwLnuLceODF1t9gicsZIOY+KAxN6YZ6t EqwN48b4OFMpckDE3fm1iTZRqnEIqUHOKOcoCImkub1woEN0zXDQmLXaZigl uVztWSTM4/fapWLrlHBNxfjs1TGCA30wggN5AgEBMGswWzELMAkGA1UEBhMC QkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNVBAMTKEdsb2Jh bFNpZ24gR0NDIFIzIFBlcnNvbmFsU2lnbiAxIENBIDIwMjACDCKqoJRMYYx5 sYJHGzANBglghkgBZQMEAgEFAKCB5DAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN AQcBMBwGCSqGSIb3DQEJBTEPFw0yMzA3MjExMjE0NDRaMC8GCSqGSIb3DQEJ BDEiBCDimLQlHeLGHM1jUe2LZOG+FvGGTRpx4/nBrxYE5oK0kTB5BgkqhkiG 9w0BCQ8xbDBqMAsGCWCGSAFlAwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUD BAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIB QDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASCAgBv 8NMoBAwTx7PWg4NVzoPYeEQ5c/QLAW+tWPEuS3ySXoM8DfSDct9JNEp97K+I xIH6MabJpUlCdIBjEwPVdyobizNeSCNHhsHHaSYBtI6bIJkqOAjRkLc52QRe GTxcBZTF9BFwBrsZhCfXICU7tQzmGki957SdN84xdCNd4v3ZMWaPY3keAeKf 0TwOhxpnuo9bAzjfkqX+Y50annG88NW3DC45bxPykzV4eBPBxn3j7jZ4P/hE p7pzgVvY+c6lqVzv/Vjd0oAMdBjrGFO03A9zPlYrOgWHt9T8yw2mKlMjIiV8 XyPpdHYhTbwRNW1cnkLyIeFUUF3TGHw2WzdRExrau3dU8oLUXbaMMkPOL7z5 bxIZClErrm6Eq5HnUbH+ZENqUNeJq6/+dvUpZkQdQKaEo9LeHaF1cXvXd7dE nZ6fEHQK22yOw4EQUIDGMFDzgJAZ6i6LBwb6vDTVGYrjdq6kByPCF3N1TK5f O1wDeF1+sT7TGWZ1e3hfXIyDRXiE+r/M8c/flx3kBYwG3JyJ2OtPtSammwr2 9QAbKQvsP1Sflk4QbVppiXWjfQm1TAiVHvvY0ERBT7cl5xYnrQaggMgSOr1e pSvV7vmU3h1Ub1YhUvQFWfqvf4tabzDEuh3DLyVD3Fh38GCZTZv6GCHzTEZS pJuzk7lDxbzlfCX+PvaSUQ== --2201072851-43873148-1689941684=:935--