Composite build and Ivy Repositories


Should the case below of Composite Builds and Ivy repositories work?

I have project core which declares a custom Ivy Repository like this:

core build.gradle

repositories {
  ivy {
    url ''
    patternLayout {
      artifact '/[organization]/supervised-models/[module].[revision].[ext]'
    metadataSources { artifact() }

dependencies {
    implementation "fasttext:lid:176@bin"
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.2'

The core project is declared as a dependency in the api project and api project is also including with includeBuild.

api build.gradle

dependencies {
    implementation 'com.example:core:1.0'
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.2'

api settings.gradle = 'api'


When I build core it properly builds and downloads the Ivy dependency (FastText lid) however when I build api it give an error that it couldn’t found the Fast Text lid dependency but it only looks in the api project repositories.

Error snippet:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':distTar'.
> Could not resolve all task dependencies for configuration ':runtimeClasspath'.
   > Could not find fasttext:lid:176.
     Searched in the following locations:
     If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
     Required by:
         project : > project :core

If this is a work as intended behaviour in gradle there is a way to overcome it without configure the Ivy repository from core in the api project?

The example showing this case is published here:

Thanks in advance.