# How do I include a classpath in my task?

**URL:** <https://discuss.gradle.org/t/how-do-i-include-a-classpath-in-my-task/12304>\
**Category:** Help/Discuss\
**Created:** [October 20, 2015, 1:51am UTC](https://discuss.gradle.org/t/how-do-i-include-a-classpath-in-my-task/12304 "2015-10-20T01:51:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![laredotornado](https://avatars.discourse-cdn.com/v4/letter/l/9dc877/32.png) [@laredotornado](https://discuss.gradle.org/u/laredotornado)\
**Post date:** [October 20, 2015, 1:51am UTC](https://discuss.gradle.org/t/how-do-i-include-a-classpath-in-my-task/12304/1 "2015-10-20T01:51:28Z")

</div>

Hi, I’m using Gradle 2.7 on Windows 7 with the Liquibase 1.1.1. plugin. I’m trying to connect to a local MySQL database, but am failing because the plugin cannot find the appropriate driver. Here is my task

```gradle
liquibase {
  dependencies {
        classpath("mysql:mysql-connector-java:5.1.36")
  }
  activities {
    main {
        File propsFile = new File("${project.rootDir}/src/main/resources/liquibase.properties")
      Properties properties = new Properties()
      properties.load(new FileInputStream(propsFile))
      changeLogFile 'src/main/resources/db.changelog-1.0.xml'
      url 'jdbc:mysql://localhost:3306/xxx_db'
      username 'xxx'
      password 'xxx'
    }
    runList = "main"
  }
}

testClasses.dependsOn update
```

This task is failing however, because the MySQL driver, mysql:mysql-connector-java:5.1.36, cannot be found. Where do I put it in my script? Evidently, it doesn’t go in the “dependencies-compile” section.

Thanks, - Dave

---

<div class="post-metadata">

**Author:** ![Shinya\_Mochida](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/shinya_mochida/32/2393_2.png) [@Shinya\_Mochida](https://discuss.gradle.org/u/Shinya_Mochida)\
**Post date:** [October 20, 2015, 6:01am UTC](https://discuss.gradle.org/t/how-do-i-include-a-classpath-in-my-task/12304/2 "2015-10-20T06:01:54Z")

</div>

Declare dependencies in `buildscript{}` block, you can use them in build script.

In this case, add following `buildscript{}` block in your build script.

```groovy
buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath("mysql:mysql-connector-java:5.1.36")
  }
}

```

---

<div class="post-metadata">

**Author:** ![laredotornado](https://avatars.discourse-cdn.com/v4/letter/l/9dc877/32.png) [@laredotornado](https://discuss.gradle.org/u/laredotornado)\
**Post date:** [October 20, 2015, 1:40pm UTC](https://discuss.gradle.org/t/how-do-i-include-a-classpath-in-my-task/12304/3 "2015-10-20T13:40:33Z")

</div>

> [@Shinya\_Mochida](#):
>
> buildscript {  
> repositories {  
> mavenCentral()  
> }  
> dependencies {  
> classpath(“mysql:mysql-connector-java:5.1.36”)  
> }  
> }

Hi,

This didn’t work. I’m uisng Gradle 2.7 one of the later versions. Anyhoo, I did as you suggested

```gradle
buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath("mysql:mysql-connector-java:5.1.36")
  }
}

liquibase {
  activities {
    main {
        File propsFile = new File("${project.rootDir}/src/main/resources/liquibase.properties")
      Properties properties = new Properties()
      properties.load(new FileInputStream(propsFile))
      changeLogFile 'src/main/resources/db.changelog-1.0.xml'
      url 'jdbc:mysql://localhost:3306/xxx_db'
      username 'xxx'
      password 'xxx'
    }
    runList = "main"
  }
}

testClasses.dependsOn update
```

but got the below error …

```gradle
$ gradle build

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\myuser\Dropbox\cb_workspace\xxmyproject\build.gradle' line: 126

* What went wrong:
Could not compile build file 'C:\Users\myuser\Dropbox\cb_workspace\xxmyproject\build.gradle'.
> startup failed:
  build file 'C:\Users\myuser\Dropbox\cb_workspace\xxmyproject\build.gradle': 126: all buildscript {} blocks must appear before any plugins {} blocks in the script

  See https://docs.gradle.org/2.7/userguide/plugins.html#sec:plugins_block for information on the plugins {} block

   @ line 126, column 1.
     buildscript {
     ^

  1 error

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.657 secs

```

---

<div class="post-metadata">

**Author:** ![Shinya\_Mochida](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/shinya_mochida/32/2393_2.png) [@Shinya\_Mochida](https://discuss.gradle.org/u/Shinya_Mochida)\
**Post date:** [October 20, 2015, 1:57pm UTC](https://discuss.gradle.org/t/how-do-i-include-a-classpath-in-my-task/12304/4 "2015-10-20T13:57:20Z")

</div>

As error message shows, all `buildscript{}` block must appear at the beginning of the build script. So you have to sum up `buildscript{}` block.

So applying `liquibase` plugin with mysql dependency, put the following block in the beginning of your build script.

```groovy
buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath 'org.liquibase:liquibase-gradle-plugin:1.1.0'
    classpath "mysql:mysql-connector-java:5.1.36"
  }
}
apply plugin: 'org.liquibase.gradle'

```
