Slackbot
11/17/2022, 1:45 PMFleshgrinder
11/17/2022, 1:50 PMJendrik Johannes
11/17/2022, 1:52 PMFleshgrinder
11/17/2022, 1:52 PMJendrik Johannes
11/17/2022, 1:56 PMJendrik Johannes
11/17/2022, 1:58 PMChris Lee
11/17/2022, 2:28 PMde.jjohannes.missing-metadata-guava
plugin?Jendrik Johannes
11/17/2022, 2:29 PMChris Lee
11/17/2022, 2:29 PMJendrik Johannes
11/17/2022, 2:29 PMChris Lee
11/17/2022, 2:30 PMFleshgrinder
11/17/2022, 2:31 PMJendrik Johannes
11/17/2022, 2:32 PMJendrik Johannes
11/17/2022, 2:33 PMChris Lee
11/17/2022, 2:33 PMJendrik Johannes
11/17/2022, 2:34 PMSome metadata (like with Guava) is clear cut so that it can be applied to all projects without thinking about it.Idea of my/our plugin is that all rules are like this. But it's easier said than done. So if use it and have issues with a certain rule, please report that.
Fleshgrinder
11/17/2022, 2:35 PMJendrik Johannes
11/17/2022, 2:36 PMChris Lee
11/17/2022, 2:36 PMChris Lee
11/17/2022, 2:37 PMJendrik Johannes
11/17/2022, 2:37 PMperhaps have this plugin respond to the old plugin being applied and emit a deprecation warning as appropriate.It does 😄
Chris Lee
11/17/2022, 2:37 PMJendrik Johannes
11/17/2022, 2:37 PMChris Lee
11/17/2022, 2:42 PM[WARN] Remove 'de.jjohannes.missing-metadata-guava' plugin from the build. The functionality of is included in 'org.gradlex.java-ecosystem-capabilities'.
Awesome.Jendrik Johannes
11/17/2022, 2:44 PM... of is ..
🤔 thanks for posting it here, so that I saw it. 🙂Chris Lee
11/17/2022, 3:03 PM"substitute": [
{
"module": "org.apache.geronimo.specs:geronimo-javamail_1.4_spec",
"with": "javax.mail:javax.mail-api:1.4.+",
"reason": "use formal mail api",
"author": "<mailto:chris@cloudshiftconsulting.com|chris@cloudshiftconsulting.com>",
"date": "2022-04-01"
},
{
"module": "javax.mail:mail",
"with": "javax.mail:javax.mail-api:1.4.+",
"reason": "use formal mail api",
"author": "<mailto:chris@cloudshiftconsulting.com|chris@cloudshiftconsulting.com>",
"date": "2022-04-01"
}
]
Chris Lee
11/17/2022, 3:23 PMChris Lee
11/17/2022, 4:11 PMReplace rules cause dependencies to be replaced with one at different coordinates, if both dependencies are present, avoiding class conflicts due to coordinate relocations.The ‘Substitute’ rule operates on a single module (i.e. not conflict resolution):
Dependency replaced with new coordinates, regardless if the new dependency is visible in the graph.To my understanding this plugin would not handle the Substitute case, as it would only add the capability but without other modules to trigger conflict resolution nothing would change. Not suggesting it should handle this - aside from Nebula’s use of Substitution rules to force minimum versions, the use-cases for correctness appear limited.
Jendrik Johannes
11/17/2022, 4:29 PMThomas Broyer
11/18/2022, 7:31 PMDanny Thomas
11/20/2022, 12:45 AMDanny Thomas
11/20/2022, 12:50 AMJendrik Johannes
11/21/2022, 11:19 AMDanny Thomas
11/21/2022, 10:42 PMDanny Thomas
12/15/2022, 6:24 AMThomas Broyer
12/15/2022, 9:13 AMDanny Thomas
12/15/2022, 9:42 AMDanny Thomas
12/15/2022, 9:44 AMJendrik Johannes
12/16/2022, 1:21 PMa component metadata rule can't add the attribute only to the artifactYes this is an unfortunate limitation right now.
Jendrik Johannes
12/16/2022, 1:25 PM