diff --git a/README.md b/README.md
index 8737ae2..5163d8a 100644
--- a/README.md
+++ b/README.md
@@ -8,12 +8,12 @@ Note: The plugin does not work on WindowsOS
Add the following to your `project/plugins.sbt` file:
```scala
-addSbtPlugin("com.github.hochgi" % "sbt-cassandra" % "1.0.4")
+addSbtPlugin("com.tuplejump.com.github.hochgi" % "sbt-cassandra" % "1.1.0")
```
## Usage ##
### Basic: ###
-In `build.sbt`, enable the plugin for desired project and specify the version of cassandra against which tests are to be run,
+In `build.sbt`, enable the plugin for desired project and specify the version of cassandra against which tests are to be run,
```scala
lazy val root = (project in file("."))
@@ -49,6 +49,10 @@ the plugin downloads cassandra tar from [Apache Cassandra Archives](http://archi
```scala
cassandraTgz := "resources/custom-cassandra.tgz"
```
+to prevent downloading cassandra tar file if the file already exists. Parameter is ignored if custom file is specified in `cassandraTgz`
+```scala
+forceCassandraDownload := false
+```
to override cassandra configuration, e.g:
```scala
configMappings += "auto_snapshot" -> true
@@ -70,9 +74,8 @@ The `configMappings` setting should be used to change host, port and cqlPort. Th
* host - `listen_address`
* port - `rpc_port`
* cqlPort - `native_transport_port`
-
+
to pass java args to cassandra,
```scala
cassandraJavaArgs := Seq("-Xmx1G")
```
-
diff --git a/build.sbt b/build.sbt
index 7b905bc..4677837 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,12 +1,12 @@
sbtPlugin := true
-organization := "com.github.hochgi"
+organization := "com.tuplejump.com.github.hochgi"
name := "sbt-cassandra"
description := "SBT plugin to launch and use Cassandra during integration tests"
-version := "1.0.4"
+version := "1.1.0"
scalaVersion := "2.10.6"
@@ -38,8 +38,8 @@ licenses := Seq("The MIT License (MIT)" -> url("http://opensource.org/licenses/M
pomExtra := (
- https://github.com/hochgi/sbt-cassandra-plugin.git
- scm:git@github.com:hochgi/sbt-cassandra-plugin.git
+ https://github.com/tuplejump/sbt-cassandra-plugin.git
+ scm:git@github.com:tuplejump/sbt-cassandra-plugin.git
diff --git a/demo/project/plugins.sbt b/demo/project/plugins.sbt
index c315eed..5ddb06a 100644
--- a/demo/project/plugins.sbt
+++ b/demo/project/plugins.sbt
@@ -1,3 +1,3 @@
logLevel := Level.Warn
-addSbtPlugin("com.github.hochgi" % "sbt-cassandra" % "1.0.4")
+addSbtPlugin("com.tuplejump.com.github.hochgi" % "sbt-cassandra" % "1.1.0")
diff --git a/src/main/scala/com/github/hochgi/sbt/cassandra/CassandraITPlugin.scala b/src/main/scala/com/github/hochgi/sbt/cassandra/CassandraITPlugin.scala
index 356a9f5..d8452ee 100644
--- a/src/main/scala/com/github/hochgi/sbt/cassandra/CassandraITPlugin.scala
+++ b/src/main/scala/com/github/hochgi/sbt/cassandra/CassandraITPlugin.scala
@@ -36,6 +36,8 @@ object CassandraITPlugin extends AutoPlugin {
lazy val cassandraJavaArgs = SettingKey[Seq[String]]("cassandra-java-args",
"Optional. Java arguments to be passed to Cassandra")
+ lazy val forceCassandraDownload = SettingKey[Boolean]("force-cassandra-download",
+ "Optional. Defaults to true")
}
private val PIDFileName = "cass.pid"
@@ -43,13 +45,16 @@ object CassandraITPlugin extends AutoPlugin {
def deployCassandra(tarFile: String,
casVersion: String,
targetDir: File,
- logger: Logger): File = {
+ logger: Logger,
+ forceCassandraDownload: Boolean): File = {
val cassandraTarGz: File = if (tarFile.nonEmpty) {
file(tarFile)
} else if (casVersion.nonEmpty) {
val file: File = new File(targetDir, s"apache-cassandra-$casVersion-bin.tar.gz")
- val source = s"http://archive.apache.org/dist/cassandra/$casVersion/apache-cassandra-$casVersion-bin.tar.gz"
- IO.download(url(source), file)
+ if (!file.exists || forceCassandraDownload) {
+ val source = s"http://archive.apache.org/dist/cassandra/$casVersion/apache-cassandra-$casVersion-bin.tar.gz"
+ IO.download(url(source), file)
+ }
file
} else {
sys.error("Specify Cassandra version or path to Cassandra tar.gz file")
@@ -199,7 +204,8 @@ object CassandraITPlugin extends AutoPlugin {
cleanCassandraAfterStop := true,
cassandraStartDeadline := 20,
configMappings := Nil,
- cassandraJavaArgs := Nil
+ cassandraJavaArgs := Nil,
+ forceCassandraDownload := true
)
override def projectSettings: Seq[_root_.sbt.Def.Setting[_]] = super.projectSettings ++
@@ -211,7 +217,7 @@ object CassandraITPlugin extends AutoPlugin {
val logger = streams.value.log
val cassHome = deployCassandra(cassandraTgz.value.trim,
- cassandraVersion.value.trim, targetDir, logger)
+ cassandraVersion.value.trim, targetDir, logger, forceCassandraDownload.value)
val confDir: String = {
if (cassandraConfigDir.value.trim.isEmpty) {