Generating Javadoc; using android-maven-gradle

Change-Id: If40e273bdd5a8f928003a54bc494fb33ebe7df79
diff --git a/bakutoolkit/.gitignore b/baku-toolkit/.gitignore
similarity index 100%
rename from bakutoolkit/.gitignore
rename to baku-toolkit/.gitignore
diff --git a/baku-toolkit/build.gradle b/baku-toolkit/build.gradle
new file mode 100644
index 0000000..6201e21
--- /dev/null
+++ b/baku-toolkit/build.gradle
@@ -0,0 +1,165 @@
+// You should change this after releasing a new version of the Baku Toolkit. See the
+// list of published versions at https://repo1.maven.org/maven2/io/v/baku-toolkit.
+version = '0.1.2'
+group = 'io.v'
+
+def siteUrl = 'https://github.com/vanadium/java'
+def gitUrl = 'https://github.com/vanadium/java.git'
+def pkgDesc = 'Utilities for writing applications with distributed user interfaces'
+
+apply plugin: 'com.android.library'
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+/*
+You might have to download JDK8 and set JAVA8_HOME (or set the jdk to Java 8 via Project Structure).
+For detailed instructions, see https://github.com/evant/gradle-retrolambda
+ */
+apply plugin: 'me.tatarka.retrolambda'
+
+android {
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+    compileSdkVersion 21
+    buildToolsVersion "21.1.2"
+
+    defaultConfig {
+        minSdkVersion 21
+        targetSdkVersion 21
+        versionCode 1
+        versionName "1.0"
+    }
+}
+
+dependencies {
+    provided(
+            /* If the application wishes to use support libraries, it should include them as compile
+            dependencies in its own build.gradle. */
+            'com.android.support:appcompat-v7:23.0.1',
+
+            'org.glassfish:javax.annotation:10.0-b28',
+            /*
+            https://projectlombok.org/setup/android.html
+            Follow Android Studio instructions at the bottom of the page to install the Lombok
+            Plugin.
+             */
+            'org.projectlombok:lombok:1.16.6',
+            'org.slf4j:slf4j-api:1.7.12'
+    )
+
+
+    testCompile(
+            'org.mockito:mockito-core:1.10.19',
+            'org.powermock:powermock-module-junit4:1.6.3',
+            'org.slf4j:slf4j-simple:1.7.12'
+    )
+
+    testCompile('org.powermock:powermock-api-mockito:1.6.3') {
+        exclude module: 'mockito-all'
+    }
+
+    compile(
+            'com.jakewharton.rxbinding:rxbinding:0.3.0',
+            'io.reactivex:rxandroid:1.0.1',
+            'io.reactivex:rxjava:1.0.16',
+            'io.reactivex:rxjava-async-util:0.21.0',
+            'io.v:vanadium:0.1',
+            'io.v:vanadium-android:0.1',
+            'net.sourceforge.streamsupport:streamsupport:1.3.2'
+    )
+    compile fileTree(dir: 'libs', include: ['*.jar'])
+
+    /*
+    Word of caution: for local unit tests, Android log statements fail with
+    UnsatisfiedLinkError (hence the slf4j-simple implementation for testCompile).
+
+    Applications should include a suitable runtime binding, such as
+    apk ('org.slf4j:slf4j-android:1.7.12')
+    */
+}
+
+install {
+    repositories.mavenInstaller {
+        pom {
+            project {
+                packaging 'aar'
+
+                name 'Baku Toolkit'
+                description pkgDesc
+                url siteUrl
+
+                licenses {
+                    license {
+                        name 'New BSD License'
+                        url 'https://github.com/vanadium/java/blob/master/LICENSE'
+                        distribution 'repo'
+                    }
+                }
+                scm {
+                    connection gitUrl
+                    url siteUrl
+                }
+                developers {
+                    developer {
+                        id 'vanadium'
+                        name 'The Vanadium Contributors'
+                        email 'vanadium-discuss@v.io'
+                    }
+                }
+            }
+        }
+    }
+}
+
+dependencies {
+}
+
+task sourcesJar(type: Jar) {
+    from android.sourceSets.main.java.srcDirs
+    classifier = 'sources'
+}
+
+task javadoc (type: Javadoc) {
+    source = android.sourceSets.main.java.srcDirs
+    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+
+    if (JavaVersion.current().isJava8Compatible()) {
+        // TODO(rosswang): Can we get rid of this?
+        options.addStringOption('Xdoclint:none', '-quiet')
+    }
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+    from tasks.javadoc
+    classifier = 'javadoc'
+}
+
+artifacts {
+    archives javadocJar
+    archives sourcesJar
+}
+
+bintray {
+    user = project.properties.bintrayUsername
+    key = project.properties.bintrayApiKey
+
+    configurations = ['archives']
+    pkg {
+        desc = pkgDesc
+        websiteUrl = siteUrl
+        vcsUrl = gitUrl
+        repo = group
+        name = rootProject.name
+        licenses = ['BSD New']
+        userOrg = 'vanadium'
+        publish = true
+
+        version {
+            name = project.version
+            gpg {
+                sign = true
+            }
+        }
+    }
+}
diff --git a/bakutoolkit/proguard-rules.pro b/baku-toolkit/proguard-rules.pro
similarity index 100%
rename from bakutoolkit/proguard-rules.pro
rename to baku-toolkit/proguard-rules.pro
diff --git a/bakutoolkit/src/androidTest/java/io/v/baku/toolkit/ApplicationTest.java b/baku-toolkit/src/androidTest/java/io/v/baku/toolkit/ApplicationTest.java
similarity index 100%
rename from bakutoolkit/src/androidTest/java/io/v/baku/toolkit/ApplicationTest.java
rename to baku-toolkit/src/androidTest/java/io/v/baku/toolkit/ApplicationTest.java
diff --git a/bakutoolkit/src/lombok.config b/baku-toolkit/src/lombok.config
similarity index 100%
rename from bakutoolkit/src/lombok.config
rename to baku-toolkit/src/lombok.config
diff --git a/bakutoolkit/src/main/AndroidManifest.xml b/baku-toolkit/src/main/AndroidManifest.xml
similarity index 100%
rename from bakutoolkit/src/main/AndroidManifest.xml
rename to baku-toolkit/src/main/AndroidManifest.xml
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BakuActivity.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BakuActivity.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BakuActivity.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BakuActivity.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BakuActivityTrait.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BakuActivityTrait.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BakuActivityTrait.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BakuActivityTrait.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BakuAppCompatActivity.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BakuAppCompatActivity.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BakuAppCompatActivity.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BakuAppCompatActivity.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BlessedActivityTrait.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BlessedActivityTrait.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BlessedActivityTrait.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BlessedActivityTrait.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BlessingRequestFragment.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BlessingRequestFragment.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BlessingRequestFragment.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BlessingRequestFragment.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BlessingsProvider.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BlessingsProvider.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BlessingsProvider.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BlessingsProvider.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/BlessingsUtils.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/BlessingsUtils.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/BlessingsUtils.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/BlessingsUtils.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/DebugFragment.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/DebugFragment.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/DebugFragment.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/DebugFragment.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/DebugLogDialogFragment.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/DebugLogDialogFragment.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/DebugLogDialogFragment.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/DebugLogDialogFragment.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/DebugLogPreferenceFragment.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/DebugLogPreferenceFragment.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/DebugLogPreferenceFragment.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/DebugLogPreferenceFragment.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/DebugUtils.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/DebugUtils.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/DebugUtils.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/DebugUtils.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/ErrorReporter.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/ErrorReporter.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/ErrorReporter.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/ErrorReporter.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/LogCatFragment.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/LogCatFragment.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/LogCatFragment.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/LogCatFragment.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/VActivity.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/VActivity.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/VActivity.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/VActivity.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/VAndroidContextMixin.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/VAndroidContextMixin.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/VAndroidContextMixin.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/VAndroidContextMixin.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/VAndroidContextTrait.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/VAndroidContextTrait.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/VAndroidContextTrait.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/VAndroidContextTrait.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/VAppCompatActivity.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/VAppCompatActivity.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/VAppCompatActivity.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/VAppCompatActivity.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/VOptionPreferenceUtils.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/VOptionPreferenceUtils.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/VOptionPreferenceUtils.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/VOptionPreferenceUtils.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/CoordinatorChain.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/CoordinatorChain.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/CoordinatorChain.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/CoordinatorChain.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/DebouncingCoordinator.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/DebouncingCoordinator.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/DebouncingCoordinator.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/DebouncingCoordinator.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/SuppressWriteOnReadCoordinator.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/SuppressWriteOnReadCoordinator.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/SuppressWriteOnReadCoordinator.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/SuppressWriteOnReadCoordinator.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBinding.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBinding.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBinding.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBinding.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBindingTermini.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBindingTermini.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBindingTermini.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/SyncbaseBindingTermini.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/TextViewBindingTermini.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/TextViewBindingTermini.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/TextViewBindingTermini.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/TextViewBindingTermini.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/TwoWayBinding.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/TwoWayBinding.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/TwoWayBinding.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/TwoWayBinding.java
diff --git a/bakutoolkit/src/main/java/io/v/baku/toolkit/bind/package-info.java b/baku-toolkit/src/main/java/io/v/baku/toolkit/bind/package-info.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/baku/toolkit/bind/package-info.java
rename to baku-toolkit/src/main/java/io/v/baku/toolkit/bind/package-info.java
diff --git a/bakutoolkit/src/main/java/io/v/debug/SyncbaseAndroidService.java b/baku-toolkit/src/main/java/io/v/debug/SyncbaseAndroidService.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/debug/SyncbaseAndroidService.java
rename to baku-toolkit/src/main/java/io/v/debug/SyncbaseAndroidService.java
diff --git a/bakutoolkit/src/main/java/io/v/debug/SyncbaseClient.java b/baku-toolkit/src/main/java/io/v/debug/SyncbaseClient.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/debug/SyncbaseClient.java
rename to baku-toolkit/src/main/java/io/v/debug/SyncbaseClient.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/MountEvent.java b/baku-toolkit/src/main/java/io/v/rx/MountEvent.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/MountEvent.java
rename to baku-toolkit/src/main/java/io/v/rx/MountEvent.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/RxMountState.java b/baku-toolkit/src/main/java/io/v/rx/RxMountState.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/RxMountState.java
rename to baku-toolkit/src/main/java/io/v/rx/RxMountState.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/RxNamespace.java b/baku-toolkit/src/main/java/io/v/rx/RxNamespace.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/RxNamespace.java
rename to baku-toolkit/src/main/java/io/v/rx/RxNamespace.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/RxVIterable.java b/baku-toolkit/src/main/java/io/v/rx/RxVIterable.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/RxVIterable.java
rename to baku-toolkit/src/main/java/io/v/rx/RxVIterable.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/UncheckedVException.java b/baku-toolkit/src/main/java/io/v/rx/UncheckedVException.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/UncheckedVException.java
rename to baku-toolkit/src/main/java/io/v/rx/UncheckedVException.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/VFn.java b/baku-toolkit/src/main/java/io/v/rx/VFn.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/VFn.java
rename to baku-toolkit/src/main/java/io/v/rx/VFn.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/Creatable.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/Creatable.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/Creatable.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/Creatable.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/ExistenceAware.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/ExistenceAware.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/ExistenceAware.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/ExistenceAware.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/GlobalUserSyncgroup.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/GlobalUserSyncgroup.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/GlobalUserSyncgroup.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/GlobalUserSyncgroup.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/RxApp.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/RxApp.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/RxApp.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/RxApp.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/RxDb.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/RxDb.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/RxDb.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/RxDb.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/RxEntity.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/RxEntity.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/RxEntity.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/RxEntity.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/RxSyncbase.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/RxSyncbase.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/RxSyncbase.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/RxSyncbase.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/RxTable.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/RxTable.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/RxTable.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/RxTable.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/SgHostUtil.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/SgHostUtil.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/SgHostUtil.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/SgHostUtil.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/SyncHostLevel.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/SyncHostLevel.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/SyncHostLevel.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/SyncHostLevel.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/SyncbaseEntity.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/SyncbaseEntity.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/SyncbaseEntity.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/SyncbaseEntity.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/UserAppSyncHost.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/UserAppSyncHost.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/UserAppSyncHost.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/UserAppSyncHost.java
diff --git a/bakutoolkit/src/main/java/io/v/rx/syncbase/WatchEvent.java b/baku-toolkit/src/main/java/io/v/rx/syncbase/WatchEvent.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/rx/syncbase/WatchEvent.java
rename to baku-toolkit/src/main/java/io/v/rx/syncbase/WatchEvent.java
diff --git a/bakutoolkit/src/main/java/io/v/v23/rpc/MountStatusKey.java b/baku-toolkit/src/main/java/io/v/v23/rpc/MountStatusKey.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/v23/rpc/MountStatusKey.java
rename to baku-toolkit/src/main/java/io/v/v23/rpc/MountStatusKey.java
diff --git a/bakutoolkit/src/main/java/io/v/v23/rpc/MountStatusValue.java b/baku-toolkit/src/main/java/io/v/v23/rpc/MountStatusValue.java
similarity index 100%
rename from bakutoolkit/src/main/java/io/v/v23/rpc/MountStatusValue.java
rename to baku-toolkit/src/main/java/io/v/v23/rpc/MountStatusValue.java
diff --git a/bakutoolkit/src/main/res/layout-land/dialog_debug_log.xml b/baku-toolkit/src/main/res/layout-land/dialog_debug_log.xml
similarity index 100%
rename from bakutoolkit/src/main/res/layout-land/dialog_debug_log.xml
rename to baku-toolkit/src/main/res/layout-land/dialog_debug_log.xml
diff --git a/bakutoolkit/src/main/res/layout/dialog_debug_log.xml b/baku-toolkit/src/main/res/layout/dialog_debug_log.xml
similarity index 100%
rename from bakutoolkit/src/main/res/layout/dialog_debug_log.xml
rename to baku-toolkit/src/main/res/layout/dialog_debug_log.xml
diff --git a/bakutoolkit/src/main/res/layout/logcat.xml b/baku-toolkit/src/main/res/layout/logcat.xml
similarity index 100%
rename from bakutoolkit/src/main/res/layout/logcat.xml
rename to baku-toolkit/src/main/res/layout/logcat.xml
diff --git a/bakutoolkit/src/main/res/menu/debug.xml b/baku-toolkit/src/main/res/menu/debug.xml
similarity index 100%
rename from bakutoolkit/src/main/res/menu/debug.xml
rename to baku-toolkit/src/main/res/menu/debug.xml
diff --git a/bakutoolkit/src/main/res/values/errors.xml b/baku-toolkit/src/main/res/values/errors.xml
similarity index 100%
rename from bakutoolkit/src/main/res/values/errors.xml
rename to baku-toolkit/src/main/res/values/errors.xml
diff --git a/bakutoolkit/src/main/res/values/strings.xml b/baku-toolkit/src/main/res/values/strings.xml
similarity index 100%
rename from bakutoolkit/src/main/res/values/strings.xml
rename to baku-toolkit/src/main/res/values/strings.xml
diff --git a/bakutoolkit/src/main/res/xml/pref_logging.xml b/baku-toolkit/src/main/res/xml/pref_logging.xml
similarity index 100%
rename from bakutoolkit/src/main/res/xml/pref_logging.xml
rename to baku-toolkit/src/main/res/xml/pref_logging.xml
diff --git a/bakutoolkit/src/test/java/io/v/baku/toolkit/BlessedActivityTraitTest.java b/baku-toolkit/src/test/java/io/v/baku/toolkit/BlessedActivityTraitTest.java
similarity index 100%
rename from bakutoolkit/src/test/java/io/v/baku/toolkit/BlessedActivityTraitTest.java
rename to baku-toolkit/src/test/java/io/v/baku/toolkit/BlessedActivityTraitTest.java
diff --git a/bakutoolkit/src/test/java/io/v/baku/toolkit/bind/SyncbaseBindingTerminiTest.java b/baku-toolkit/src/test/java/io/v/baku/toolkit/bind/SyncbaseBindingTerminiTest.java
similarity index 100%
rename from bakutoolkit/src/test/java/io/v/baku/toolkit/bind/SyncbaseBindingTerminiTest.java
rename to baku-toolkit/src/test/java/io/v/baku/toolkit/bind/SyncbaseBindingTerminiTest.java
diff --git a/bakutoolkit/src/test/java/io/v/rx/RxNamespaceTest.java b/baku-toolkit/src/test/java/io/v/rx/RxNamespaceTest.java
similarity index 100%
rename from bakutoolkit/src/test/java/io/v/rx/RxNamespaceTest.java
rename to baku-toolkit/src/test/java/io/v/rx/RxNamespaceTest.java
diff --git a/bakutoolkit/src/test/java/io/v/rx/RxTestCase.java b/baku-toolkit/src/test/java/io/v/rx/RxTestCase.java
similarity index 100%
rename from bakutoolkit/src/test/java/io/v/rx/RxTestCase.java
rename to baku-toolkit/src/test/java/io/v/rx/RxTestCase.java
diff --git a/bakutoolkit/src/test/java/io/v/rx/syncbase/GlobalUserSyncgroupTest.java b/baku-toolkit/src/test/java/io/v/rx/syncbase/GlobalUserSyncgroupTest.java
similarity index 100%
rename from bakutoolkit/src/test/java/io/v/rx/syncbase/GlobalUserSyncgroupTest.java
rename to baku-toolkit/src/test/java/io/v/rx/syncbase/GlobalUserSyncgroupTest.java
diff --git a/bakutoolkit/build.gradle b/bakutoolkit/build.gradle
deleted file mode 100644
index c686764..0000000
--- a/bakutoolkit/build.gradle
+++ /dev/null
@@ -1,115 +0,0 @@
-// You should change this after releasing a new version of the Baku Toolkit. See the
-// list of published versions at https://repo1.maven.org/maven2/io/v/baku-toolkit.
-def releaseVersion = '0.1'
-
-apply plugin: 'com.android.library'
-apply plugin: 'com.jfrog.bintray'
-apply plugin: 'maven-publish'
-/*
-You might have to download JDK8 and set JAVA8_HOME (or set the jdk to Java 8 via Project Structure).
-For detailed instructions, see https://github.com/evant/gradle-retrolambda
- */
-apply plugin: 'me.tatarka.retrolambda'
-
-android {
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_8
-        targetCompatibility JavaVersion.VERSION_1_8
-    }
-    compileSdkVersion 21
-    buildToolsVersion "21.1.2"
-
-    defaultConfig {
-        minSdkVersion 21
-        targetSdkVersion 21
-        versionCode 1
-        versionName "1.0"
-    }
-}
-
-dependencies {
-    provided(
-            /* If the application wishes to use support libraries, it should include them as compile
-            dependencies in its own build.gradle. */
-            'com.android.support:appcompat-v7:23.0.1',
-
-            'org.glassfish:javax.annotation:10.0-b28',
-            /*
-            https://projectlombok.org/setup/android.html
-            Follow Android Studio instructions at the bottom of the page to install the Lombok
-            Plugin.
-             */
-            'org.projectlombok:lombok:1.16.6',
-            'org.slf4j:slf4j-api:1.7.12'
-    )
-
-
-    testCompile(
-            'org.mockito:mockito-core:1.10.19',
-            'org.powermock:powermock-module-junit4:1.6.3',
-            'org.slf4j:slf4j-simple:1.7.12'
-    )
-
-    testCompile('org.powermock:powermock-api-mockito:1.6.3') {
-        exclude module: 'mockito-all'
-    }
-
-    compile(
-            'com.jakewharton.rxbinding:rxbinding:0.3.0',
-            'io.reactivex:rxandroid:1.0.1',
-            'io.reactivex:rxjava:1.0.16',
-            'io.reactivex:rxjava-async-util:0.21.0',
-            'io.v:vanadium:0.1',
-            'io.v:vanadium-android:0.1',
-            'net.sourceforge.streamsupport:streamsupport:1.3.2'
-    )
-    compile fileTree(dir: 'libs', include: ['*.jar'])
-
-    /*
-    Word of caution: for local unit tests, Android log statements fail with
-    UnsatisfiedLinkError (hence the slf4j-simple implementation for testCompile).
-
-    Applications should include a suitable runtime binding, such as
-    apk ('org.slf4j:slf4j-android:1.7.12')
-    */
-}
-
-task sourceJar(type: Jar) {
-    from android.sourceSets.main.java.srcDirs
-    classifier "source"
-}
-
-publishing {
-    publications {
-        androidLibrary(MavenPublication) {
-            groupId 'io.v'
-            artifactId 'baku-toolkit'
-            version releaseVersion
-            artifact sourceJar
-            artifact "$buildDir/outputs/aar/bakutoolkit-release.aar"
-        }
-    }
-}
-
-tasks.bintrayUpload.dependsOn(tasks.assemble)
-
-bintray {
-    user = project.properties.bintrayUsername
-    key = project.properties.bintrayApiKey
-    pkg {
-        desc = 'Java libraries for writing Vanadium Android applications with Baku'
-        websiteUrl = 'https://github.com/vanadium/java'
-        vcsUrl = 'https://github.com/vanadium/java.git'
-        repo = 'io.v'
-        name = 'baku-toolkit'
-        licenses = ['BSD New']
-        version {
-            name = releaseVersion
-            gpg {
-                sign = true
-            }
-        }
-        userOrg = 'vanadium'
-    }
-    publications = ['androidLibrary']
-}
diff --git a/build.gradle b/build.gradle
index 11d0a56..8176bb6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,6 +7,7 @@
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:1.3.0'
+        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
         classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
         classpath 'me.tatarka:gradle-retrolambda:3.2.3'
 
diff --git a/settings.gradle b/settings.gradle
index f11ede4..c8fcf89 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,2 @@
-include ':bakutoolkit'
+include ':baku-toolkit'
+rootProject.name = 'baku-toolkit'
\ No newline at end of file