{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":110725759,"defaultBranch":"master","name":"rules_jvm_external","ownerLogin":"bazelbuild","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-11-14T17:59:51.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11684617?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715137713.0","currentOid":""},"activityList":{"items":[{"before":"71e08c82709b24d12e2d1040d86caa05bf6a8399","after":"a90bff981717554bb4405013b684df3a2b1de892","ref":"refs/heads/master","pushedAt":"2024-05-24T17:28:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Don't create an invalid http_file declaration if the artifact is missing a downloaded file (#1148)","shortMessageHtmlLink":"Don't create an invalid http_file declaration if the artifact is miss…"}},{"before":"bc3a190da2ac89d80ff8a792d654f31793922687","after":"71e08c82709b24d12e2d1040d86caa05bf6a8399","ref":"refs/heads/master","pushedAt":"2024-05-17T15:47:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"remove old comment about grpc-java and bzlmod (#1143)\n\ngrpc-java is now in the BCR.","shortMessageHtmlLink":"remove old comment about grpc-java and bzlmod (#1143)"}},{"before":"d3af1e6cd7367c7ea52b851731e0f1cae63ea6ff","after":"bc3a190da2ac89d80ff8a792d654f31793922687","ref":"refs/heads/master","pushedAt":"2024-05-17T11:36:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"feat: Pass additional coursier cli options (#1137)","shortMessageHtmlLink":"feat: Pass additional coursier cli options (#1137)"}},{"before":"b6c63626ac4f49c42dcec39d1ffe1291724beb02","after":"d3af1e6cd7367c7ea52b851731e0f1cae63ea6ff","ref":"refs/heads/master","pushedAt":"2024-05-17T10:18:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Propagate `testonly` attribute to generated plugins (#1142)\n\n\"Generate java_plugin targets for annotation processors\" (#1102) brought\r\na much-appreciated improvement by synthesizing a frequently repeated\r\npattern. However, it doesn't work for annotation processor-related\r\nartifacts whose `testonly` attribute is set to `True`:\r\n> ERROR: /path/to/external/maven/BUILD:12345:12: in java_plugin rule\r\n> @@maven//:group_artifact__java_plugin__package_Class: non-test target\r\n> '@@maven//:group_artifact__java_plugin__package_Class' depends on\r\n> testonly target '@@maven//:group_artifact' and doesn't have testonly\r\n> attribute set\r\n\r\nThe present change aims at covering the use case by taking a\r\n[Java Microbenchmark Harness](https://github.com/openjdk/jmh)-based\r\ntarget as a practical example.\r\n\r\nAs a side note, one may run the example as follows:\r\n```shell\r\nbazel run //tests/integration/plugin_targets:ClassUsingTestOnlyAnnotationProcessor\r\n```\r\nor, without `bzlmod`:\r\n```shell\r\nbazel run --enable_bzlmod=false //tests/integration/plugin_targets:ClassUsingTestOnlyAnnotationProcessor\r\n```","shortMessageHtmlLink":"Propagate testonly attribute to generated plugins (#1142)"}},{"before":"e3bc91970fa30db1afdd8183d42f4d77475ae75c","after":"b6c63626ac4f49c42dcec39d1ffe1291724beb02","ref":"refs/heads/master","pushedAt":"2024-05-16T13:21:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"Mark `maven` extension as reproducible (#1141)\n\nThis avoids unnecessary duplication between the `maven_install.json` lockfile and `MODULE.bazel.lock`.","shortMessageHtmlLink":"Mark maven extension as reproducible (#1141)"}},{"before":"14597e39f83c6daaed9c109a55d5259858963712","after":"e3bc91970fa30db1afdd8183d42f4d77475ae75c","ref":"refs/heads/master","pushedAt":"2024-05-15T16:16:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"Allow `rules_jvm_external`'s own deps's lock file to be overridden (#1138)\n\nThis allows people to repin these deps locally if needed, assuming\r\nthey don't want to use Bazel's `--experimental_downloader_config`\r\nflag.\r\n\r\n`bzlmod` users can achieve the same result by specifying an\r\n`install` tag in their root level module and overriding the required\r\nfields.","shortMessageHtmlLink":"Allow rules_jvm_external's own deps's lock file to be overridden (#…"}},{"before":"7fd13f50b386ca711c241992ffac47af7b1f3d84","after":"14597e39f83c6daaed9c109a55d5259858963712","ref":"refs/heads/master","pushedAt":"2024-05-15T14:24:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"maven_install: fail if 'repositories' attribute is empty (#1135)\n\nCoursier fails with a cryptic error in case someone tries to use\r\n`maven_install()` without specifying any `repositories`, which is a\r\nsmall silly thing I did when trying to extract internal corporate code\r\ninto a public proof-of-concept on how to do something with Bazel that\r\ntook me 10 minutes to hunt down :)\r\n\r\nWhen `repositories` is empty, Coursier fails with an error like:\r\n\r\n```\r\n Dependencies:\r\norg.junit.jupiter:junit-jupiter-engine:5.10.2:\r\nResolution error: Error downloading org.junit.jupiter:junit-jupiter-engine:5.10.2\r\n```\r\n\r\nthis was for a `maven_install()` block with a single artifact to install;\r\notherwise the error message will contain one `Resolution error` per artifact.\r\nThe problem though is that Coursier doesn't say what the error is, just that\r\none occurred.\r\n\r\nThe root-cause is that `coursier_fetch` etc will invoke coursier with arguments like\r\n\r\n```\r\ncoursier fetch ... --no-default ...\r\n```\r\n\r\nSo as a simple fix to prevent people from configuring `maven_install` in a way\r\nthat doesn't make sense like I did, this commit adds a check inside\r\n`make_coursier_dep_tree` (where the arguments to coursier are constructed) to\r\nfail if the list/dict of repositories is empty.","shortMessageHtmlLink":"maven_install: fail if 'repositories' attribute is empty (#1135)"}},{"before":"d6fbf9d8847ca67e0a516cc2bd73cd387c016793","after":"7fd13f50b386ca711c241992ffac47af7b1f3d84","ref":"refs/heads/master","pushedAt":"2024-05-15T13:29:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Refresh README (#1136)\n\n* Refresh README.\r\n\r\n- Update TOC\r\n- Make bzlmod instructions more prominent\r\n- Moved linked to examples higher up in the README\r\n\r\n* Address Simon's review.","shortMessageHtmlLink":"Refresh README (#1136)"}},{"before":"0dfbe26a16f78d4669c8c11b2f0d79da8c086062","after":"d6fbf9d8847ca67e0a516cc2bd73cd387c016793","ref":"refs/heads/master","pushedAt":"2024-05-15T04:06:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"fix: Use customized repositories (#1133)","shortMessageHtmlLink":"fix: Use customized repositories (#1133)"}},{"before":"b6631f90a46c23be32000bf14b8e817f44017cc4","after":"0dfbe26a16f78d4669c8c11b2f0d79da8c086062","ref":"refs/heads/master","pushedAt":"2024-05-08T07:08:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Update version prereqs in README (#1129)","shortMessageHtmlLink":"Update version prereqs in README (#1129)"}},{"before":"09c6568f88851524a57a654f4a5bb34ffb1dbabb","after":"b6631f90a46c23be32000bf14b8e817f44017cc4","ref":"refs/heads/master","pushedAt":"2024-05-08T07:08:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Enable --experimental_sibling_repository_layout (#1128)","shortMessageHtmlLink":"Enable --experimental_sibling_repository_layout (#1128)"}},{"before":null,"after":"df048894da79ad5ecb16f8596467f07c234af420","ref":"refs/heads/jin-patch-3","pushedAt":"2024-05-08T03:08:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Update version prereqs in README","shortMessageHtmlLink":"Update version prereqs in README"}},{"before":"e8efc031bf75fc2be2a595b4790a43b6b6cd36ea","after":"09c6568f88851524a57a654f4a5bb34ffb1dbabb","ref":"refs/heads/master","pushedAt":"2024-05-05T01:29:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"Add support for .netrc on Windows. It is based on tools/build_defs/repo/utils.bzl#read_user_netrc (#940) (#1127)","shortMessageHtmlLink":"Add support for .netrc on Windows. It is based on tools/build_defs/re…"}},{"before":"7b0abdc591b9b0b0dbdfd62bf9d98928b0efe6a2","after":"e8efc031bf75fc2be2a595b4790a43b6b6cd36ea","ref":"refs/heads/master","pushedAt":"2024-05-03T05:33:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Restore Target Uniqueness Guard in dependency_tree_parser.bzl (#1122)\n\nI noticed the refactor of `dependency_tree_parser.bzl` in\r\nhttps://github.com/bazelbuild/rules_jvm_external/pull/994 might have\r\nunintentionally omitted a line that added target labels to the set of\r\n`seen_imports`. This line is present in\r\n[v5.3](https://github.com/bazelbuild/rules_jvm_external/blob/5.3/private/dependency_tree_parser.bzl#L155-L156),\r\nbut then removed in\r\n[v6.1](https://github.com/bazelbuild/rules_jvm_external/blob/6.1/private/dependency_tree_parser.bzl#L457).\r\n\r\nI believe this removal was accidental, as it is now possible for\r\n`maven_install` to create a generated BUILD file which contains\r\nmultiple copies of a target with the same name, which is an invalid\r\nstate.\r\n\r\nThis PR restores the missing call to `seen_imports[target_label] = True`.","shortMessageHtmlLink":"Restore Target Uniqueness Guard in dependency_tree_parser.bzl (#1122)"}},{"before":"defb252771d96bb920b64b90956c63c7bf3969df","after":"7b0abdc591b9b0b0dbdfd62bf9d98928b0efe6a2","ref":"refs/heads/master","pushedAt":"2024-05-01T06:57:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"Mark `runtime_deps` as `runtime` scope in generated pom files (#1113)","shortMessageHtmlLink":"Mark runtime_deps as runtime scope in generated pom files (#1113)"}},{"before":"4f56f7cec2fa3a47e34d48b8f6293785cfad7e3a","after":"defb252771d96bb920b64b90956c63c7bf3969df","ref":"refs/heads/master","pushedAt":"2024-04-29T02:23:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Move coursier.bzl under private/rules (#1117)","shortMessageHtmlLink":"Move coursier.bzl under private/rules (#1117)"}},{"before":"e39a761741064acc6c539130c1b65e784a9e5815","after":"4f56f7cec2fa3a47e34d48b8f6293785cfad7e3a","ref":"refs/heads/master","pushedAt":"2024-04-29T02:05:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Since we now require Java 11 we don't need to check for java 8 when building an argsfile (#1116)","shortMessageHtmlLink":"Since we now require Java 11 we don't need to check for java 8 when b…"}},{"before":"b4321ee4fbc4cc0e09ae015682277368c1995a57","after":"e39a761741064acc6c539130c1b65e784a9e5815","ref":"refs/heads/master","pushedAt":"2024-04-28T00:08:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Fix java version parsing when _JAVA_OPTIONS are returned from 'java -version' (#1115)","shortMessageHtmlLink":"Fix java version parsing when _JAVA_OPTIONS are returned from 'java -…"}},{"before":"91984ef22e32a350a74aa39c559b7329a3465ae1","after":"b4321ee4fbc4cc0e09ae015682277368c1995a57","ref":"refs/heads/master","pushedAt":"2024-04-26T05:39:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"Add an exception for COPYRIGHT and NOTICE files in the same way LICENSE is already supported (#1107)","shortMessageHtmlLink":"Add an exception for COPYRIGHT and NOTICE files in the same way LICEN…"}},{"before":"3a7f7c8a8ea5a59c8f5edec4417ce2b8d560fffe","after":"91984ef22e32a350a74aa39c559b7329a3465ae1","ref":"refs/heads/master","pushedAt":"2024-04-26T05:06:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Only print a warning when a transitive artifact is not found in the Maven Resolver, and use artifact classifier and extension when creating the managed dependencies (#1109)","shortMessageHtmlLink":"Only print a warning when a transitive artifact is not found in the M…"}},{"before":"927b0b6ec188209cabebe1cde413aa3a7f9c9e3c","after":"3a7f7c8a8ea5a59c8f5edec4417ce2b8d560fffe","ref":"refs/heads/master","pushedAt":"2024-04-26T03:57:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shs96c","name":"Simon Stewart","path":"/shs96c","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/28229?s=80&v=4"},"commit":{"message":"Ensure @unpinned_maven//:pin continues to work with the maven resolver (#1112)\n\nWithout this, the workflow most people have would cause the coursier\r\nresolver to be invoked with hilarious consequences.\r\n\r\nAlso, update the README.\r\n\r\nThe `coursier` resolver already generates an alias from `@maven//:pin`\r\nto `@unpinned_maven//:pin`, so the simpler workflow of `@maven//:pin`\r\nwill work in all cases.","shortMessageHtmlLink":"Ensure @unpinned_maven//:pin continues to work with the maven resolver ("}},{"before":"2210745a6d6a36fd9f7815957c535e023ce4e625","after":"927b0b6ec188209cabebe1cde413aa3a7f9c9e3c","ref":"refs/heads/master","pushedAt":"2024-04-25T07:25:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Sort lock-file keys (#1111)","shortMessageHtmlLink":"Sort lock-file keys (#1111)"}},{"before":"8a652e1f234082aa9ebd49047c34c2958ba5426a","after":"2210745a6d6a36fd9f7815957c535e023ce4e625","ref":"refs/heads/master","pushedAt":"2024-04-25T04:59:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Create a regression testing install for the maven resolver (#1103)","shortMessageHtmlLink":"Create a regression testing install for the maven resolver (#1103)"}},{"before":"b02fa09e6db63a6cdaae9ab988621b5dbd8ebd29","after":"8a652e1f234082aa9ebd49047c34c2958ba5426a","ref":"refs/heads/master","pushedAt":"2024-04-24T09:11:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Add MODULE.bazel.lock to .gitignore until it is stable (#1110)","shortMessageHtmlLink":"Add MODULE.bazel.lock to .gitignore until it is stable (#1110)"}},{"before":"18f21e4fa7ceeef10cf602723c7dea9105291265","after":"b02fa09e6db63a6cdaae9ab988621b5dbd8ebd29","ref":"refs/heads/master","pushedAt":"2024-04-23T14:21:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Improve repinning performance by not recomputing cache path for every artifact (#1108)\n\n* Improve coursier_fetch performance by not recomputing cache path for every artifact\r\n\r\n* Move comment to new location","shortMessageHtmlLink":"Improve repinning performance by not recomputing cache path for every…"}},{"before":"e16cc6e00dcc779f22e7702bfa71764f124d9bb7","after":"18f21e4fa7ceeef10cf602723c7dea9105291265","ref":"refs/heads/master","pushedAt":"2024-04-23T05:38:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Re-pin lock files so they have the new services element (#1099)","shortMessageHtmlLink":"Re-pin lock files so they have the new services element (#1099)"}},{"before":"3f3bf233679f6063cff0b0f7dfd40e529ba08ffa","after":"e16cc6e00dcc779f22e7702bfa71764f124d9bb7","ref":"refs/heads/master","pushedAt":"2024-04-19T01:06:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Remove outdated info from README (#1105)","shortMessageHtmlLink":"Remove outdated info from README (#1105)"}},{"before":"653bc80e45d317fce7492c90be0acf4c98da8990","after":"3f3bf233679f6063cff0b0f7dfd40e529ba08ffa","ref":"refs/heads/master","pushedAt":"2024-04-17T10:05:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jin","name":"Jin","path":"/jin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/347918?s=80&v=4"},"commit":{"message":"Generate java_plugin targets for annotation processors (#1102)\n\n* Generate java_plugin targets for annotation processors\r\n\r\n* Add and use java_plugin_artifact\r\n\r\n* Revert formatting changes\r\n\r\n* Add README about java_plugin_artifact","shortMessageHtmlLink":"Generate java_plugin targets for annotation processors (#1102)"}},{"before":"1b8546e4d0759de89fcffa0aed39dc90fc6567ce","after":"653bc80e45d317fce7492c90be0acf4c98da8990","ref":"refs/heads/master","pushedAt":"2024-04-15T17:43:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Add logging to maven resolver for number of artifacts being resolved and RJE_VERBOSE will log the entire dependency graph (#1100)","shortMessageHtmlLink":"Add logging to maven resolver for number of artifacts being resolved …"}},{"before":"18c921161cfaa73e5b18a8cc308734c137a2ae78","after":"1b8546e4d0759de89fcffa0aed39dc90fc6567ce","ref":"refs/heads/master","pushedAt":"2024-04-15T17:14:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"cheister","name":null,"path":"/cheister","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/399602?s=80&v=4"},"commit":{"message":"Format files with 'bazel run //scripts:format' (#1098)","shortMessageHtmlLink":"Format files with 'bazel run //scripts:format' (#1098)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU0V3FQA","startCursor":null,"endCursor":null}},"title":"Activity · bazelbuild/rules_jvm_external"}