There is no Scope defined in Gradle
java plugin named
provided. Also not in
android plugins. If you see that any project is using 'provided' scope, and used any of these plugins only, then the scope must be defined in the
configuration in your
Now, your second question:
What is the difference between provided and runtime dependency scope in Gradle?
So you already know that
provided is not a basic scope in
java plugin, but
runtime is a basic scope in
runtime dependency is defined in
java plugin as "The dependencies required by the production classes at runtime. By default, also includes the compile time dependencies." in gradle official documentation.
To understand that, first you have to know what
compile dependency is.
compile dependencies are dependencies, those are directly used by your codes.
For example if your code uses a library named
a then you must declare
a as your compile time dependency. Now if
a uses another library
b internally. then you have to declare
b as your runtime dependency. But to run the program you will need both
b at runtime, that is why, by default compile time dependencies are also included in runtime dependency.