Reputation: 902
I want to include 'org.scribe:scribe:1.3.2' dependency into my gradle project, I have added the following line to my build.gradle file
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
runtime 'org.scribe:scribe:1.3.2'
compile 'org.codehaus.groovy:groovy-all:2.2.0'
}
task fbTask << {
MyTask mT = new MyTask()
mT.loginUsingFacebook();
}
Now inside MyTask.groovy
import org.scribe.model.Token
public void loginUsingFacebook() {
Token accessToken = //some code
}
It didn't find the import, which shows that the scribe dependency we specified in build.gradle didn't worked.
So, how to import this scribe dependency into the application , so that i can use it in my Task class.
Upvotes: 1
Views: 577
Reputation: 123890
There are some misconceptions here:
Dependencies declared in the project.dependencies
block are for code produced by the build, not for code used by the build.
Gradle tasks cannot be instantiated with new
.
How to add a dependency used by the build itself (typically by a build script, task class, or plugin class) depends on where you put the corresponding code. In the simplest case, the task class is declared right in the build script, and its dependencies go into a buildscript
block:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.scribe:scribe:1.3.2"
}
}
To learn more about these topics, check out the Gradle User Guide, and the samples in the full Gradle distribution.
Upvotes: 3
Reputation: 9868
If you want to add something to classpath of buildscript(build.gradle
) and not the project source, then add it to buildScript
closure.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.scribe:scribe:1.3.2'
}
}
Reference : In Gradle documentation's Organizing Build Logic chapter, see the section External dependencies for the build script
Upvotes: 1