From 51276237f2e0c6968daa1b7b606289e50ff4dd4f Mon Sep 17 00:00:00 2001 From: Jakub Date: Tue, 28 Feb 2023 12:43:44 +0100 Subject: [PATCH] nix: include nodeps JARs in Gradle deps (#15212) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * nix: update gradle dependencies Signed-off-by: Jakub Sokołowski * nix: include nodeps JARs in Gradle deps Signed-off-by: Jakub Sokołowski * nix: include nodeps JAR for semver4j 0.16.4 Can cause failures like in some cases: ``` A problem occurred configuring project ':react-native-hole-view'. > Could not resolve all files for configuration ':react-native-hole-view:classpath'. > Could not find semver4j-0.16.4-nodeps.jar (com.github.gundy:semver4j:0.16.4). Searched in the following locations: file:/nix/store/3n2pxsqa2izlx8c23s6jgqai0bqaklm1-status-mobile-maven-deps/com/github/gundy/semver4j/0.16.4/semver4j-0.16.4-nodeps.jar ``` Signed-off-by: Jakub Sokołowski --------- Signed-off-by: Jakub Sokołowski --- nix/deps/gradle/default.nix | 14 +++++++ nix/deps/gradle/deps.json | 84 +++++++++++++++++++++---------------- nix/deps/gradle/deps.urls | 19 +++++---- nix/deps/gradle/url2json.sh | 22 ++++++++++ 4 files changed, 95 insertions(+), 44 deletions(-) diff --git a/nix/deps/gradle/default.nix b/nix/deps/gradle/default.nix index 567e668b14..ba427eaa7f 100644 --- a/nix/deps/gradle/default.nix +++ b/nix/deps/gradle/default.nix @@ -16,6 +16,7 @@ let mkdir -p $out cd $out '' + + # TODO: Generalize this section to not repeat the same code. (concatMapStrings (dep: let url = "${dep.host}/${dep.path}"; @@ -33,6 +34,13 @@ let jar-download = optionalString (jar.sha256 != "") ( fetchurl { url = "${url}.${dep.type}"; inherit (jar) sha256; } ); + nodeps = { + sha1 = attrByPath [ "nodeps" "sha1" ] "" dep; + sha256 = attrByPath [ "nodeps" "sha256" ] "" dep; + }; + nodeps-download = optionalString (nodeps.sha256 != "") ( + fetchurl { url = "${url}-nodeps.jar"; inherit (nodeps) sha256; } + ); fileName = last (splitString "/" dep.path); directory = removeSuffix fileName dep.path; in @@ -51,6 +59,12 @@ let ${optionalString (jar.sha1 != "") '' echo "${jar.sha1}" > "${dep.path}.${dep.type}.sha1" ''} + ${optionalString (nodeps-download != "") '' + ln -s "${nodeps-download}" "${dep.path}.${dep.type}" + ''} + ${optionalString (nodeps.sha1 != "") '' + echo "${nodeps.sha1}" > "${dep.path}.${dep.type}.sha1" + ''} '') deps)); diff --git a/nix/deps/gradle/deps.json b/nix/deps/gradle/deps.json index 6c00c8f56b..aacf1cfbaa 100644 --- a/nix/deps/gradle/deps.json +++ b/nix/deps/gradle/deps.json @@ -5778,6 +5778,10 @@ "jar": { "sha1": "de8c77583e97bbbd3cdbe5f406b583e9b081ff56", "sha256": "0435ff3qzmcxprsm93x3aw9clgfpa871zl41izhijwm3bwib9yfy" + }, + "nodeps": { + "sha1": "273cc1869ddf7ebbac8176402e29f41b1c83d7df", + "sha256": "1w4a2ak60r46wiy8yl00yy8v397qa2zja5jmsd7wsk1p2sjyqn9z" } }, @@ -6930,12 +6934,12 @@ }, { - "path": "com/sun/xml/bind/jaxb-bom-ext/4.0.1/jaxb-bom-ext-4.0.1", + "path": "com/sun/xml/bind/jaxb-bom-ext/4.0.2/jaxb-bom-ext-4.0.2", "host": "https://repo.maven.apache.org/maven2", "type": "pom", "pom": { - "sha1": "6916f1573d78b0d41b629257277da86215ea7a6f", - "sha256": "069gm0wclljzdjn5j29hizhc4rakszk8kgzmsx66h5fkvlcvgd5b" + "sha1": "600924984be6a63e1c38d5f6ef0637a070002937", + "sha256": "1jsdpynkd7d7bqp81ajcy7fa2riz9wnl8rb81icd8shv7awnkbfx" } }, @@ -6950,12 +6954,12 @@ }, { - "path": "com/sun/xml/bind/mvn/jaxb-parent/4.0.1/jaxb-parent-4.0.1", + "path": "com/sun/xml/bind/mvn/jaxb-parent/4.0.2/jaxb-parent-4.0.2", "host": "https://repo.maven.apache.org/maven2", "type": "pom", "pom": { - "sha1": "315ec09b889041008f815ddd41cca9633ee50cc4", - "sha256": "1bpqac2a25qq81h99zvj20n9ac2hd8iry7mnwisvd4f8avpm272i" + "sha1": "160938bb66dc61a4839edaad77a5b7b7f9f5171d", + "sha256": "184avj0jpjz1rsxrrw88yn31yxkvw1l3blyq6fs4sbmgac12dvqc" } }, @@ -6980,12 +6984,12 @@ }, { - "path": "com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.1/jaxb-txw-parent-4.0.1", + "path": "com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.2/jaxb-txw-parent-4.0.2", "host": "https://repo.maven.apache.org/maven2", "type": "pom", "pom": { - "sha1": "0f5e6242fe24ccd5e4c663dc66f7b935b4cffb55", - "sha256": "1niyxycc1k9qb0hpkb30zcccai28pq4yhy9a8p45d24zgrvdgs1a" + "sha1": "c9c99b4e33782535b5988616bc3b452543cb48e5", + "sha256": "0xxyqayffjwdmagqa6jqca8ykl3iz2vhw59l6478nv8ir268x2rn" } }, @@ -7650,12 +7654,12 @@ }, { - "path": "org/antlr/antlr4-master/4.11.1/antlr4-master-4.11.1", + "path": "org/antlr/antlr4-master/4.12.0/antlr4-master-4.12.0", "host": "https://repo.maven.apache.org/maven2", "type": "pom", "pom": { - "sha1": "298ecf68d872658e1d92457168018bd5b8fff245", - "sha256": "1b80dq56qs5rqzbvq5pyf2pcsgfmmfmsmznhbxw1armvvbl5vskj" + "sha1": "5cd9d694d06e046886a7a8e54d70b22bc03af4a3", + "sha256": "0x3rhw76nrzh35d8liq9wffm74rshxwg944xc55c3qlcwlxg3xj2" } }, @@ -7674,16 +7678,16 @@ }, { - "path": "org/antlr/antlr4-runtime/4.11.1/antlr4-runtime-4.11.1", + "path": "org/antlr/antlr4-runtime/4.12.0/antlr4-runtime-4.12.0", "host": "https://repo.maven.apache.org/maven2", "type": "jar", "pom": { - "sha1": "b76aa0c70639f8b3112e4d5e14abf951cb38761c", - "sha256": "0d0vd3nh9f2aqy4njx4d0qh7jwha83crmxkyplgmk307b4lyqmn4" + "sha1": "3113149fe4ea467b27f14f2b99096cac9d4ca53a", + "sha256": "1r3isigbls4i2ldc4kyq3kzv2klcgz7przyq3knz02aasrzm95n6" }, "jar": { - "sha1": "069214c1de1960040729702eb58deac8827135e7", - "sha256": "0nfsdach3x0vyv1isnvvjp7hif0kdzyb1i1f0lv4vhfcq59nav70" + "sha1": "dd105cf6ac9f7417b3782c178f6dbd06bf75df57", + "sha256": "0d6sd7jrxfxd7qp5gbsd8vdq6wp1r2iww189g76i0vkxj8s3ndfv" } }, @@ -8540,16 +8544,16 @@ }, { - "path": "org/checkerframework/checker-qual/3.29.0/checker-qual-3.29.0", + "path": "org/checkerframework/checker-qual/3.31.0/checker-qual-3.31.0", "host": "https://repo.maven.apache.org/maven2", "type": "jar", "pom": { - "sha1": "76bd5ffeef4d9b039e6445e2674264dbc5bfb94c", - "sha256": "0azs4ndih02r5a3fvn08sndwc58ymzma2krqclfz6pivmfrxcyp2" + "sha1": "a600a4210e8c3db6ea45ea0989920b0255dbb6f6", + "sha256": "0cajb4ivvw446lc3bcwl49difmpgg1rrcbzklxc87rs7pqz9qms3" }, "jar": { - "sha1": "a805a761b7a734d69f9c1766ead1ff78698a1497", - "sha256": "1hb8ajlszzvh3cimvzkwgkx2689rh131jh7259a7s94cvzjq1p77" + "sha1": "eeefd4af42e2f4221d145c1791582f91868f99ab", + "sha256": "1fai6kk72j76ivgipgl7ckbcn8g8yl289pbx712zpii2dm3mzvqw" } }, @@ -8775,6 +8779,16 @@ } }, + { + "path": "org/eclipse/ee4j/project/1.0.8/project-1.0.8", + "host": "https://repo.maven.apache.org/maven2", + "type": "pom", + "pom": { + "sha1": "41a621037931f9f4aa8768694be9f5cb59df83df", + "sha256": "0jv7vwx72mx30ydlhk5ql3q8zb67m2qpw43f4inaypm3aip7n30d" + } + }, + { "path": "org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2", "host": "https://repo.maven.apache.org/maven2", @@ -8828,12 +8842,12 @@ }, { - "path": "org/glassfish/jaxb/jaxb-bom/4.0.1/jaxb-bom-4.0.1", + "path": "org/glassfish/jaxb/jaxb-bom/4.0.2/jaxb-bom-4.0.2", "host": "https://repo.maven.apache.org/maven2", "type": "pom", "pom": { - "sha1": "99d85661aef6ac9f6bfb6af0f0ea507d054b91e1", - "sha256": "151zbrywjzbnmwqg246iyz0bqnx2hh730hxmig62vh67s2nbw8lm" + "sha1": "12668536ac24e77398bd675a1e458c1824d156c7", + "sha256": "08bgmpyhps9h25z6950g7751zg6g5vkvn02v1znamarlaw2niyl6" } }, @@ -8852,16 +8866,16 @@ }, { - "path": "org/glassfish/jaxb/jaxb-core/4.0.1/jaxb-core-4.0.1", + "path": "org/glassfish/jaxb/jaxb-core/4.0.2/jaxb-core-4.0.2", "host": "https://repo.maven.apache.org/maven2", "type": "jar", "pom": { - "sha1": "e366262bbe2037088461f748896f6aa4afcfd3c6", - "sha256": "14d3d3p0c42qd8jq8mxmpymd17x5zxixhyccwfmxkr24ad9pvj46" + "sha1": "9aecfe4442b96fc3f9cabc25e7c6e310972d674e", + "sha256": "00yij4s17cvixysjdjrzc51jd07fpcc11jy4lgg1z8zfvx6zdhma" }, "jar": { - "sha1": "b4707bb31dfcf54ae424b930741f0cd62d672af9", - "sha256": "19v525w4qb65czx1v31k5lz0yan9vc030h736iqgz59l2048hf3l" + "sha1": "08c29249f6c10f4ee08967783831580b0f5c5360", + "sha256": "1k8c8wf420nmqyhyr6p0ns12mx127bzwq71rp6x0nj3qmma2kzyp" } }, @@ -8894,16 +8908,16 @@ }, { - "path": "org/glassfish/jaxb/txw2/4.0.1/txw2-4.0.1", + "path": "org/glassfish/jaxb/txw2/4.0.2/txw2-4.0.2", "host": "https://repo.maven.apache.org/maven2", "type": "jar", "pom": { - "sha1": "160273691bf3ffa0745bf86453dd56c62ec23ac2", - "sha256": "03zv45jgmppikcqk7gq01pyryzvam3qnllc5q7jjywvnq5mjdvvp" + "sha1": "f8eef3319522b021e51123ea88d6ab4d484d2c59", + "sha256": "1ry99inn7v0fpgfrnhj3h4qnhaccmksn8vsrgfn1ysj6cqrfgc8p" }, "jar": { - "sha1": "797720dfe2e15504f6014fb82eb873051a653c75", - "sha256": "1aba3rk9jm66k65vx95a92sdapbsvfbsvii26s8y9rach44p9m7l" + "sha1": "24e167be69c29ebb7ee0a3b1f9b546f1dfd111fc", + "sha256": "036gl0lp8y83zxy01pyzvq169i0r03lhm169fw7m6hha9wp92wga" } }, diff --git a/nix/deps/gradle/deps.urls b/nix/deps/gradle/deps.urls index 6dba39fc92..bee6b3c992 100644 --- a/nix/deps/gradle/deps.urls +++ b/nix/deps/gradle/deps.urls @@ -503,12 +503,12 @@ https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.1.1 https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/2.21/istack-commons-2.21.pom https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.1.1/istack-commons-4.1.1.pom https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom-ext-2.2.11.pom -https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.1/jaxb-bom-ext-4.0.1.pom +https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.2/jaxb-bom-ext-4.0.2.pom https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-parent-2.2.11.pom -https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.1/jaxb-parent-4.0.1.pom +https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.2/jaxb-parent-4.0.2.pom https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.11/jaxb-runtime-parent-2.2.11.pom https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/jaxb-txw-parent-2.2.11.pom -https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.1/jaxb-txw-parent-4.0.1.pom +https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.2/jaxb-txw-parent-4.0.2.pom https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/FastInfoset-1.2.13.pom https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/2.1.0/FastInfoset-2.1.0.pom https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.13/fastinfoset-project-1.2.13.pom @@ -561,9 +561,9 @@ https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.pom https://repo.maven.apache.org/maven2/org/antlr/ST4/4.3.4/ST4-4.3.4.pom https://repo.maven.apache.org/maven2/org/antlr/antlr4-master/4.5.2-1/antlr4-master-4.5.2-1.pom https://repo.maven.apache.org/maven2/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom -https://repo.maven.apache.org/maven2/org/antlr/antlr4-master/4.11.1/antlr4-master-4.11.1.pom +https://repo.maven.apache.org/maven2/org/antlr/antlr4-master/4.12.0/antlr4-master-4.12.0.pom https://repo.maven.apache.org/maven2/org/antlr/antlr4-runtime/4.5.2-1/antlr4-runtime-4.5.2-1.pom -https://repo.maven.apache.org/maven2/org/antlr/antlr4-runtime/4.11.1/antlr4-runtime-4.11.1.pom +https://repo.maven.apache.org/maven2/org/antlr/antlr4-runtime/4.12.0/antlr4-runtime-4.12.0.pom https://repo.maven.apache.org/maven2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom https://repo.maven.apache.org/maven2/org/antlr/antlr-master/3.3/antlr-master-3.3.pom https://repo.maven.apache.org/maven2/org/antlr/antlr-master/3.5.2/antlr-master-3.5.2.pom @@ -636,7 +636,7 @@ https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.60/bcprov-jdk15on-1.60.pom https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.70/bcprov-jdk15on-1.70.pom https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.pom -https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.29.0/checker-qual-3.29.0.pom +https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.31.0/checker-qual-3.31.0.pom https://repo.maven.apache.org/maven2/org/codehaus/codehaus-parent/4/codehaus-parent-4.pom https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-all/2.4.15/groovy-all-2.4.15.pom https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.pom @@ -656,16 +656,17 @@ https://repo.maven.apache.org/maven2/org/easymock/easymock/5.1.0/easymock-5.1.0. https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation-project/2.0.0/angus-activation-project-2.0.0.pom https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.0/angus-activation-2.0.0.pom https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.7/project-1.0.7.pom +https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.8/project-1.0.8.pom https://repo.maven.apache.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.pom https://repo.maven.apache.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4.pom https://repo.maven.apache.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.pom https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2.2.11.pom -https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.1/jaxb-bom-4.0.1.pom +https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.2/jaxb-bom-4.0.2.pom https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core-2.2.11.pom -https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.1/jaxb-core-4.0.1.pom +https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.2/jaxb-core-4.0.2.pom https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-runtime-2.2.11.pom https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom -https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.1/txw2-4.0.1.pom +https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.2/txw2-4.0.2.pom https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/2.2/hamcrest-core-2.2.pom https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom diff --git a/nix/deps/gradle/url2json.sh b/nix/deps/gradle/url2json.sh index b6e8e4d0c0..33e6f5380a 100755 --- a/nix/deps/gradle/url2json.sh +++ b/nix/deps/gradle/url2json.sh @@ -36,6 +36,11 @@ function match_repo_url() { exit 1 } +function pom_has_nodeps_jar() { + grep 'nodeps' $1 \ + 2>&1 >/dev/null +} + if [[ -z "${1}" ]]; then echo "Required argument not given!" >&2 exit 1 @@ -96,6 +101,16 @@ if [[ "${OBJ_TYPE}" != "pom" ]]; then fi fi +# Some deps include nodeps JARs which include. +if pom_has_nodeps_jar "${POM_PATH}"; then + NODEPS_NIX_FETCH_OUT=$(nix_fetch "${OBJ_REL_URL}-nodeps.jar") + if [[ ${?} -eq 0 ]]; then + NODEPS_PATH=$(get_nix_path "${NODEPS_NIX_FETCH_OUT}") + NODEPS_SHA256=$(get_nix_sha "${NODEPS_NIX_FETCH_OUT}") + NODEPS_SHA1=$(get_sha1 "${NODEPS_PATH}") + fi +fi + # Format into a Nix attrset entry echo -ne " { @@ -114,6 +129,13 @@ if [[ -n "${OBJ_SHA256}" ]]; then \"jar\": { \"sha1\": \"${OBJ_SHA1}\", \"sha256\": \"${OBJ_SHA256}\" + }";[[ -n "${NODEPS_SHA256}" ]] && echo -n "," +fi +if [[ -n "${NODEPS_SHA256}" ]]; then + echo -n " + \"nodeps\": { + \"sha1\": \"${NODEPS_SHA1}\", + \"sha256\": \"${NODEPS_SHA256}\" }" fi echo -e "\n },"