Gradle compile and runtime dependencies confusion

I have a project structure like below.
xxx-shared
xxx-api
{
compile xxx-shared
}
xxx-internal-api
{
compile xxx-api
}
xxx
{
compile xxx-internal-api
}

And now here comes a yyy project. It runs the Kernal class in the xxx project as Main Class.
So I config as below.
yyy
{
compile xxx-api
runtime xxx
}

When I run it, it will tell me that the files in xxx-api is not found.

It’s strange that all the dependencies are set as provided in IDEA.
But the dependencies all set are compile.

UPDATE: OK. It’s the problem of Gradle 3.4 update incompatible with version 2016.3.5 and former.