I found a potential bug where gradle does alter the expected repository url if all parts of a group id except the last one are in the repository url.
My repo url: http://code.company.com/api/v4/groups/myApp/-/packages/maven/
api: 'org.stuff.myApp.utils:core:1.0.0'
-> Gradle tries to download
https://code.company.com/api/v4/groups/myApp/-/packages/maven/org/stuff/myApp/utils/core/1.0.0/core-1.0.0.pom
-> This URL is correct
api: 'com.company.myApp.utils:core:1.0.0'
-> Gradle tries to download
https://code.company.com/api/v4/groups/myApp/-/packages/maven/utils/core/1.0.0/core-1.0.0.pom
-> This URL is wrong, most parts of the group id are mising from the path.
It should be
https://code.company.com/api/v4/groups/myApp/-/packages/maven/com/company/myApp/utils/core/1.0.0/core-1.0.0.pom
Is this a known “feature” and if so can it be deactivated? Or is it a bug?
Update:
This also happens if only a single group part is somewhere in the repo url:
api: 'myApp.utils:core.1.0.0'
-> Gradle tries to download
https://code.company.com/api/v4/groups/myApp/-/packages/maven/utils/core/1.0.0/core-1.0.0.pom
-> It should be
https://code.company.com/api/v4/groups/myApp/-/packages/maven/myApp/utils/core/1.0.0/core-1.0.0.pom
Update 2:
Looks like gradle successfuly resolves the dependency, and after that it tries to resolve it again with a shorter group id. This only happens if a segment if the group id is also in the url:
2020-11-18T13:18:38.584+0100 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver] Attempting to resolve component for myApp.utils:core:1.0.0 using repositories [MavenRepo, BintrayJCenter, CompanyRepo]
...
2020-11-18T13:18:38.592+0100 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver] Attempting to resolve component for utils:core:1.0.0 using repositories [MavenRepo, BintrayJCenter, CompanyRepo]