diff --git a/lib/constants/data-binary-source.ts b/lib/constants/data-binary-source.ts
index 02ca6814958c8c3d5f44b53d26dbff6d33bed8c0..e39af12ef0acf950c8e88eabe54bb021655511ec 100644
--- a/lib/constants/data-binary-source.ts
+++ b/lib/constants/data-binary-source.ts
@@ -21,6 +21,7 @@ export const DATASOURCE_PACKAGIST = 'packagist';
 export const DATASOURCE_PYPI = 'pypi';
 export const DATASOURCE_RUBYGEMS = 'rubygems';
 export const DATASOURCE_RUBY_VERSION = 'ruby-version';
-export const DATASOURCE_SBT = 'sbt';
+export const DATASOURCE_SBT_PACKAGE = 'sbt-package';
+export const DATASOURCE_SBT_PLUGIN = 'sbt-plugin';
 export const DATASOURCE_TERRAFORM = 'terraform';
 export const DATASOURCE_TERRAFORM_PROVIDER = 'terraform-provider';
diff --git a/lib/datasource/common.ts b/lib/datasource/common.ts
index 1fbea4e798b22f404699673843337400e490b8bc..a7eea21274b972fa32d7cc3c300325f2d36ff143 100644
--- a/lib/datasource/common.ts
+++ b/lib/datasource/common.ts
@@ -4,9 +4,7 @@ export interface GetReleasesConfig {
   lookupName: string;
   registryUrls?: string[];
   compatibility?: Record<string, string>;
-  depType?: string;
   npmrc?: string;
-  versioning?: string;
 }
 
 export interface Config {
@@ -17,7 +15,6 @@ export interface Config {
 }
 export interface PkgReleaseConfig extends Config {
   compatibility?: Record<string, string>;
-  depType?: string;
   npmrc?: string;
   versioning?: string;
 }
diff --git a/lib/datasource/sbt/__fixtures__/maven-index.html b/lib/datasource/sbt-package/__fixtures__/maven-index.html
similarity index 100%
rename from lib/datasource/sbt/__fixtures__/maven-index.html
rename to lib/datasource/sbt-package/__fixtures__/maven-index.html
diff --git a/lib/datasource/sbt/__fixtures__/sbt-plugins-index.html b/lib/datasource/sbt-package/__fixtures__/sbt-plugins-index.html
similarity index 100%
rename from lib/datasource/sbt/__fixtures__/sbt-plugins-index.html
rename to lib/datasource/sbt-package/__fixtures__/sbt-plugins-index.html
diff --git a/lib/datasource/sbt/__snapshots__/index.spec.ts.snap b/lib/datasource/sbt-package/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from lib/datasource/sbt/__snapshots__/index.spec.ts.snap
rename to lib/datasource/sbt-package/__snapshots__/index.spec.ts.snap
diff --git a/lib/datasource/sbt-package/index.spec.ts b/lib/datasource/sbt-package/index.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..447fd4b597e7018c59fe9dbf72e63f21597f0d2b
--- /dev/null
+++ b/lib/datasource/sbt-package/index.spec.ts
@@ -0,0 +1,138 @@
+import path from 'path';
+import fs from 'fs';
+import nock from 'nock';
+import { getPkgReleases } from '.';
+import { DEFAULT_MAVEN_REPO } from '../../manager/maven/extract';
+import { parseIndexDir, SBT_PLUGINS_REPO } from '../sbt-plugin/util';
+
+const mavenIndexHtml = fs.readFileSync(
+  path.resolve(__dirname, `./__fixtures__/maven-index.html`),
+  'utf8'
+);
+
+const sbtPluginIndex = fs.readFileSync(
+  path.resolve(__dirname, `./__fixtures__/sbt-plugins-index.html`),
+  'utf8'
+);
+
+describe('datasource/sbt', () => {
+  it('parses Maven index directory', () => {
+    expect(parseIndexDir(mavenIndexHtml)).toMatchSnapshot();
+  });
+  it('parses sbt index directory', () => {
+    expect(parseIndexDir(sbtPluginIndex)).toMatchSnapshot();
+  });
+
+  describe('getPkgReleases', () => {
+    beforeEach(() => {
+      nock.disableNetConnect();
+      nock('https://failed_repo')
+        .get('/maven/org/scalatest/')
+        .reply(404, null);
+      nock('https://repo.maven.apache.org')
+        .get('/maven2/org/scalatest/')
+        .reply(
+          200,
+          '<a href="scalatest/" title=\'scalatest/\'>scalatest_2.12/</a>\n' +
+            '<a href="scalatest_2.12/" title=\'scalatest_2.12/\'>scalatest_2.12/</a>\n' +
+            "<a href='scalatest_sjs2.12/'>scalatest_2.12/</a>" +
+            "<a href='scalatest_native2.12/'>scalatest_2.12/</a>"
+        );
+      nock('https://repo.maven.apache.org')
+        .get('/maven2/org/scalatest/scalatest/')
+        .reply(200, "<a href='1.2.0/'>1.2.0/</a>");
+      nock('https://repo.maven.apache.org')
+        .get('/maven2/org/scalatest/scalatest_2.12/')
+        .reply(200, "<a href='1.2.3/'>4.5.6/</a>");
+
+      nock('https://dl.bintray.com')
+        .get('/sbt/sbt-plugin-releases/com.github.gseitz/')
+        .reply(200, '');
+      nock('https://dl.bintray.com')
+        .get('/sbt/sbt-plugin-releases/org.foundweekends/sbt-bintray/')
+        .reply(
+          200,
+          '<html>\n' +
+            '<head>\n' +
+            '</head>\n' +
+            '<body>\n' +
+            '<pre><a href="scala_2.12/">scala_2.12/</a></pre>\n' +
+            '</body>\n' +
+            '</html>'
+        );
+      nock('https://dl.bintray.com')
+        .get(
+          '/sbt/sbt-plugin-releases/org.foundweekends/sbt-bintray/scala_2.12/'
+        )
+        .reply(
+          200,
+          '\n' +
+            '<html>\n' +
+            '<head>\n' +
+            '</head>\n' +
+            '<body>\n' +
+            '<pre><a href="sbt_1.0/">sbt_1.0/</a></pre>\n' +
+            '</body>\n' +
+            '</html>\n'
+        );
+      nock('https://dl.bintray.com')
+        .get(
+          '/sbt/sbt-plugin-releases/org.foundweekends/sbt-bintray/scala_2.12/sbt_1.0/'
+        )
+        .reply(
+          200,
+          '\n' +
+            '<html>\n' +
+            '<head>\n' +
+            '</head>\n' +
+            '<body>\n' +
+            '<pre><a href="0.5.5/">0.5.5/</a></pre>\n' +
+            '</body>\n' +
+            '</html>\n'
+        );
+    });
+
+    afterEach(() => {
+      nock.enableNetConnect();
+    });
+
+    it('returns null in case of errors', async () => {
+      expect(
+        await getPkgReleases({
+          lookupName: 'org.scalatest:scalatest',
+          registryUrls: ['https://failed_repo/maven'],
+        })
+      ).toEqual(null);
+    });
+    it('fetches releases from Maven', async () => {
+      expect(
+        await getPkgReleases({
+          lookupName: 'org.scalatest:scalatest',
+          registryUrls: [
+            'https://failed_repo/maven',
+            DEFAULT_MAVEN_REPO,
+            SBT_PLUGINS_REPO,
+          ],
+        })
+      ).toEqual({
+        dependencyUrl: 'https://repo.maven.apache.org/maven2/org/scalatest',
+        display: 'org.scalatest:scalatest',
+        group: 'org.scalatest',
+        name: 'scalatest',
+        releases: [{ version: '1.2.0' }, { version: '1.2.3' }],
+      });
+      expect(
+        await getPkgReleases({
+          lookupName: 'org.scalatest:scalatest_2.12',
+          registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
+        })
+      ).toEqual({
+        dependencyUrl: 'https://repo.maven.apache.org/maven2/org/scalatest',
+        display: 'org.scalatest:scalatest_2.12',
+        group: 'org.scalatest',
+        name: 'scalatest_2.12',
+        releases: [{ version: '1.2.3' }],
+      });
+    });
+  });
+});
diff --git a/lib/datasource/sbt-package/index.ts b/lib/datasource/sbt-package/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..bb1659ea4cdbf489fa61dabada2d17d5d126ae98
--- /dev/null
+++ b/lib/datasource/sbt-package/index.ts
@@ -0,0 +1,95 @@
+import { compare } from '../../versioning/maven/compare';
+import { downloadHttpProtocol } from '../maven/util';
+import { parseIndexDir } from '../sbt-plugin/util';
+import { logger } from '../../logger';
+import { GetReleasesConfig, ReleaseResult } from '../common';
+
+const ensureTrailingSlash = (str: string): string => str.replace(/\/?$/, '/');
+
+export async function resolvePackageReleases(
+  searchRoot: string,
+  artifact: string,
+  scalaVersion: string
+): Promise<string[]> {
+  const indexContent = await downloadHttpProtocol(
+    ensureTrailingSlash(searchRoot),
+    'sbt'
+  );
+  if (indexContent) {
+    const releases: string[] = [];
+    const parseSubdirs = (content: string): string[] =>
+      parseIndexDir(content, x => {
+        if (x === artifact) return true;
+        if (x.startsWith(`${artifact}_native`)) return false;
+        if (x.startsWith(`${artifact}_sjs`)) return false;
+        return x.startsWith(`${artifact}_`);
+      });
+    const artifactSubdirs = parseSubdirs(indexContent);
+    let searchSubdirs = artifactSubdirs;
+    if (
+      scalaVersion &&
+      artifactSubdirs.includes(`${artifact}_${scalaVersion}`)
+    ) {
+      searchSubdirs = [`${artifact}_${scalaVersion}`];
+    }
+    const parseReleases = (content: string): string[] =>
+      parseIndexDir(content, x => !/^\.+$/.test(x));
+    for (const searchSubdir of searchSubdirs) {
+      const content = await downloadHttpProtocol(
+        ensureTrailingSlash(`${searchRoot}/${searchSubdir}`),
+        'sbt'
+      );
+      if (content) {
+        const subdirReleases = parseReleases(content);
+        subdirReleases.forEach(x => releases.push(x));
+      }
+    }
+    if (releases.length) return [...new Set(releases)].sort(compare);
+  }
+
+  return null;
+}
+
+export async function getPkgReleases({
+  lookupName,
+  registryUrls,
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
+  const [groupId, artifactId] = lookupName.split(':');
+  const groupIdSplit = groupId.split('.');
+  const artifactIdSplit = artifactId.split('_');
+  const [artifact, scalaVersion] = artifactIdSplit;
+
+  const repoRoots = registryUrls.map(x => x.replace(/\/?$/, ''));
+  const searchRoots: string[] = [];
+  repoRoots.forEach(repoRoot => {
+    // Optimize lookup order
+    searchRoots.push(`${repoRoot}/${groupIdSplit.join('/')}`);
+    searchRoots.push(`${repoRoot}/${groupIdSplit.join('.')}`);
+  });
+
+  for (let idx = 0; idx < searchRoots.length; idx += 1) {
+    const searchRoot = searchRoots[idx];
+    const versions = await resolvePackageReleases(
+      searchRoot,
+      artifact,
+      scalaVersion
+    );
+
+    const dependencyUrl = searchRoot;
+
+    if (versions) {
+      return {
+        display: lookupName,
+        group: groupId,
+        name: artifactId,
+        dependencyUrl,
+        releases: versions.map(v => ({ version: v })),
+      };
+    }
+  }
+
+  logger.debug(
+    `No versions found for ${lookupName} in ${searchRoots.length} repositories`
+  );
+  return null;
+}
diff --git a/lib/datasource/sbt-plugin/__fixtures__/maven-index.html b/lib/datasource/sbt-plugin/__fixtures__/maven-index.html
new file mode 100644
index 0000000000000000000000000000000000000000..af221ebfc97f7e4541bcd9400cbb2e56b707544f
--- /dev/null
+++ b/lib/datasource/sbt-plugin/__fixtures__/maven-index.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+	<title>Central Repository: org/scalatest</title>
+	<meta name="viewport" content="width=device-width, initial-scale=1.0">
+	<style>
+body {
+	background: #fff;
+}
+	</style>
+</head>
+
+<body>
+	<header>
+		<h1>org/scalatest</h1>
+	</header>
+	<hr/>
+	<main>
+		<pre id="contents">
+<a href="../">../</a>
+<a href="autofix-3.0.6_2.11/" title="autofix-3.0.6_2.11/">autofix-3.0.6_2.11/</a>                                              -         -      
+<a href="autofix-3.0.6_2.12/" title="autofix-3.0.6_2.12/">autofix-3.0.6_2.12/</a>                                              -         -      
+<a href="autofix-3.0.8_2.11/" title="autofix-3.0.8_2.11/">autofix-3.0.8_2.11/</a>                                              -         -      
+<a href="autofix-3.0.8_2.12/" title="autofix-3.0.8_2.12/">autofix-3.0.8_2.12/</a>                                              -         -      
+<a href="scalatest/" title="scalatest/">scalatest/</a>                                                       -         -      
+<a href="scalatest-all_2.10/" title="scalatest-all_2.10/">scalatest-all_2.10/</a>                                              -         -      
+<a href="scalatest-all_2.11/" title="scalatest-all_2.11/">scalatest-all_2.11/</a>                                              -         -      
+<a href="scalatest-all_sjs0.6_2.10/" title="scalatest-all_sjs0.6_2.10/">scalatest-all_sjs0.6_2.10/</a>                                       -         -      
+<a href="scalatest-all_sjs0.6_2.11/" title="scalatest-all_sjs0.6_2.11/">scalatest-all_sjs0.6_2.11/</a>                                       -         -      
+<a href="scalatest-app_2.10/" title="scalatest-app_2.10/">scalatest-app_2.10/</a>                                              -         -      
+<a href="scalatest-app_2.11/" title="scalatest-app_2.11/">scalatest-app_2.11/</a>                                              -         -      
+<a href="scalatest-app_2.12/" title="scalatest-app_2.12/">scalatest-app_2.12/</a>                                              -         -      
+<a href="scalatest-app_2.12.0-M3/" title="scalatest-app_2.12.0-M3/">scalatest-app_2.12.0-M3/</a>                                         -         -      
+<a href="scalatest-app_2.12.0-M4/" title="scalatest-app_2.12.0-M4/">scalatest-app_2.12.0-M4/</a>                                         -         -      
+<a href="scalatest-app_2.12.0-M5/" title="scalatest-app_2.12.0-M5/">scalatest-app_2.12.0-M5/</a>                                         -         -      
+<a href="scalatest-app_2.12.0-RC1/" title="scalatest-app_2.12.0-RC1/">scalatest-app_2.12.0-RC1/</a>                                        -         -      
+<a href="scalatest-app_2.12.0-RC2/" title="scalatest-app_2.12.0-RC2/">scalatest-app_2.12.0-RC2/</a>                                        -         -      
+<a href="scalatest-app_2.13.0-M1/" title="scalatest-app_2.13.0-M1/">scalatest-app_2.13.0-M1/</a>                                         -         -      
+<a href="scalatest-app_2.13.0-M2/" title="scalatest-app_2.13.0-M2/">scalatest-app_2.13.0-M2/</a>                                         -         -      
+<a href="scalatest-app_2.13.0-M3/" title="scalatest-app_2.13.0-M3/">scalatest-app_2.13.0-M3/</a>                                         -         -      
+<a href="scalatest-app_2.13.0-M4/" title="scalatest-app_2.13.0-M4/">scalatest-app_2.13.0-M4/</a>                                         -         -      
+<a href="scalatest-app_2.13.0-M5/" title="scalatest-app_2.13.0-M5/">scalatest-app_2.13.0-M5/</a>                                         -         -      
+<a href="scalatest-app_2.13.0-RC1/" title="scalatest-app_2.13.0-RC1/">scalatest-app_2.13.0-RC1/</a>                                        -         -      
+<a href="scalatest-app_2.13.0-RC2/" title="scalatest-app_2.13.0-RC2/">scalatest-app_2.13.0-RC2/</a>                                        -         -      
+<a href="scalatest-app_native0.3_2.11/" title="scalatest-app_native0.3_2.11/">scalatest-app_native0.3_2.11/</a>                                    -         -      
+<a href="scalatest-app_sjs0.6_2.10/" title="scalatest-app_sjs0.6_2.10/">scalatest-app_sjs0.6_2.10/</a>                                       -         -      
+<a href="scalatest-app_sjs0.6_2.11/" title="scalatest-app_sjs0.6_2.11/">scalatest-app_sjs0.6_2.11/</a>                                       -         -      
+<a href="scalatest-app_sjs0.6_2.12/" title="scalatest-app_sjs0.6_2.12/">scalatest-app_sjs0.6_2.12/</a>                                       -         -      
+<a href="scalatest-app_sjs0.6_2.12.0-M3/" title="scalatest-app_sjs0.6_2.12.0-M3/">scalatest-app_sjs0.6_2.12.0-M3/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.12.0-M4/" title="scalatest-app_sjs0.6_2.12.0-M4/">scalatest-app_sjs0.6_2.12.0-M4/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.12.0-M5/" title="scalatest-app_sjs0.6_2.12.0-M5/">scalatest-app_sjs0.6_2.12.0-M5/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.12.0-RC1/" title="scalatest-app_sjs0.6_2.12.0-RC1/">scalatest-app_sjs0.6_2.12.0-RC1/</a>                                 -         -      
+<a href="scalatest-app_sjs0.6_2.12.0-RC2/" title="scalatest-app_sjs0.6_2.12.0-RC2/">scalatest-app_sjs0.6_2.12.0-RC2/</a>                                 -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-M1/" title="scalatest-app_sjs0.6_2.13.0-M1/">scalatest-app_sjs0.6_2.13.0-M1/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-M2/" title="scalatest-app_sjs0.6_2.13.0-M2/">scalatest-app_sjs0.6_2.13.0-M2/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-M3/" title="scalatest-app_sjs0.6_2.13.0-M3/">scalatest-app_sjs0.6_2.13.0-M3/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-M4/" title="scalatest-app_sjs0.6_2.13.0-M4/">scalatest-app_sjs0.6_2.13.0-M4/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-M5/" title="scalatest-app_sjs0.6_2.13.0-M5/">scalatest-app_sjs0.6_2.13.0-M5/</a>                                  -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-RC1/" title="scalatest-app_sjs0.6_2.13.0-RC1/">scalatest-app_sjs0.6_2.13.0-RC1/</a>                                 -         -      
+<a href="scalatest-app_sjs0.6_2.13.0-RC2/" title="scalatest-app_sjs0.6_2.13.0-RC2/">scalatest-app_sjs0.6_2.13.0-RC2/</a>                                 -         -      
+<a href="scalatest-app_sjs1.0.0-M3_2.11/" title="scalatest-app_sjs1.0.0-M3_2.11/">scalatest-app_sjs1.0.0-M3_2.11/</a>                                  -         -      
+<a href="scalatest-app_sjs1.0.0-M3_2.12/" title="scalatest-app_sjs1.0.0-M3_2.12/">scalatest-app_sjs1.0.0-M3_2.12/</a>                                  -         -      
+<a href="scalatest-app_sjs1.0.0-M7_2.11/" title="scalatest-app_sjs1.0.0-M7_2.11/">scalatest-app_sjs1.0.0-M7_2.11/</a>                                  -         -      
+<a href="scalatest-app_sjs1.0.0-M7_2.12/" title="scalatest-app_sjs1.0.0-M7_2.12/">scalatest-app_sjs1.0.0-M7_2.12/</a>                                  -         -      
+<a href="scalatest-app_sjs1.0.0-M7_2.13.0-RC1/" title="scalatest-app_sjs1.0.0-M7_2.13.0-RC1/">scalatest-app_sjs1.0.0-M7_2.13.0-RC1/</a>                            -         -      
+<a href="scalatest-app_sjs1.0.0-M7_2.13.0-RC2/" title="scalatest-app_sjs1.0.0-M7_2.13.0-RC2/">scalatest-app_sjs1.0.0-M7_2.13.0-RC2/</a>                            -         -      
+<a href="scalatest-core_2.10/" title="scalatest-core_2.10/">scalatest-core_2.10/</a>                                             -         -      
+<a href="scalatest-core_2.11/" title="scalatest-core_2.11/">scalatest-core_2.11/</a>                                             -         -      
+<a href="scalatest-core_sjs0.6_2.10/" title="scalatest-core_sjs0.6_2.10/">scalatest-core_sjs0.6_2.10/</a>                                      -         -      
+<a href="scalatest-core_sjs0.6_2.11/" title="scalatest-core_sjs0.6_2.11/">scalatest-core_sjs0.6_2.11/</a>                                      -         -      
+<a href="scalatest-easymock_2.10/" title="scalatest-easymock_2.10/">scalatest-easymock_2.10/</a>                                         -         -      
+<a href="scalatest-easymock_2.11/" title="scalatest-easymock_2.11/">scalatest-easymock_2.11/</a>                                         -         -      
+<a href="scalatest-featurespec_2.10/" title="scalatest-featurespec_2.10/">scalatest-featurespec_2.10/</a>                                      -         -      
+<a href="scalatest-featurespec_2.11/" title="scalatest-featurespec_2.11/">scalatest-featurespec_2.11/</a>                                      -         -      
+<a href="scalatest-featurespec_sjs0.6_2.10/" title="scalatest-featurespec_sjs0.6_2.10/">scalatest-featurespec_sjs0.6_2.10/</a>                               -         -      
+<a href="scalatest-featurespec_sjs0.6_2.11/" title="scalatest-featurespec_sjs0.6_2.11/">scalatest-featurespec_sjs0.6_2.11/</a>                               -         -      
+<a href="scalatest-finders/" title="scalatest-finders/">scalatest-finders/</a>                                               -         -      
+<a href="scalatest-finders_2.9.0/" title="scalatest-finders_2.9.0/">scalatest-finders_2.9.0/</a>                                         -         -      
+<a href="scalatest-flatspec_2.10/" title="scalatest-flatspec_2.10/">scalatest-flatspec_2.10/</a>                                         -         -      
+<a href="scalatest-flatspec_2.11/" title="scalatest-flatspec_2.11/">scalatest-flatspec_2.11/</a>                                         -         -      
+<a href="scalatest-flatspec_sjs0.6_2.10/" title="scalatest-flatspec_sjs0.6_2.10/">scalatest-flatspec_sjs0.6_2.10/</a>                                  -         -      
+<a href="scalatest-flatspec_sjs0.6_2.11/" title="scalatest-flatspec_sjs0.6_2.11/">scalatest-flatspec_sjs0.6_2.11/</a>                                  -         -      
+<a href="scalatest-freespec_2.10/" title="scalatest-freespec_2.10/">scalatest-freespec_2.10/</a>                                         -         -      
+<a href="scalatest-freespec_2.11/" title="scalatest-freespec_2.11/">scalatest-freespec_2.11/</a>                                         -         -      
+<a href="scalatest-freespec_sjs0.6_2.10/" title="scalatest-freespec_sjs0.6_2.10/">scalatest-freespec_sjs0.6_2.10/</a>                                  -         -      
+<a href="scalatest-freespec_sjs0.6_2.11/" title="scalatest-freespec_sjs0.6_2.11/">scalatest-freespec_sjs0.6_2.11/</a>                                  -         -      
+<a href="scalatest-funspec_2.10/" title="scalatest-funspec_2.10/">scalatest-funspec_2.10/</a>                                          -         -      
+<a href="scalatest-funspec_2.11/" title="scalatest-funspec_2.11/">scalatest-funspec_2.11/</a>                                          -         -      
+<a href="scalatest-funspec_sjs0.6_2.10/" title="scalatest-funspec_sjs0.6_2.10/">scalatest-funspec_sjs0.6_2.10/</a>                                   -         -      
+<a href="scalatest-funspec_sjs0.6_2.11/" title="scalatest-funspec_sjs0.6_2.11/">scalatest-funspec_sjs0.6_2.11/</a>                                   -         -      
+<a href="scalatest-funsuite_2.10/" title="scalatest-funsuite_2.10/">scalatest-funsuite_2.10/</a>                                         -         -      
+<a href="scalatest-funsuite_2.11/" title="scalatest-funsuite_2.11/">scalatest-funsuite_2.11/</a>                                         -         -      
+<a href="scalatest-funsuite_sjs0.6_2.10/" title="scalatest-funsuite_sjs0.6_2.10/">scalatest-funsuite_sjs0.6_2.10/</a>                                  -         -      
+<a href="scalatest-funsuite_sjs0.6_2.11/" title="scalatest-funsuite_sjs0.6_2.11/">scalatest-funsuite_sjs0.6_2.11/</a>                                  -         -      
+<a href="scalatest-jmock_2.10/" title="scalatest-jmock_2.10/">scalatest-jmock_2.10/</a>                                            -         -      
+<a href="scalatest-jmock_2.11/" title="scalatest-jmock_2.11/">scalatest-jmock_2.11/</a>                                            -         -      
+<a href="scalatest-junit_2.10/" title="scalatest-junit_2.10/">scalatest-junit_2.10/</a>                                            -         -      
+<a href="scalatest-junit_2.11/" title="scalatest-junit_2.11/">scalatest-junit_2.11/</a>                                            -         -      
+<a href="scalatest-matchers-core_2.10/" title="scalatest-matchers-core_2.10/">scalatest-matchers-core_2.10/</a>                                    -         -      
+<a href="scalatest-matchers-core_2.11/" title="scalatest-matchers-core_2.11/">scalatest-matchers-core_2.11/</a>                                    -         -      
+<a href="scalatest-matchers-core_sjs0.6_2.10/" title="scalatest-matchers-core_sjs0.6_2.10/">scalatest-matchers-core_sjs0.6_2.10/</a>                             -         -      
+<a href="scalatest-matchers-core_sjs0.6_2.11/" title="scalatest-matchers-core_sjs0.6_2.11/">scalatest-matchers-core_sjs0.6_2.11/</a>                             -         -      
+<a href="scalatest-matchers_2.10/" title="scalatest-matchers_2.10/">scalatest-matchers_2.10/</a>                                         -         -      
+<a href="scalatest-matchers_2.11/" title="scalatest-matchers_2.11/">scalatest-matchers_2.11/</a>                                         -         -      
+<a href="scalatest-matchers_sjs0.6_2.10/" title="scalatest-matchers_sjs0.6_2.10/">scalatest-matchers_sjs0.6_2.10/</a>                                  -         -      
+<a href="scalatest-matchers_sjs0.6_2.11/" title="scalatest-matchers_sjs0.6_2.11/">scalatest-matchers_sjs0.6_2.11/</a>                                  -         -      
+<a href="scalatest-maven-plugin/" title="scalatest-maven-plugin/">scalatest-maven-plugin/</a>                                          -         -      
+<a href="scalatest-mustmatchers_2.10/" title="scalatest-mustmatchers_2.10/">scalatest-mustmatchers_2.10/</a>                                     -         -      
+<a href="scalatest-mustmatchers_2.11/" title="scalatest-mustmatchers_2.11/">scalatest-mustmatchers_2.11/</a>                                     -         -      
+<a href="scalatest-mustmatchers_sjs0.6_2.10/" title="scalatest-mustmatchers_sjs0.6_2.10/">scalatest-mustmatchers_sjs0.6_2.10/</a>                              -         -      
+<a href="scalatest-mustmatchers_sjs0.6_2.11/" title="scalatest-mustmatchers_sjs0.6_2.11/">scalatest-mustmatchers_sjs0.6_2.11/</a>                              -         -      
+<a href="scalatest-propspec_2.10/" title="scalatest-propspec_2.10/">scalatest-propspec_2.10/</a>                                         -         -      
+<a href="scalatest-propspec_2.11/" title="scalatest-propspec_2.11/">scalatest-propspec_2.11/</a>                                         -         -      
+<a href="scalatest-propspec_sjs0.6_2.10/" title="scalatest-propspec_sjs0.6_2.10/">scalatest-propspec_sjs0.6_2.10/</a>                                  -         -      
+<a href="scalatest-propspec_sjs0.6_2.11/" title="scalatest-propspec_sjs0.6_2.11/">scalatest-propspec_sjs0.6_2.11/</a>                                  -         -      
+<a href="scalatest-refspec_2.10/" title="scalatest-refspec_2.10/">scalatest-refspec_2.10/</a>                                          -         -      
+<a href="scalatest-refspec_2.11/" title="scalatest-refspec_2.11/">scalatest-refspec_2.11/</a>                                          -         -      
+<a href="scalatest-selenium_2.10/" title="scalatest-selenium_2.10/">scalatest-selenium_2.10/</a>                                         -         -      
+<a href="scalatest-selenium_2.11/" title="scalatest-selenium_2.11/">scalatest-selenium_2.11/</a>                                         -         -      
+<a href="scalatest-testng_2.10/" title="scalatest-testng_2.10/">scalatest-testng_2.10/</a>                                           -         -      
+<a href="scalatest-testng_2.11/" title="scalatest-testng_2.11/">scalatest-testng_2.11/</a>                                           -         -      
+<a href="scalatest-wordspec_2.10/" title="scalatest-wordspec_2.10/">scalatest-wordspec_2.10/</a>                                         -         -      
+<a href="scalatest-wordspec_2.11/" title="scalatest-wordspec_2.11/">scalatest-wordspec_2.11/</a>                                         -         -      
+<a href="scalatest-wordspec_sjs0.6_2.10/" title="scalatest-wordspec_sjs0.6_2.10/">scalatest-wordspec_sjs0.6_2.10/</a>                                  -         -      
+<a href="scalatest-wordspec_sjs0.6_2.11/" title="scalatest-wordspec_sjs0.6_2.11/">scalatest-wordspec_sjs0.6_2.11/</a>                                  -         -      
+<a href="scalatest_2.10/" title="scalatest_2.10/">scalatest_2.10/</a>                                                  -         -      
+<a href="scalatest_2.10.0/" title="scalatest_2.10.0/">scalatest_2.10.0/</a>                                                -         -      
+<a href="scalatest_2.10.0-M4/" title="scalatest_2.10.0-M4/">scalatest_2.10.0-M4/</a>                                             -         -      
+<a href="scalatest_2.10.0-M5/" title="scalatest_2.10.0-M5/">scalatest_2.10.0-M5/</a>                                             -         -      
+<a href="scalatest_2.10.0-M6/" title="scalatest_2.10.0-M6/">scalatest_2.10.0-M6/</a>                                             -         -      
+<a href="scalatest_2.10.0-M7/" title="scalatest_2.10.0-M7/">scalatest_2.10.0-M7/</a>                                             -         -      
+<a href="scalatest_2.10.0-RC1/" title="scalatest_2.10.0-RC1/">scalatest_2.10.0-RC1/</a>                                            -         -      
+<a href="scalatest_2.10.0-RC2/" title="scalatest_2.10.0-RC2/">scalatest_2.10.0-RC2/</a>                                            -         -      
+<a href="scalatest_2.10.0-RC3/" title="scalatest_2.10.0-RC3/">scalatest_2.10.0-RC3/</a>                                            -         -      
+<a href="scalatest_2.10.0-RC5/" title="scalatest_2.10.0-RC5/">scalatest_2.10.0-RC5/</a>                                            -         -      
+<a href="scalatest_2.11/" title="scalatest_2.11/">scalatest_2.11/</a>                                                  -         -      
+<a href="scalatest_2.11.0-M3/" title="scalatest_2.11.0-M3/">scalatest_2.11.0-M3/</a>                                             -         -      
+<a href="scalatest_2.11.0-M4/" title="scalatest_2.11.0-M4/">scalatest_2.11.0-M4/</a>                                             -         -      
+<a href="scalatest_2.11.0-M5/" title="scalatest_2.11.0-M5/">scalatest_2.11.0-M5/</a>                                             -         -      
+<a href="scalatest_2.11.0-M7/" title="scalatest_2.11.0-M7/">scalatest_2.11.0-M7/</a>                                             -         -      
+<a href="scalatest_2.11.0-M8/" title="scalatest_2.11.0-M8/">scalatest_2.11.0-M8/</a>                                             -         -      
+<a href="scalatest_2.11.0-RC1/" title="scalatest_2.11.0-RC1/">scalatest_2.11.0-RC1/</a>                                            -         -      
+<a href="scalatest_2.11.0-RC2/" title="scalatest_2.11.0-RC2/">scalatest_2.11.0-RC2/</a>                                            -         -      
+<a href="scalatest_2.11.0-RC3/" title="scalatest_2.11.0-RC3/">scalatest_2.11.0-RC3/</a>                                            -         -      
+<a href="scalatest_2.11.0-RC4/" title="scalatest_2.11.0-RC4/">scalatest_2.11.0-RC4/</a>                                            -         -      
+<a href="scalatest_2.12/" title="scalatest_2.12/">scalatest_2.12/</a>                                                  -         -      
+<a href="scalatest_2.12.0-M1/" title="scalatest_2.12.0-M1/">scalatest_2.12.0-M1/</a>                                             -         -      
+<a href="scalatest_2.12.0-M2/" title="scalatest_2.12.0-M2/">scalatest_2.12.0-M2/</a>                                             -         -      
+<a href="scalatest_2.12.0-M3/" title="scalatest_2.12.0-M3/">scalatest_2.12.0-M3/</a>                                             -         -      
+<a href="scalatest_2.12.0-M4/" title="scalatest_2.12.0-M4/">scalatest_2.12.0-M4/</a>                                             -         -      
+<a href="scalatest_2.12.0-M5/" title="scalatest_2.12.0-M5/">scalatest_2.12.0-M5/</a>                                             -         -      
+<a href="scalatest_2.12.0-RC1/" title="scalatest_2.12.0-RC1/">scalatest_2.12.0-RC1/</a>                                            -         -      
+<a href="scalatest_2.12.0-RC2/" title="scalatest_2.12.0-RC2/">scalatest_2.12.0-RC2/</a>                                            -         -      
+<a href="scalatest_2.13.0-M1/" title="scalatest_2.13.0-M1/">scalatest_2.13.0-M1/</a>                                             -         -      
+<a href="scalatest_2.13.0-M2/" title="scalatest_2.13.0-M2/">scalatest_2.13.0-M2/</a>                                             -         -      
+<a href="scalatest_2.13.0-M3/" title="scalatest_2.13.0-M3/">scalatest_2.13.0-M3/</a>                                             -         -      
+<a href="scalatest_2.13.0-M4/" title="scalatest_2.13.0-M4/">scalatest_2.13.0-M4/</a>                                             -         -      
+<a href="scalatest_2.13.0-M5/" title="scalatest_2.13.0-M5/">scalatest_2.13.0-M5/</a>                                             -         -      
+<a href="scalatest_2.13.0-RC1/" title="scalatest_2.13.0-RC1/">scalatest_2.13.0-RC1/</a>                                            -         -      
+<a href="scalatest_2.13.0-RC2/" title="scalatest_2.13.0-RC2/">scalatest_2.13.0-RC2/</a>                                            -         -      
+<a href="scalatest_2.8.0/" title="scalatest_2.8.0/">scalatest_2.8.0/</a>                                                 -         -      
+<a href="scalatest_2.8.1/" title="scalatest_2.8.1/">scalatest_2.8.1/</a>                                                 -         -      
+<a href="scalatest_2.8.2/" title="scalatest_2.8.2/">scalatest_2.8.2/</a>                                                 -         -      
+<a href="scalatest_2.9.0/" title="scalatest_2.9.0/">scalatest_2.9.0/</a>                                                 -         -      
+<a href="scalatest_2.9.0-1/" title="scalatest_2.9.0-1/">scalatest_2.9.0-1/</a>                                               -         -      
+<a href="scalatest_2.9.0.RC3/" title="scalatest_2.9.0.RC3/">scalatest_2.9.0.RC3/</a>                                             -         -      
+<a href="scalatest_2.9.0.RC4/" title="scalatest_2.9.0.RC4/">scalatest_2.9.0.RC4/</a>                                             -         -      
+<a href="scalatest_2.9.1/" title="scalatest_2.9.1/">scalatest_2.9.1/</a>                                                 -         -      
+<a href="scalatest_2.9.1-1/" title="scalatest_2.9.1-1/">scalatest_2.9.1-1/</a>                                               -         -      
+<a href="scalatest_2.9.1-1-RC1/" title="scalatest_2.9.1-1-RC1/">scalatest_2.9.1-1-RC1/</a>                                           -         -      
+<a href="scalatest_2.9.2/" title="scalatest_2.9.2/">scalatest_2.9.2/</a>                                                 -         -      
+<a href="scalatest_2.9.3/" title="scalatest_2.9.3/">scalatest_2.9.3/</a>                                                 -         -      
+<a href="scalatest_2.9.3-RC1/" title="scalatest_2.9.3-RC1/">scalatest_2.9.3-RC1/</a>                                             -         -      
+<a href="scalatest_2.9.3-RC2/" title="scalatest_2.9.3-RC2/">scalatest_2.9.3-RC2/</a>                                             -         -      
+<a href="scalatest_native0.3_2.11/" title="scalatest_native0.3_2.11/">scalatest_native0.3_2.11/</a>                                        -         -      
+<a href="scalatest_sjs0.6_2.10/" title="scalatest_sjs0.6_2.10/">scalatest_sjs0.6_2.10/</a>                                           -         -      
+<a href="scalatest_sjs0.6_2.11/" title="scalatest_sjs0.6_2.11/">scalatest_sjs0.6_2.11/</a>                                           -         -      
+<a href="scalatest_sjs0.6_2.12/" title="scalatest_sjs0.6_2.12/">scalatest_sjs0.6_2.12/</a>                                           -         -      
+<a href="scalatest_sjs0.6_2.12.0-M3/" title="scalatest_sjs0.6_2.12.0-M3/">scalatest_sjs0.6_2.12.0-M3/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.12.0-M4/" title="scalatest_sjs0.6_2.12.0-M4/">scalatest_sjs0.6_2.12.0-M4/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.12.0-M5/" title="scalatest_sjs0.6_2.12.0-M5/">scalatest_sjs0.6_2.12.0-M5/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.12.0-RC1/" title="scalatest_sjs0.6_2.12.0-RC1/">scalatest_sjs0.6_2.12.0-RC1/</a>                                     -         -      
+<a href="scalatest_sjs0.6_2.12.0-RC2/" title="scalatest_sjs0.6_2.12.0-RC2/">scalatest_sjs0.6_2.12.0-RC2/</a>                                     -         -      
+<a href="scalatest_sjs0.6_2.13.0-M1/" title="scalatest_sjs0.6_2.13.0-M1/">scalatest_sjs0.6_2.13.0-M1/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.13.0-M2/" title="scalatest_sjs0.6_2.13.0-M2/">scalatest_sjs0.6_2.13.0-M2/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.13.0-M3/" title="scalatest_sjs0.6_2.13.0-M3/">scalatest_sjs0.6_2.13.0-M3/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.13.0-M4/" title="scalatest_sjs0.6_2.13.0-M4/">scalatest_sjs0.6_2.13.0-M4/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.13.0-M5/" title="scalatest_sjs0.6_2.13.0-M5/">scalatest_sjs0.6_2.13.0-M5/</a>                                      -         -      
+<a href="scalatest_sjs0.6_2.13.0-RC1/" title="scalatest_sjs0.6_2.13.0-RC1/">scalatest_sjs0.6_2.13.0-RC1/</a>                                     -         -      
+<a href="scalatest_sjs0.6_2.13.0-RC2/" title="scalatest_sjs0.6_2.13.0-RC2/">scalatest_sjs0.6_2.13.0-RC2/</a>                                     -         -      
+<a href="scalatest_sjs1.0.0-M3_2.11/" title="scalatest_sjs1.0.0-M3_2.11/">scalatest_sjs1.0.0-M3_2.11/</a>                                      -         -      
+<a href="scalatest_sjs1.0.0-M3_2.12/" title="scalatest_sjs1.0.0-M3_2.12/">scalatest_sjs1.0.0-M3_2.12/</a>                                      -         -      
+<a href="scalatest_sjs1.0.0-M7_2.11/" title="scalatest_sjs1.0.0-M7_2.11/">scalatest_sjs1.0.0-M7_2.11/</a>                                      -         -      
+<a href="scalatest_sjs1.0.0-M7_2.12/" title="scalatest_sjs1.0.0-M7_2.12/">scalatest_sjs1.0.0-M7_2.12/</a>                                      -         -      
+<a href="scalatest_sjs1.0.0-M7_2.13.0-RC1/" title="scalatest_sjs1.0.0-M7_2.13.0-RC1/">scalatest_sjs1.0.0-M7_2.13.0-RC1/</a>                                -         -      
+<a href="scalatest_sjs1.0.0-M7_2.13.0-RC2/" title="scalatest_sjs1.0.0-M7_2.13.0-RC2/">scalatest_sjs1.0.0-M7_2.13.0-RC2/</a>                                -         -      
+<a href="scalatestjs_sjs0.6_2.10/" title="scalatestjs_sjs0.6_2.10/">scalatestjs_sjs0.6_2.10/</a>                                         -         -      
+<a href="scalatestjs_sjs0.6_2.11/" title="scalatestjs_sjs0.6_2.11/">scalatestjs_sjs0.6_2.11/</a>                                         -         -      
+<a href="scalatestjs_sjs0.6_2.12/" title="scalatestjs_sjs0.6_2.12/">scalatestjs_sjs0.6_2.12/</a>                                         -         -      
+<a href="scalatestjs_sjs0.6_2.13.0-M4/" title="scalatestjs_sjs0.6_2.13.0-M4/">scalatestjs_sjs0.6_2.13.0-M4/</a>                                    -         -      
+<a href="scalatestjs_sjs1.0.0-M3_2.11/" title="scalatestjs_sjs1.0.0-M3_2.11/">scalatestjs_sjs1.0.0-M3_2.11/</a>                                    -         -      
+<a href="scalatestjs_sjs1.0.0-M3_2.12/" title="scalatestjs_sjs1.0.0-M3_2.12/">scalatestjs_sjs1.0.0-M3_2.12/</a>                                    -         -      
+<a href="test-interface/" title="test-interface/">test-interface/</a>                                                  -         -      
+<a href="maven-metadata.xml" title="maven-metadata.xml">maven-metadata.xml</a>                                2017-12-01 20:15       243      
+<a href="maven-metadata.xml.md5" title="maven-metadata.xml.md5">maven-metadata.xml.md5</a>                            2017-12-01 20:15        32      
+<a href="maven-metadata.xml.sha1" title="maven-metadata.xml.sha1">maven-metadata.xml.sha1</a>                           2017-12-01 20:15        40      
+		</pre>
+	</main>
+	<hr/>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/lib/datasource/sbt-plugin/__fixtures__/sbt-plugins-index.html b/lib/datasource/sbt-plugin/__fixtures__/sbt-plugins-index.html
new file mode 100644
index 0000000000000000000000000000000000000000..8b6d78e7179eec2c25a074c7946fbf7cddd2b87e
--- /dev/null
+++ b/lib/datasource/sbt-plugin/__fixtures__/sbt-plugins-index.html
@@ -0,0 +1,354 @@
+<html>
+<head>
+</head>
+<body>
+<pre><a href="README.md">README.md</a></pre>
+<pre><a href="au.com.onegeek/">au.com.onegeek/</a></pre>
+<pre><a href="bavadim/">bavadim/</a></pre>
+<pre><a href="be.venneborg.sbt/">be.venneborg.sbt/</a></pre>
+<pre><a href="biz.cgta/">biz.cgta/</a></pre>
+<pre><a href="br.com.handit/">br.com.handit/</a></pre>
+<pre><a href="cc.spray/">cc.spray/</a></pre>
+<pre><a href="ch.epfl.scala.index/">ch.epfl.scala.index/</a></pre>
+<pre><a href="ch.epfl.scala/">ch.epfl.scala/</a></pre>
+<pre><a href="ch.jodersky/">ch.jodersky/</a></pre>
+<pre><a href="ch.wavein/">ch.wavein/</a></pre>
+<pre><a href="ch/">ch/</a></pre>
+<pre><a href="chainkite/">chainkite/</a></pre>
+<pre><a href="co.vitaler/">co.vitaler/</a></pre>
+<pre><a href="co/">co/</a></pre>
+<pre><a href="codes.reactive.sbt/">codes.reactive.sbt/</a></pre>
+<pre><a href="com.adelegue/">com.adelegue/</a></pre>
+<pre><a href="com.agilogy/">com.agilogy/</a></pre>
+<pre><a href="com.alpeb/">com.alpeb/</a></pre>
+<pre><a href="com.anadeainc/">com.anadeainc/</a></pre>
+<pre><a href="com.aol.sbt/">com.aol.sbt/</a></pre>
+<pre><a href="com.benmccann/">com.benmccann/</a></pre>
+<pre><a href="com.bicou.sbt/">com.bicou.sbt/</a></pre>
+<pre><a href="com.birdhowl/">com.birdhowl/</a></pre>
+<pre><a href="com.blstream/">com.blstream/</a></pre>
+<pre><a href="com.bowlingx/">com.bowlingx/</a></pre>
+<pre><a href="com.byteground/">com.byteground/</a></pre>
+<pre><a href="com.cavorite/">com.cavorite/</a></pre>
+<pre><a href="com.cedware/">com.cedware/</a></pre>
+<pre><a href="com.clever-age/">com.clever-age/</a></pre>
+<pre><a href="com.codecommit/">com.codecommit/</a></pre>
+<pre><a href="com.culpin.team/">com.culpin.team/</a></pre>
+<pre><a href="com.dancingcode/">com.dancingcode/</a></pre>
+<pre><a href="com.databricks/">com.databricks/</a></pre>
+<pre><a href="com.dayslar.play/">com.dayslar.play/</a></pre>
+<pre><a href="com.dispalt.pop/">com.dispalt.pop/</a></pre>
+<pre><a href="com.dispalt.relay/">com.dispalt.relay/</a></pre>
+<pre><a href="com.dscleaver.sbt/">com.dscleaver.sbt/</a></pre>
+<pre><a href="com.dslplatform/">com.dslplatform/</a></pre>
+<pre><a href="com.dwijnand.sbtprojectgraph/">com.dwijnand.sbtprojectgraph/</a></pre>
+<pre><a href="com.dwijnand/">com.dwijnand/</a></pre>
+<pre><a href="com.earldouglas/">com.earldouglas/</a></pre>
+<pre><a href="com.eed3si9n/">com.eed3si9n/</a></pre>
+<pre><a href="com.eltimn/">com.eltimn/</a></pre>
+<pre><a href="com.esdrasbeleza/">com.esdrasbeleza/</a></pre>
+<pre><a href="com.evenfinancial/">com.evenfinancial/</a></pre>
+<pre><a href="com.geezeo/">com.geezeo/</a></pre>
+<pre><a href="com.geirsson/">com.geirsson/</a></pre>
+<pre><a href="com.gilt.sbt/">com.gilt.sbt/</a></pre>
+<pre><a href="com.github.DavidPerezIngeniero/">com.github.DavidPerezIngeniero/</a></pre>
+<pre><a href="com.github.aafa/">com.github.aafa/</a></pre>
+<pre><a href="com.github.ahjohannessen/">com.github.ahjohannessen/</a></pre>
+<pre><a href="com.github.akiomik/">com.github.akiomik/</a></pre>
+<pre><a href="com.github.bootlog/">com.github.bootlog/</a></pre>
+<pre><a href="com.github.casualjim/">com.github.casualjim/</a></pre>
+<pre><a href="com.github.catap/">com.github.catap/</a></pre>
+<pre><a href="com.github.cb372/">com.github.cb372/</a></pre>
+<pre><a href="com.github.citrum.webby/">com.github.citrum.webby/</a></pre>
+<pre><a href="com.github.crakjie/">com.github.crakjie/</a></pre>
+<pre><a href="com.github.cuzfrog/">com.github.cuzfrog/</a></pre>
+<pre><a href="com.github.daniel-shuy/">com.github.daniel-shuy/</a></pre>
+<pre><a href="com.github.davidpeklak/">com.github.davidpeklak/</a></pre>
+<pre><a href="com.github.ddispaltro/">com.github.ddispaltro/</a></pre>
+<pre><a href="com.github.dwhjames/">com.github.dwhjames/</a></pre>
+<pre><a href="com.github.dwickern/">com.github.dwickern/</a></pre>
+<pre><a href="com.github.gpgekko/">com.github.gpgekko/</a></pre>
+<pre><a href="com.github.gseitz/">com.github.gseitz/</a></pre>
+<pre><a href="com.github.inthenow/">com.github.inthenow/</a></pre>
+<pre><a href="com.github.izhangzhihao/">com.github.izhangzhihao/</a></pre>
+<pre><a href="com.github.jeffreyolchovy/">com.github.jeffreyolchovy/</a></pre>
+<pre><a href="com.github.jodersky/">com.github.jodersky/</a></pre>
+<pre><a href="com.github.marceloemanoel/">com.github.marceloemanoel/</a></pre>
+<pre><a href="com.github.masseguillaume/">com.github.masseguillaume/</a></pre>
+<pre><a href="com.github.mkroli/">com.github.mkroli/</a></pre>
+<pre><a href="com.github.mmizutani/">com.github.mmizutani/</a></pre>
+<pre><a href="com.github.mvallerie/">com.github.mvallerie/</a></pre>
+<pre><a href="com.github.mwz/">com.github.mwz/</a></pre>
+<pre><a href="com.github.nyavro/">com.github.nyavro/</a></pre>
+<pre><a href="com.github.pinguinson/">com.github.pinguinson/</a></pre>
+<pre><a href="com.github.play2war/">com.github.play2war/</a></pre>
+<pre><a href="com.github.plippe/">com.github.plippe/</a></pre>
+<pre><a href="com.github.qualysis/">com.github.qualysis/</a></pre>
+<pre><a href="com.github.retronym/">com.github.retronym/</a></pre>
+<pre><a href="com.github.saint1991/">com.github.saint1991/</a></pre>
+<pre><a href="com.github.saurfang/">com.github.saurfang/</a></pre>
+<pre><a href="com.github.sbt/">com.github.sbt/</a></pre>
+<pre><a href="com.github.shanbin/">com.github.shanbin/</a></pre>
+<pre><a href="com.github.shmishleniy/">com.github.shmishleniy/</a></pre>
+<pre><a href="com.github.stonexx.sbt/">com.github.stonexx.sbt/</a></pre>
+<pre><a href="com.github.tptodorov/">com.github.tptodorov/</a></pre>
+<pre><a href="com.github.wookietreiber/">com.github.wookietreiber/</a></pre>
+<pre><a href="com.github.zainab-ali/">com.github.zainab-ali/</a></pre>
+<pre><a href="com.glngn/">com.glngn/</a></pre>
+<pre><a href="com.googlecode.sbt-rats/">com.googlecode.sbt-rats/</a></pre>
+<pre><a href="com.gu/">com.gu/</a></pre>
+<pre><a href="com.hanhuy.sbt/">com.hanhuy.sbt/</a></pre>
+<pre><a href="com.heroku/">com.heroku/</a></pre>
+<pre><a href="com.hevylight/">com.hevylight/</a></pre>
+<pre><a href="com.hootsuite/">com.hootsuite/</a></pre>
+<pre><a href="com.hpe.sbt/">com.hpe.sbt/</a></pre>
+<pre><a href="com.iheart/">com.iheart/</a></pre>
+<pre><a href="com.impactua/">com.impactua/</a></pre>
+<pre><a href="com.jamesneve/">com.jamesneve/</a></pre>
+<pre><a href="com.jamesward/">com.jamesward/</a></pre>
+<pre><a href="com.jatescher/">com.jatescher/</a></pre>
+<pre><a href="com.jm2dev/">com.jm2dev/</a></pre>
+<pre><a href="com.jmparsons.sbt/">com.jmparsons.sbt/</a></pre>
+<pre><a href="com.jmparsons/">com.jmparsons/</a></pre>
+<pre><a href="com.joescii/">com.joescii/</a></pre>
+<pre><a href="com.joshcough/">com.joshcough/</a></pre>
+<pre><a href="com.jsuereth/">com.jsuereth/</a></pre>
+<pre><a href="com.kailuowang/">com.kailuowang/</a></pre>
+<pre><a href="com.kalmanb.sbt/">com.kalmanb.sbt/</a></pre>
+<pre><a href="com.lenioapp/">com.lenioapp/</a></pre>
+<pre><a href="com.lightbend.akka.grpc/">com.lightbend.akka.grpc/</a></pre>
+<pre><a href="com.lightbend.akka/">com.lightbend.akka/</a></pre>
+<pre><a href="com.lightbend.conductr/">com.lightbend.conductr/</a></pre>
+<pre><a href="com.lightbend.lagom/">com.lightbend.lagom/</a></pre>
+<pre><a href="com.lightbend.paradox/">com.lightbend.paradox/</a></pre>
+<pre><a href="com.lightbend.rp/">com.lightbend.rp/</a></pre>
+<pre><a href="com.lightbend.sbt/">com.lightbend.sbt/</a></pre>
+<pre><a href="com.lightbend/">com.lightbend/</a></pre>
+<pre><a href="com.linkedin.sbt-restli/">com.linkedin.sbt-restli/</a></pre>
+<pre><a href="com.localytics/">com.localytics/</a></pre>
+<pre><a href="com.mariussoutier.sbt/">com.mariussoutier.sbt/</a></pre>
+<pre><a href="com.markatta/">com.markatta/</a></pre>
+<pre><a href="com.micronautics/">com.micronautics/</a></pre>
+<pre><a href="com.mintbeans/">com.mintbeans/</a></pre>
+<pre><a href="com.mojolly.scalate/">com.mojolly.scalate/</a></pre>
+<pre><a href="com.nike.redwiggler.sbt/">com.nike.redwiggler.sbt/</a></pre>
+<pre><a href="com.novocode/">com.novocode/</a></pre>
+<pre><a href="com.olaq/">com.olaq/</a></pre>
+<pre><a href="com.oliverlockwood/">com.oliverlockwood/</a></pre>
+<pre><a href="com.omervk/">com.omervk/</a></pre>
+<pre><a href="com.opi.lil/">com.opi.lil/</a></pre>
+<pre><a href="com.oradian.sbt/">com.oradian.sbt/</a></pre>
+<pre><a href="com.qonceptual.sbt/">com.qonceptual.sbt/</a></pre>
+<pre><a href="com.quadstingray/">com.quadstingray/</a></pre>
+<pre><a href="com.rberenguel/">com.rberenguel/</a></pre>
+<pre><a href="com.roperzh.sbt/">com.roperzh.sbt/</a></pre>
+<pre><a href="com.saikocat/">com.saikocat/</a></pre>
+<pre><a href="com.sc.sbt/">com.sc.sbt/</a></pre>
+<pre><a href="com.scalakata.metadoc/">com.scalakata.metadoc/</a></pre>
+<pre><a href="com.scalakata/">com.scalakata/</a></pre>
+<pre><a href="com.scalapenos/">com.scalapenos/</a></pre>
+<pre><a href="com.seroperson/">com.seroperson/</a></pre>
+<pre><a href="com.servicerocket/">com.servicerocket/</a></pre>
+<pre><a href="com.simianquant/">com.simianquant/</a></pre>
+<pre><a href="com.simplytyped/">com.simplytyped/</a></pre>
+<pre><a href="com.sirocchj/">com.sirocchj/</a></pre>
+<pre><a href="com.sksamuel.sbt-versions/">com.sksamuel.sbt-versions/</a></pre>
+<pre><a href="com.sksamuel.scala-scales/">com.sksamuel.scala-scales/</a></pre>
+<pre><a href="com.sksamuel.scapegoat/">com.sksamuel.scapegoat/</a></pre>
+<pre><a href="com.sksamuel.scoverage/">com.sksamuel.scoverage/</a></pre>
+<pre><a href="com.sksamuel.scribble/">com.sksamuel.scribble/</a></pre>
+<pre><a href="com.sohoffice/">com.sohoffice/</a></pre>
+<pre><a href="com.swoval/">com.swoval/</a></pre>
+<pre><a href="com.tapad.sbt/">com.tapad.sbt/</a></pre>
+<pre><a href="com.teambytes.sbt/">com.teambytes.sbt/</a></pre>
+<pre><a href="com.thesamet/">com.thesamet/</a></pre>
+<pre><a href="com.thoughtworks/">com.thoughtworks/</a></pre>
+<pre><a href="com.timushev.sbt/">com.timushev.sbt/</a></pre>
+<pre><a href="com.tmzint.sbt/">com.tmzint.sbt/</a></pre>
+<pre><a href="com.trafficland/">com.trafficland/</a></pre>
+<pre><a href="com.twitter/">com.twitter/</a></pre>
+<pre><a href="com.typelead/">com.typelead/</a></pre>
+<pre><a href="com.typesafe.akka/">com.typesafe.akka/</a></pre>
+<pre><a href="com.typesafe.conductr/">com.typesafe.conductr/</a></pre>
+<pre><a href="com.typesafe.play/">com.typesafe.play/</a></pre>
+<pre><a href="com.typesafe.reactiveruntime/">com.typesafe.reactiveruntime/</a></pre>
+<pre><a href="com.typesafe.sbt/">com.typesafe.sbt/</a></pre>
+<pre><a href="com.typesafe.sbteclipse/">com.typesafe.sbteclipse/</a></pre>
+<pre><a href="com.typesafe.tmp/">com.typesafe.tmp/</a></pre>
+<pre><a href="com.typesafe.typesafeconductr/">com.typesafe.typesafeconductr/</a></pre>
+<pre><a href="com.typesafe/">com.typesafe/</a></pre>
+<pre><a href="com.untyped/">com.untyped/</a></pre>
+<pre><a href="com.vmunier/">com.vmunier/</a></pre>
+<pre><a href="com.xvyg/">com.xvyg/</a></pre>
+<pre><a href="com.yetu/">com.yetu/</a></pre>
+<pre><a href="com.zlad/">com.zlad/</a></pre>
+<pre><a href="com/">com/</a></pre>
+<pre><a href="coreyconnor/">coreyconnor/</a></pre>
+<pre><a href="cuipengfei/">cuipengfei/</a></pre>
+<pre><a href="de.cbley/">de.cbley/</a></pre>
+<pre><a href="de.heikoseeberger/">de.heikoseeberger/</a></pre>
+<pre><a href="de.jerman/">de.jerman/</a></pre>
+<pre><a href="de.johoop/">de.johoop/</a></pre>
+<pre><a href="de.knutwalker/">de.knutwalker/</a></pre>
+<pre><a href="de.mediacluster.sbt/">de.mediacluster.sbt/</a></pre>
+<pre><a href="de.oakgrove/">de.oakgrove/</a></pre>
+<pre><a href="de.sciss/">de.sciss/</a></pre>
+<pre><a href="edu.umass.cs/">edu.umass.cs/</a></pre>
+<pre><a href="ee.risk.sbt.plugins/">ee.risk.sbt.plugins/</a></pre>
+<pre><a href="emchristiansen/">emchristiansen/</a></pre>
+<pre><a href="es.webet.play/">es.webet.play/</a></pre>
+<pre><a href="es.webet.sbt/">es.webet.sbt/</a></pre>
+<pre><a href="eu.arthepsy.sbt/">eu.arthepsy.sbt/</a></pre>
+<pre><a href="eu.getintheloop/">eu.getintheloop/</a></pre>
+<pre><a href="eu.svez/">eu.svez/</a></pre>
+<pre><a href="fi.jumi.sbt/">fi.jumi.sbt/</a></pre>
+<pre><a href="fi.onesto.sbt/">fi.onesto.sbt/</a></pre>
+<pre><a href="g00dnatur3/">g00dnatur3/</a></pre>
+<pre><a href="github.com/">github.com/</a></pre>
+<pre><a href="glngn/">glngn/</a></pre>
+<pre><a href="im.actor/">im.actor/</a></pre>
+<pre><a href="im.dlg/">im.dlg/</a></pre>
+<pre><a href="in.drajit.sbt/">in.drajit.sbt/</a></pre>
+<pre><a href="info.pdalpra/">info.pdalpra/</a></pre>
+<pre><a href="io.buildo/">io.buildo/</a></pre>
+<pre><a href="io.dapas/">io.dapas/</a></pre>
+<pre><a href="io.finstack/">io.finstack/</a></pre>
+<pre><a href="io.gatling.frontline/">io.gatling.frontline/</a></pre>
+<pre><a href="io.gatling/">io.gatling/</a></pre>
+<pre><a href="io.github.chikei/">io.github.chikei/</a></pre>
+<pre><a href="io.github.darkyenus/">io.github.darkyenus/</a></pre>
+<pre><a href="io.github.davidgregory084/">io.github.davidgregory084/</a></pre>
+<pre><a href="io.github.henders/">io.github.henders/</a></pre>
+<pre><a href="io.github.jeremyrsmith/">io.github.jeremyrsmith/</a></pre>
+<pre><a href="io.github.sugakandrey/">io.github.sugakandrey/</a></pre>
+<pre><a href="io.jenner/">io.jenner/</a></pre>
+<pre><a href="io.kamon/">io.kamon/</a></pre>
+<pre><a href="io.methvin/">io.methvin/</a></pre>
+<pre><a href="io.michaelallen.mustache/">io.michaelallen.mustache/</a></pre>
+<pre><a href="io.prediction/">io.prediction/</a></pre>
+<pre><a href="io.regadas/">io.regadas/</a></pre>
+<pre><a href="io.scalac/">io.scalac/</a></pre>
+<pre><a href="io.shaka/">io.shaka/</a></pre>
+<pre><a href="io.spray/">io.spray/</a></pre>
+<pre><a href="io.strd.build/">io.strd.build/</a></pre>
+<pre><a href="io.sysa/">io.sysa/</a></pre>
+<pre><a href="io.teamscala.sbt/">io.teamscala.sbt/</a></pre>
+<pre><a href="io.xogus/">io.xogus/</a></pre>
+<pre><a href="io.zastoupil/">io.zastoupil/</a></pre>
+<pre><a href="io.zman/">io.zman/</a></pre>
+<pre><a href="it.paperdragon/">it.paperdragon/</a></pre>
+<pre><a href="ivy-1.4.xml">ivy-1.4.xml</a></pre>
+<pre><a href="jsuereth/">jsuereth/</a></pre>
+<pre><a href="kevinlee/">kevinlee/</a></pre>
+<pre><a href="laughedelic/">laughedelic/</a></pre>
+<pre><a href="lt.dvim.authors/">lt.dvim.authors/</a></pre>
+<pre><a href="lt.dvim.paradox/">lt.dvim.paradox/</a></pre>
+<pre><a href="me.amanj/">me.amanj/</a></pre>
+<pre><a href="me.andreionut/">me.andreionut/</a></pre>
+<pre><a href="me.lessis/">me.lessis/</a></pre>
+<pre><a href="me.paulschwarz/">me.paulschwarz/</a></pre>
+<pre><a href="me.penkov/">me.penkov/</a></pre>
+<pre><a href="me.rschatz/">me.rschatz/</a></pre>
+<pre><a href="me.tfeng.sbt-plugins/">me.tfeng.sbt-plugins/</a></pre>
+<pre><a href="me.vican.jorge/">me.vican.jorge/</a></pre>
+<pre><a href="me/">me/</a></pre>
+<pre><a href="mrken/">mrken/</a></pre>
+<pre><a href="name.de-vries/">name.de-vries/</a></pre>
+<pre><a href="name.heikoseeberger.groll/">name.heikoseeberger.groll/</a></pre>
+<pre><a href="name.heikoseeberger.sbt.groll/">name.heikoseeberger.sbt.groll/</a></pre>
+<pre><a href="name.heikoseeberger.sbt.properties/">name.heikoseeberger.sbt.properties/</a></pre>
+<pre><a href="name.heikoseeberger/">name.heikoseeberger/</a></pre>
+<pre><a href="net.aichler/">net.aichler/</a></pre>
+<pre><a href="net.bytebuddy/">net.bytebuddy/</a></pre>
+<pre><a href="net.bzzt/">net.bzzt/</a></pre>
+<pre><a href="net.contentobjects.jnotify/">net.contentobjects.jnotify/</a></pre>
+<pre><a href="net.eamelink.sbt/">net.eamelink.sbt/</a></pre>
+<pre><a href="net.eigenvalue/">net.eigenvalue/</a></pre>
+<pre><a href="net.ground5hark.sbt/">net.ground5hark.sbt/</a></pre>
+<pre><a href="net.katsstuff/">net.katsstuff/</a></pre>
+<pre><a href="net.lullabyte/">net.lullabyte/</a></pre>
+<pre><a href="net.nornagon/">net.nornagon/</a></pre>
+<pre><a href="net.pishen/">net.pishen/</a></pre>
+<pre><a href="net.ssanj/">net.ssanj/</a></pre>
+<pre><a href="net.thunderklaus/">net.thunderklaus/</a></pre>
+<pre><a href="net.virtual-void/">net.virtual-void/</a></pre>
+<pre><a href="nl.anchormen.sbt/">nl.anchormen.sbt/</a></pre>
+<pre><a href="nl.codestar/">nl.codestar/</a></pre>
+<pre><a href="nz.co.bottech/">nz.co.bottech/</a></pre>
+<pre><a href="ohnosequences/">ohnosequences/</a></pre>
+<pre><a href="org.aleastChs/">org.aleastChs/</a></pre>
+<pre><a href="org.allenai.plugins/">org.allenai.plugins/</a></pre>
+<pre><a href="org.bitbucket.inkytonik.sbt-rats/">org.bitbucket.inkytonik.sbt-rats/</a></pre>
+<pre><a href="org.bjason/">org.bjason/</a></pre>
+<pre><a href="org.clapper/">org.clapper/</a></pre>
+<pre><a href="org.cmj/">org.cmj/</a></pre>
+<pre><a href="org.coursera.courier/">org.coursera.courier/</a></pre>
+<pre><a href="org.coursera.naptime/">org.coursera.naptime/</a></pre>
+<pre><a href="org.doolse/">org.doolse/</a></pre>
+<pre><a href="org.duhemm/">org.duhemm/</a></pre>
+<pre><a href="org.foundweekends.conscript/">org.foundweekends.conscript/</a></pre>
+<pre><a href="org.foundweekends.giter8/">org.foundweekends.giter8/</a></pre>
+<pre><a href="org.foundweekends/">org.foundweekends/</a></pre>
+<pre><a href="org.github.ngbinh/">org.github.ngbinh/</a></pre>
+<pre><a href="org.h3nk3/">org.h3nk3/</a></pre>
+<pre><a href="org.hypercomp/">org.hypercomp/</a></pre>
+<pre><a href="org.irundaia.sbt/">org.irundaia.sbt/</a></pre>
+<pre><a href="org.jetbrains.teamcity.plugins/">org.jetbrains.teamcity.plugins/</a></pre>
+<pre><a href="org.jetbrains/">org.jetbrains/</a></pre>
+<pre><a href="org.jruby/">org.jruby/</a></pre>
+<pre><a href="org.lifty/">org.lifty/</a></pre>
+<pre><a href="org.lyranthe.sbt/">org.lyranthe.sbt/</a></pre>
+<pre><a href="org.madoushi.sbt/">org.madoushi.sbt/</a></pre>
+<pre><a href="org.make/">org.make/</a></pre>
+<pre><a href="org.neolin.sbt/">org.neolin.sbt/</a></pre>
+<pre><a href="org.netbeans.nbsbt/">org.netbeans.nbsbt/</a></pre>
+<pre><a href="org.opencommercesearch/">org.opencommercesearch/</a></pre>
+<pre><a href="org.pitest.sbt/">org.pitest.sbt/</a></pre>
+<pre><a href="org.planet42/">org.planet42/</a></pre>
+<pre><a href="org.portable-scala/">org.portable-scala/</a></pre>
+<pre><a href="org.roboscala/">org.roboscala/</a></pre>
+<pre><a href="org.scala-android/">org.scala-android/</a></pre>
+<pre><a href="org.scala-js/">org.scala-js/</a></pre>
+<pre><a href="org.scala-lang.modules.scalajs/">org.scala-lang.modules.scalajs/</a></pre>
+<pre><a href="org.scala-lang.modules/">org.scala-lang.modules/</a></pre>
+<pre><a href="org.scala-native/">org.scala-native/</a></pre>
+<pre><a href="org.scala-sbt.plugins/">org.scala-sbt.plugins/</a></pre>
+<pre><a href="org.scala-sbt/">org.scala-sbt/</a></pre>
+<pre><a href="org.scalameta/">org.scalameta/</a></pre>
+<pre><a href="org.scalastyle/">org.scalastyle/</a></pre>
+<pre><a href="org.scalatra.requirejs/">org.scalatra.requirejs/</a></pre>
+<pre><a href="org.scalatra.sbt/">org.scalatra.sbt/</a></pre>
+<pre><a href="org.scalavista/">org.scalavista/</a></pre>
+<pre><a href="org.scoverage/">org.scoverage/</a></pre>
+<pre><a href="org.tpolecat/">org.tpolecat/</a></pre>
+<pre><a href="org.typelevel/">org.typelevel/</a></pre>
+<pre><a href="org.zjulambda.scala/">org.zjulambda.scala/</a></pre>
+<pre><a href="org/">org/</a></pre>
+<pre><a href="pl.otrebski/">pl.otrebski/</a></pre>
+<pre><a href="pl.project13.sbt/">pl.project13.sbt/</a></pre>
+<pre><a href="pl.project13.scala/">pl.project13.scala/</a></pre>
+<pre><a href="pl.tues/">pl.tues/</a></pre>
+<pre><a href="rocks.muki/">rocks.muki/</a></pre>
+<pre><a href="ru.dokwork/">ru.dokwork/</a></pre>
+<pre><a href="ru.kotobotov/">ru.kotobotov/</a></pre>
+<pre><a href="ru.pravo/">ru.pravo/</a></pre>
+<pre><a href="sbt-plugin-releases/">sbt-plugin-releases/</a></pre>
+<pre><a href="sbt-texttest-1.4-javadoc.jar">sbt-texttest-1.4-javadoc.jar</a></pre>
+<pre><a href="sbt-texttest-1.4-sources.jar">sbt-texttest-1.4-sources.jar</a></pre>
+<pre><a href="sbt-texttest-1.4.jar">sbt-texttest-1.4.jar</a></pre>
+<pre><a href="sbt/">sbt/</a></pre>
+<pre><a href="scalajs-react-interface/">scalajs-react-interface/</a></pre>
+<pre><a href="se.sisyfosdigital.sbt/">se.sisyfosdigital.sbt/</a></pre>
+<pre><a href="se.yobriefca/">se.yobriefca/</a></pre>
+<pre><a href="securesocial/">securesocial/</a></pre>
+<pre><a href="spartakus/">spartakus/</a></pre>
+<pre><a href="sqlpt/">sqlpt/</a></pre>
+<pre><a href="stejskal/">stejskal/</a></pre>
+<pre><a href="tech.ant8e/">tech.ant8e/</a></pre>
+<pre><a href="ub-interactive/">ub-interactive/</a></pre>
+<pre><a href="uk.co.josephearl/">uk.co.josephearl/</a></pre>
+<pre><a href="uk.co.randomcoding/">uk.co.randomcoding/</a></pre>
+<pre><a href="works.mesh/">works.mesh/</a></pre>
+<pre><a href="woshilaiceshide/">woshilaiceshide/</a></pre>
+</body>
+</html>
diff --git a/lib/datasource/sbt-plugin/__snapshots__/index.spec.ts.snap b/lib/datasource/sbt-plugin/__snapshots__/index.spec.ts.snap
new file mode 100644
index 0000000000000000000000000000000000000000..10bcead987b6215d176e9ba3f3d636344b7a5db9
--- /dev/null
+++ b/lib/datasource/sbt-plugin/__snapshots__/index.spec.ts.snap
@@ -0,0 +1,537 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`datasource/sbt parses Maven index directory 1`] = `
+Array [
+  "autofix-3.0.6_2.11",
+  "autofix-3.0.6_2.12",
+  "autofix-3.0.8_2.11",
+  "autofix-3.0.8_2.12",
+  "scalatest",
+  "scalatest-all_2.10",
+  "scalatest-all_2.11",
+  "scalatest-all_sjs0.6_2.10",
+  "scalatest-all_sjs0.6_2.11",
+  "scalatest-app_2.10",
+  "scalatest-app_2.11",
+  "scalatest-app_2.12",
+  "scalatest-app_2.12.0-M3",
+  "scalatest-app_2.12.0-M4",
+  "scalatest-app_2.12.0-M5",
+  "scalatest-app_2.12.0-RC1",
+  "scalatest-app_2.12.0-RC2",
+  "scalatest-app_2.13.0-M1",
+  "scalatest-app_2.13.0-M2",
+  "scalatest-app_2.13.0-M3",
+  "scalatest-app_2.13.0-M4",
+  "scalatest-app_2.13.0-M5",
+  "scalatest-app_2.13.0-RC1",
+  "scalatest-app_2.13.0-RC2",
+  "scalatest-app_native0.3_2.11",
+  "scalatest-app_sjs0.6_2.10",
+  "scalatest-app_sjs0.6_2.11",
+  "scalatest-app_sjs0.6_2.12",
+  "scalatest-app_sjs0.6_2.12.0-M3",
+  "scalatest-app_sjs0.6_2.12.0-M4",
+  "scalatest-app_sjs0.6_2.12.0-M5",
+  "scalatest-app_sjs0.6_2.12.0-RC1",
+  "scalatest-app_sjs0.6_2.12.0-RC2",
+  "scalatest-app_sjs0.6_2.13.0-M1",
+  "scalatest-app_sjs0.6_2.13.0-M2",
+  "scalatest-app_sjs0.6_2.13.0-M3",
+  "scalatest-app_sjs0.6_2.13.0-M4",
+  "scalatest-app_sjs0.6_2.13.0-M5",
+  "scalatest-app_sjs0.6_2.13.0-RC1",
+  "scalatest-app_sjs0.6_2.13.0-RC2",
+  "scalatest-app_sjs1.0.0-M3_2.11",
+  "scalatest-app_sjs1.0.0-M3_2.12",
+  "scalatest-app_sjs1.0.0-M7_2.11",
+  "scalatest-app_sjs1.0.0-M7_2.12",
+  "scalatest-app_sjs1.0.0-M7_2.13.0-RC1",
+  "scalatest-app_sjs1.0.0-M7_2.13.0-RC2",
+  "scalatest-core_2.10",
+  "scalatest-core_2.11",
+  "scalatest-core_sjs0.6_2.10",
+  "scalatest-core_sjs0.6_2.11",
+  "scalatest-easymock_2.10",
+  "scalatest-easymock_2.11",
+  "scalatest-featurespec_2.10",
+  "scalatest-featurespec_2.11",
+  "scalatest-featurespec_sjs0.6_2.10",
+  "scalatest-featurespec_sjs0.6_2.11",
+  "scalatest-finders",
+  "scalatest-finders_2.9.0",
+  "scalatest-flatspec_2.10",
+  "scalatest-flatspec_2.11",
+  "scalatest-flatspec_sjs0.6_2.10",
+  "scalatest-flatspec_sjs0.6_2.11",
+  "scalatest-freespec_2.10",
+  "scalatest-freespec_2.11",
+  "scalatest-freespec_sjs0.6_2.10",
+  "scalatest-freespec_sjs0.6_2.11",
+  "scalatest-funspec_2.10",
+  "scalatest-funspec_2.11",
+  "scalatest-funspec_sjs0.6_2.10",
+  "scalatest-funspec_sjs0.6_2.11",
+  "scalatest-funsuite_2.10",
+  "scalatest-funsuite_2.11",
+  "scalatest-funsuite_sjs0.6_2.10",
+  "scalatest-funsuite_sjs0.6_2.11",
+  "scalatest-jmock_2.10",
+  "scalatest-jmock_2.11",
+  "scalatest-junit_2.10",
+  "scalatest-junit_2.11",
+  "scalatest-matchers-core_2.10",
+  "scalatest-matchers-core_2.11",
+  "scalatest-matchers-core_sjs0.6_2.10",
+  "scalatest-matchers-core_sjs0.6_2.11",
+  "scalatest-matchers_2.10",
+  "scalatest-matchers_2.11",
+  "scalatest-matchers_sjs0.6_2.10",
+  "scalatest-matchers_sjs0.6_2.11",
+  "scalatest-maven-plugin",
+  "scalatest-mustmatchers_2.10",
+  "scalatest-mustmatchers_2.11",
+  "scalatest-mustmatchers_sjs0.6_2.10",
+  "scalatest-mustmatchers_sjs0.6_2.11",
+  "scalatest-propspec_2.10",
+  "scalatest-propspec_2.11",
+  "scalatest-propspec_sjs0.6_2.10",
+  "scalatest-propspec_sjs0.6_2.11",
+  "scalatest-refspec_2.10",
+  "scalatest-refspec_2.11",
+  "scalatest-selenium_2.10",
+  "scalatest-selenium_2.11",
+  "scalatest-testng_2.10",
+  "scalatest-testng_2.11",
+  "scalatest-wordspec_2.10",
+  "scalatest-wordspec_2.11",
+  "scalatest-wordspec_sjs0.6_2.10",
+  "scalatest-wordspec_sjs0.6_2.11",
+  "scalatest_2.10",
+  "scalatest_2.10.0",
+  "scalatest_2.10.0-M4",
+  "scalatest_2.10.0-M5",
+  "scalatest_2.10.0-M6",
+  "scalatest_2.10.0-M7",
+  "scalatest_2.10.0-RC1",
+  "scalatest_2.10.0-RC2",
+  "scalatest_2.10.0-RC3",
+  "scalatest_2.10.0-RC5",
+  "scalatest_2.11",
+  "scalatest_2.11.0-M3",
+  "scalatest_2.11.0-M4",
+  "scalatest_2.11.0-M5",
+  "scalatest_2.11.0-M7",
+  "scalatest_2.11.0-M8",
+  "scalatest_2.11.0-RC1",
+  "scalatest_2.11.0-RC2",
+  "scalatest_2.11.0-RC3",
+  "scalatest_2.11.0-RC4",
+  "scalatest_2.12",
+  "scalatest_2.12.0-M1",
+  "scalatest_2.12.0-M2",
+  "scalatest_2.12.0-M3",
+  "scalatest_2.12.0-M4",
+  "scalatest_2.12.0-M5",
+  "scalatest_2.12.0-RC1",
+  "scalatest_2.12.0-RC2",
+  "scalatest_2.13.0-M1",
+  "scalatest_2.13.0-M2",
+  "scalatest_2.13.0-M3",
+  "scalatest_2.13.0-M4",
+  "scalatest_2.13.0-M5",
+  "scalatest_2.13.0-RC1",
+  "scalatest_2.13.0-RC2",
+  "scalatest_2.8.0",
+  "scalatest_2.8.1",
+  "scalatest_2.8.2",
+  "scalatest_2.9.0",
+  "scalatest_2.9.0-1",
+  "scalatest_2.9.0.RC3",
+  "scalatest_2.9.0.RC4",
+  "scalatest_2.9.1",
+  "scalatest_2.9.1-1",
+  "scalatest_2.9.1-1-RC1",
+  "scalatest_2.9.2",
+  "scalatest_2.9.3",
+  "scalatest_2.9.3-RC1",
+  "scalatest_2.9.3-RC2",
+  "scalatest_native0.3_2.11",
+  "scalatest_sjs0.6_2.10",
+  "scalatest_sjs0.6_2.11",
+  "scalatest_sjs0.6_2.12",
+  "scalatest_sjs0.6_2.12.0-M3",
+  "scalatest_sjs0.6_2.12.0-M4",
+  "scalatest_sjs0.6_2.12.0-M5",
+  "scalatest_sjs0.6_2.12.0-RC1",
+  "scalatest_sjs0.6_2.12.0-RC2",
+  "scalatest_sjs0.6_2.13.0-M1",
+  "scalatest_sjs0.6_2.13.0-M2",
+  "scalatest_sjs0.6_2.13.0-M3",
+  "scalatest_sjs0.6_2.13.0-M4",
+  "scalatest_sjs0.6_2.13.0-M5",
+  "scalatest_sjs0.6_2.13.0-RC1",
+  "scalatest_sjs0.6_2.13.0-RC2",
+  "scalatest_sjs1.0.0-M3_2.11",
+  "scalatest_sjs1.0.0-M3_2.12",
+  "scalatest_sjs1.0.0-M7_2.11",
+  "scalatest_sjs1.0.0-M7_2.12",
+  "scalatest_sjs1.0.0-M7_2.13.0-RC1",
+  "scalatest_sjs1.0.0-M7_2.13.0-RC2",
+  "scalatestjs_sjs0.6_2.10",
+  "scalatestjs_sjs0.6_2.11",
+  "scalatestjs_sjs0.6_2.12",
+  "scalatestjs_sjs0.6_2.13.0-M4",
+  "scalatestjs_sjs1.0.0-M3_2.11",
+  "scalatestjs_sjs1.0.0-M3_2.12",
+  "test-interface",
+]
+`;
+
+exports[`datasource/sbt parses sbt index directory 1`] = `
+Array [
+  "au.com.onegeek",
+  "bavadim",
+  "be.venneborg.sbt",
+  "biz.cgta",
+  "br.com.handit",
+  "cc.spray",
+  "ch.epfl.scala.index",
+  "ch.epfl.scala",
+  "ch.jodersky",
+  "ch.wavein",
+  "ch",
+  "chainkite",
+  "co.vitaler",
+  "co",
+  "codes.reactive.sbt",
+  "com.adelegue",
+  "com.agilogy",
+  "com.alpeb",
+  "com.anadeainc",
+  "com.aol.sbt",
+  "com.benmccann",
+  "com.bicou.sbt",
+  "com.birdhowl",
+  "com.blstream",
+  "com.bowlingx",
+  "com.byteground",
+  "com.cavorite",
+  "com.cedware",
+  "com.clever-age",
+  "com.codecommit",
+  "com.culpin.team",
+  "com.dancingcode",
+  "com.databricks",
+  "com.dayslar.play",
+  "com.dispalt.pop",
+  "com.dispalt.relay",
+  "com.dscleaver.sbt",
+  "com.dslplatform",
+  "com.dwijnand.sbtprojectgraph",
+  "com.dwijnand",
+  "com.earldouglas",
+  "com.eed3si9n",
+  "com.eltimn",
+  "com.esdrasbeleza",
+  "com.evenfinancial",
+  "com.geezeo",
+  "com.geirsson",
+  "com.gilt.sbt",
+  "com.github.DavidPerezIngeniero",
+  "com.github.aafa",
+  "com.github.ahjohannessen",
+  "com.github.akiomik",
+  "com.github.bootlog",
+  "com.github.casualjim",
+  "com.github.catap",
+  "com.github.cb372",
+  "com.github.citrum.webby",
+  "com.github.crakjie",
+  "com.github.cuzfrog",
+  "com.github.daniel-shuy",
+  "com.github.davidpeklak",
+  "com.github.ddispaltro",
+  "com.github.dwhjames",
+  "com.github.dwickern",
+  "com.github.gpgekko",
+  "com.github.gseitz",
+  "com.github.inthenow",
+  "com.github.izhangzhihao",
+  "com.github.jeffreyolchovy",
+  "com.github.jodersky",
+  "com.github.marceloemanoel",
+  "com.github.masseguillaume",
+  "com.github.mkroli",
+  "com.github.mmizutani",
+  "com.github.mvallerie",
+  "com.github.mwz",
+  "com.github.nyavro",
+  "com.github.pinguinson",
+  "com.github.play2war",
+  "com.github.plippe",
+  "com.github.qualysis",
+  "com.github.retronym",
+  "com.github.saint1991",
+  "com.github.saurfang",
+  "com.github.sbt",
+  "com.github.shanbin",
+  "com.github.shmishleniy",
+  "com.github.stonexx.sbt",
+  "com.github.tptodorov",
+  "com.github.wookietreiber",
+  "com.github.zainab-ali",
+  "com.glngn",
+  "com.googlecode.sbt-rats",
+  "com.gu",
+  "com.hanhuy.sbt",
+  "com.heroku",
+  "com.hevylight",
+  "com.hootsuite",
+  "com.hpe.sbt",
+  "com.iheart",
+  "com.impactua",
+  "com.jamesneve",
+  "com.jamesward",
+  "com.jatescher",
+  "com.jm2dev",
+  "com.jmparsons.sbt",
+  "com.jmparsons",
+  "com.joescii",
+  "com.joshcough",
+  "com.jsuereth",
+  "com.kailuowang",
+  "com.kalmanb.sbt",
+  "com.lenioapp",
+  "com.lightbend.akka.grpc",
+  "com.lightbend.akka",
+  "com.lightbend.conductr",
+  "com.lightbend.lagom",
+  "com.lightbend.paradox",
+  "com.lightbend.rp",
+  "com.lightbend.sbt",
+  "com.lightbend",
+  "com.linkedin.sbt-restli",
+  "com.localytics",
+  "com.mariussoutier.sbt",
+  "com.markatta",
+  "com.micronautics",
+  "com.mintbeans",
+  "com.mojolly.scalate",
+  "com.nike.redwiggler.sbt",
+  "com.novocode",
+  "com.olaq",
+  "com.oliverlockwood",
+  "com.omervk",
+  "com.opi.lil",
+  "com.oradian.sbt",
+  "com.qonceptual.sbt",
+  "com.quadstingray",
+  "com.rberenguel",
+  "com.roperzh.sbt",
+  "com.saikocat",
+  "com.sc.sbt",
+  "com.scalakata.metadoc",
+  "com.scalakata",
+  "com.scalapenos",
+  "com.seroperson",
+  "com.servicerocket",
+  "com.simianquant",
+  "com.simplytyped",
+  "com.sirocchj",
+  "com.sksamuel.sbt-versions",
+  "com.sksamuel.scala-scales",
+  "com.sksamuel.scapegoat",
+  "com.sksamuel.scoverage",
+  "com.sksamuel.scribble",
+  "com.sohoffice",
+  "com.swoval",
+  "com.tapad.sbt",
+  "com.teambytes.sbt",
+  "com.thesamet",
+  "com.thoughtworks",
+  "com.timushev.sbt",
+  "com.tmzint.sbt",
+  "com.trafficland",
+  "com.twitter",
+  "com.typelead",
+  "com.typesafe.akka",
+  "com.typesafe.conductr",
+  "com.typesafe.play",
+  "com.typesafe.reactiveruntime",
+  "com.typesafe.sbt",
+  "com.typesafe.sbteclipse",
+  "com.typesafe.tmp",
+  "com.typesafe.typesafeconductr",
+  "com.typesafe",
+  "com.untyped",
+  "com.vmunier",
+  "com.xvyg",
+  "com.yetu",
+  "com.zlad",
+  "com",
+  "coreyconnor",
+  "cuipengfei",
+  "de.cbley",
+  "de.heikoseeberger",
+  "de.jerman",
+  "de.johoop",
+  "de.knutwalker",
+  "de.mediacluster.sbt",
+  "de.oakgrove",
+  "de.sciss",
+  "edu.umass.cs",
+  "ee.risk.sbt.plugins",
+  "emchristiansen",
+  "es.webet.play",
+  "es.webet.sbt",
+  "eu.arthepsy.sbt",
+  "eu.getintheloop",
+  "eu.svez",
+  "fi.jumi.sbt",
+  "fi.onesto.sbt",
+  "g00dnatur3",
+  "github.com",
+  "glngn",
+  "im.actor",
+  "im.dlg",
+  "in.drajit.sbt",
+  "info.pdalpra",
+  "io.buildo",
+  "io.dapas",
+  "io.finstack",
+  "io.gatling.frontline",
+  "io.gatling",
+  "io.github.chikei",
+  "io.github.darkyenus",
+  "io.github.davidgregory084",
+  "io.github.henders",
+  "io.github.jeremyrsmith",
+  "io.github.sugakandrey",
+  "io.jenner",
+  "io.kamon",
+  "io.methvin",
+  "io.michaelallen.mustache",
+  "io.prediction",
+  "io.regadas",
+  "io.scalac",
+  "io.shaka",
+  "io.spray",
+  "io.strd.build",
+  "io.sysa",
+  "io.teamscala.sbt",
+  "io.xogus",
+  "io.zastoupil",
+  "io.zman",
+  "it.paperdragon",
+  "jsuereth",
+  "kevinlee",
+  "laughedelic",
+  "lt.dvim.authors",
+  "lt.dvim.paradox",
+  "me.amanj",
+  "me.andreionut",
+  "me.lessis",
+  "me.paulschwarz",
+  "me.penkov",
+  "me.rschatz",
+  "me.tfeng.sbt-plugins",
+  "me.vican.jorge",
+  "me",
+  "mrken",
+  "name.de-vries",
+  "name.heikoseeberger.groll",
+  "name.heikoseeberger.sbt.groll",
+  "name.heikoseeberger.sbt.properties",
+  "name.heikoseeberger",
+  "net.aichler",
+  "net.bytebuddy",
+  "net.bzzt",
+  "net.contentobjects.jnotify",
+  "net.eamelink.sbt",
+  "net.eigenvalue",
+  "net.ground5hark.sbt",
+  "net.katsstuff",
+  "net.lullabyte",
+  "net.nornagon",
+  "net.pishen",
+  "net.ssanj",
+  "net.thunderklaus",
+  "net.virtual-void",
+  "nl.anchormen.sbt",
+  "nl.codestar",
+  "nz.co.bottech",
+  "ohnosequences",
+  "org.aleastChs",
+  "org.allenai.plugins",
+  "org.bitbucket.inkytonik.sbt-rats",
+  "org.bjason",
+  "org.clapper",
+  "org.cmj",
+  "org.coursera.courier",
+  "org.coursera.naptime",
+  "org.doolse",
+  "org.duhemm",
+  "org.foundweekends.conscript",
+  "org.foundweekends.giter8",
+  "org.foundweekends",
+  "org.github.ngbinh",
+  "org.h3nk3",
+  "org.hypercomp",
+  "org.irundaia.sbt",
+  "org.jetbrains.teamcity.plugins",
+  "org.jetbrains",
+  "org.jruby",
+  "org.lifty",
+  "org.lyranthe.sbt",
+  "org.madoushi.sbt",
+  "org.make",
+  "org.neolin.sbt",
+  "org.netbeans.nbsbt",
+  "org.opencommercesearch",
+  "org.pitest.sbt",
+  "org.planet42",
+  "org.portable-scala",
+  "org.roboscala",
+  "org.scala-android",
+  "org.scala-js",
+  "org.scala-lang.modules.scalajs",
+  "org.scala-lang.modules",
+  "org.scala-native",
+  "org.scala-sbt.plugins",
+  "org.scala-sbt",
+  "org.scalameta",
+  "org.scalastyle",
+  "org.scalatra.requirejs",
+  "org.scalatra.sbt",
+  "org.scalavista",
+  "org.scoverage",
+  "org.tpolecat",
+  "org.typelevel",
+  "org.zjulambda.scala",
+  "org",
+  "pl.otrebski",
+  "pl.project13.sbt",
+  "pl.project13.scala",
+  "pl.tues",
+  "rocks.muki",
+  "ru.dokwork",
+  "ru.kotobotov",
+  "ru.pravo",
+  "sbt-plugin-releases",
+  "sbt",
+  "scalajs-react-interface",
+  "se.sisyfosdigital.sbt",
+  "se.yobriefca",
+  "securesocial",
+  "spartakus",
+  "sqlpt",
+  "stejskal",
+  "tech.ant8e",
+  "ub-interactive",
+  "uk.co.josephearl",
+  "uk.co.randomcoding",
+  "works.mesh",
+  "woshilaiceshide",
+]
+`;
diff --git a/lib/datasource/sbt/index.spec.ts b/lib/datasource/sbt-plugin/index.spec.ts
similarity index 76%
rename from lib/datasource/sbt/index.spec.ts
rename to lib/datasource/sbt-plugin/index.spec.ts
index d5af55a2670a78fcc84884296c22ef533227de8b..d7c34792dfedbe1be6201fae5f88431c5b6b081d 100644
--- a/lib/datasource/sbt/index.spec.ts
+++ b/lib/datasource/sbt-plugin/index.spec.ts
@@ -4,7 +4,6 @@ import nock from 'nock';
 import { getPkgReleases } from '.';
 import { DEFAULT_MAVEN_REPO } from '../../manager/maven/extract';
 import { parseIndexDir, SBT_PLUGINS_REPO } from './util';
-import * as ivyVersioning from '../../versioning/ivy';
 
 const mavenIndexHtml = fs.readFileSync(
   path.resolve(__dirname, `./__fixtures__/maven-index.html`),
@@ -100,58 +99,21 @@ describe('datasource/sbt', () => {
     it('returns null in case of errors', async () => {
       expect(
         await getPkgReleases({
-          versioning: ivyVersioning.id,
           lookupName: 'org.scalatest:scalatest',
           registryUrls: ['https://failed_repo/maven'],
         })
       ).toEqual(null);
       expect(
         await getPkgReleases({
-          versioning: ivyVersioning.id,
           lookupName: 'org.scalatest:scalaz',
-          depType: 'plugin',
           registryUrls: [SBT_PLUGINS_REPO],
         })
       ).toEqual(null);
     });
-    it('fetches releases from Maven', async () => {
-      expect(
-        await getPkgReleases({
-          versioning: ivyVersioning.id,
-          lookupName: 'org.scalatest:scalatest',
-          registryUrls: [
-            'https://failed_repo/maven',
-            DEFAULT_MAVEN_REPO,
-            SBT_PLUGINS_REPO,
-          ],
-        })
-      ).toEqual({
-        dependencyUrl: 'https://repo.maven.apache.org/maven2/org/scalatest',
-        display: 'org.scalatest:scalatest',
-        group: 'org.scalatest',
-        name: 'scalatest',
-        releases: [{ version: '1.2.0' }, { version: '1.2.3' }],
-      });
-      expect(
-        await getPkgReleases({
-          versioning: ivyVersioning.id,
-          lookupName: 'org.scalatest:scalatest_2.12',
-          registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
-        })
-      ).toEqual({
-        dependencyUrl: 'https://repo.maven.apache.org/maven2/org/scalatest',
-        display: 'org.scalatest:scalatest_2.12',
-        group: 'org.scalatest',
-        name: 'scalatest_2.12',
-        releases: [{ version: '1.2.3' }],
-      });
-    });
     it('fetches sbt plugins', async () => {
       expect(
         await getPkgReleases({
-          versioning: ivyVersioning.id,
           lookupName: 'org.foundweekends:sbt-bintray',
-          depType: 'plugin',
           registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
         })
       ).toEqual({
@@ -164,9 +126,7 @@ describe('datasource/sbt', () => {
       });
       expect(
         await getPkgReleases({
-          versioning: ivyVersioning.id,
           lookupName: 'org.foundweekends:sbt-bintray_2.12',
-          depType: 'plugin',
           registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
         })
       ).toEqual({
diff --git a/lib/datasource/sbt/index.ts b/lib/datasource/sbt-plugin/index.ts
similarity index 54%
rename from lib/datasource/sbt/index.ts
rename to lib/datasource/sbt-plugin/index.ts
index 293b24e3acdfedf963d0136ec182329512b1df03..450fb909f4c19049450d2762a585327724f3e357 100644
--- a/lib/datasource/sbt/index.ts
+++ b/lib/datasource/sbt-plugin/index.ts
@@ -3,53 +3,10 @@ import { downloadHttpProtocol } from '../maven/util';
 import { parseIndexDir, SBT_PLUGINS_REPO } from './util';
 import { logger } from '../../logger';
 import { GetReleasesConfig, ReleaseResult } from '../common';
+import { resolvePackageReleases } from '../sbt-package';
 
 const ensureTrailingSlash = (str: string): string => str.replace(/\/?$/, '/');
 
-async function resolvePackageReleases(
-  searchRoot: string,
-  artifact: string,
-  scalaVersion: string
-): Promise<string[]> {
-  const indexContent = await downloadHttpProtocol(
-    ensureTrailingSlash(searchRoot),
-    'sbt'
-  );
-  if (indexContent) {
-    const releases: string[] = [];
-    const parseSubdirs = (content: string): string[] =>
-      parseIndexDir(content, x => {
-        if (x === artifact) return true;
-        if (x.startsWith(`${artifact}_native`)) return false;
-        if (x.startsWith(`${artifact}_sjs`)) return false;
-        return x.startsWith(`${artifact}_`);
-      });
-    const artifactSubdirs = parseSubdirs(indexContent);
-    let searchSubdirs = artifactSubdirs;
-    if (
-      scalaVersion &&
-      artifactSubdirs.includes(`${artifact}_${scalaVersion}`)
-    ) {
-      searchSubdirs = [`${artifact}_${scalaVersion}`];
-    }
-    const parseReleases = (content: string): string[] =>
-      parseIndexDir(content, x => !/^\.+$/.test(x));
-    for (const searchSubdir of searchSubdirs) {
-      const content = await downloadHttpProtocol(
-        ensureTrailingSlash(`${searchRoot}/${searchSubdir}`),
-        'sbt'
-      );
-      if (content) {
-        const subdirReleases = parseReleases(content);
-        subdirReleases.forEach(x => releases.push(x));
-      }
-    }
-    if (releases.length) return [...new Set(releases)].sort(compare);
-  }
-
-  return null;
-}
-
 async function resolvePluginReleases(
   rootUrl: string,
   artifact: string,
@@ -95,15 +52,11 @@ async function resolvePluginReleases(
   return resolvePackageReleases(rootUrl, artifact, scalaVersion);
 }
 
-export async function getPkgReleases(
-  config: GetReleasesConfig
-): Promise<ReleaseResult | null> {
-  const { lookupName, depType } = config;
-
-  const registryUrls =
-    depType === 'plugin'
-      ? [SBT_PLUGINS_REPO, ...config.registryUrls]
-      : config.registryUrls;
+export async function getPkgReleases({
+  lookupName,
+  registryUrls: configRegistryUrls,
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
+  const registryUrls = [SBT_PLUGINS_REPO, ...configRegistryUrls];
 
   const [groupId, artifactId] = lookupName.split(':');
   const groupIdSplit = groupId.split('.');
@@ -114,24 +67,19 @@ export async function getPkgReleases(
   const searchRoots: string[] = [];
   repoRoots.forEach(repoRoot => {
     // Optimize lookup order
-    if (depType === 'plugin') {
-      searchRoots.push(`${repoRoot}/${groupIdSplit.join('.')}`);
-      searchRoots.push(`${repoRoot}/${groupIdSplit.join('/')}`);
-    } else {
-      searchRoots.push(`${repoRoot}/${groupIdSplit.join('/')}`);
-      searchRoots.push(`${repoRoot}/${groupIdSplit.join('.')}`);
-    }
+    searchRoots.push(`${repoRoot}/${groupIdSplit.join('.')}`);
+    searchRoots.push(`${repoRoot}/${groupIdSplit.join('/')}`);
   });
 
   for (let idx = 0; idx < searchRoots.length; idx += 1) {
     const searchRoot = searchRoots[idx];
-    const versions =
-      depType === 'plugin'
-        ? await resolvePluginReleases(searchRoot, artifact, scalaVersion)
-        : await resolvePackageReleases(searchRoot, artifact, scalaVersion);
+    const versions = await resolvePluginReleases(
+      searchRoot,
+      artifact,
+      scalaVersion
+    );
 
-    const dependencyUrl =
-      depType === 'plugin' ? `${searchRoot}/${artifact}` : searchRoot;
+    const dependencyUrl = `${searchRoot}/${artifact}`;
 
     if (versions) {
       return {
diff --git a/lib/datasource/sbt/util.ts b/lib/datasource/sbt-plugin/util.ts
similarity index 100%
rename from lib/datasource/sbt/util.ts
rename to lib/datasource/sbt-plugin/util.ts
diff --git a/lib/manager/gradle/__snapshots__/index.spec.ts.snap b/lib/manager/gradle/__snapshots__/index.spec.ts.snap
index 04646a3325dae61c602f4a5fb98e5b424c715b21..a4224fe6e63c15fb21163f89466bb3915e85647f 100644
--- a/lib/manager/gradle/__snapshots__/index.spec.ts.snap
+++ b/lib/manager/gradle/__snapshots__/index.spec.ts.snap
@@ -158,7 +158,7 @@ Array [
       },
       Object {
         "currentValue": "3.9.0",
-        "datasource": "sbt",
+        "datasource": "sbt-package",
         "depGroup": "com.typesafe.scala-logging",
         "depName": "com.typesafe.scala-logging:scala-logging",
         "name": "scala-logging_%%",
@@ -216,7 +216,7 @@ Array [
       },
       Object {
         "currentValue": "3.9.0",
-        "datasource": "sbt",
+        "datasource": "sbt-package",
         "depGroup": "com.typesafe.scala-logging",
         "depName": "com.typesafe.scala-logging:scala-logging",
         "name": "scala-logging_%%",
@@ -301,7 +301,7 @@ Array [
       },
       Object {
         "currentValue": "3.9.0",
-        "datasource": "sbt",
+        "datasource": "sbt-package",
         "depGroup": "com.typesafe.scala-logging",
         "depName": "com.typesafe.scala-logging:scala-logging",
         "name": "scala-logging_%%",
@@ -386,7 +386,7 @@ Array [
       },
       Object {
         "currentValue": "3.9.0",
-        "datasource": "sbt",
+        "datasource": "sbt-package",
         "depGroup": "com.typesafe.scala-logging",
         "depName": "com.typesafe.scala-logging:scala-logging",
         "name": "scala-logging_%%",
@@ -444,7 +444,7 @@ Array [
       },
       Object {
         "currentValue": "3.9.0",
-        "datasource": "sbt",
+        "datasource": "sbt-package",
         "depGroup": "com.typesafe.scala-logging",
         "depName": "com.typesafe.scala-logging:scala-logging",
         "name": "scala-logging_%%",
diff --git a/lib/manager/gradle/gradle-updates-report.ts b/lib/manager/gradle/gradle-updates-report.ts
index fac1d11a4e3f770b39f2d2eb834f139db019f80f..273238e9d34e08a8c5ca5d9fd75f9f3dd1da54bb 100644
--- a/lib/manager/gradle/gradle-updates-report.ts
+++ b/lib/manager/gradle/gradle-updates-report.ts
@@ -1,7 +1,7 @@
 import { join } from 'path';
 import { exists, readFile, writeFile } from 'fs-extra';
 import { logger } from '../../logger';
-import { DATASOURCE_SBT } from '../../constants/data-binary-source';
+import { DATASOURCE_SBT_PACKAGE } from '../../constants/data-binary-source';
 
 export const GRADLE_DEPENDENCY_REPORT_FILENAME = 'gradle-renovate-report.json';
 
@@ -160,7 +160,7 @@ export async function extractDependenciesFromUpdatesReport(
         return {
           ...dep,
           depName: depName.replace(/_%%/, ''),
-          datasource: DATASOURCE_SBT,
+          datasource: DATASOURCE_SBT_PACKAGE,
         };
       }
       if (/^%.*%$/.test(currentValue)) {
diff --git a/lib/manager/sbt/__snapshots__/extract.spec.ts.snap b/lib/manager/sbt/__snapshots__/extract.spec.ts.snap
index 77e5bb6c507e172ebbf190eb83093c45dc653c73..326c6717099702a2cda89892742eab88db426970 100644
--- a/lib/manager/sbt/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/sbt/__snapshots__/extract.spec.ts.snap
@@ -5,7 +5,7 @@ Object {
   "deps": Array [
     Object {
       "currentValue": "0.7.1",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "com.example:foo_2.13.0-RC5",
       "fileReplacePosition": 168,
       "registryUrls": Array [
@@ -14,7 +14,7 @@ Object {
     },
     Object {
       "currentValue": "1.2.3",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "com.abc:abc",
       "fileReplacePosition": 120,
       "registryUrls": Array [
@@ -30,7 +30,7 @@ Object {
   "deps": Array [
     Object {
       "currentValue": "0.0.1",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:foo",
       "fileReplacePosition": 132,
       "registryUrls": Array [
@@ -44,7 +44,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.2",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:bar_2.9.10",
       "fileReplacePosition": 188,
       "registryUrls": Array [
@@ -58,7 +58,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.3",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:baz_2.9.10",
       "fileReplacePosition": 252,
       "registryUrls": Array [
@@ -72,7 +72,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.4",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:qux",
       "fileReplacePosition": 287,
       "registryUrls": Array [
@@ -86,7 +86,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.5",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:quux",
       "fileReplacePosition": 346,
       "registryUrls": Array [
@@ -100,7 +100,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.6",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:quuz_2.9.10",
       "depType": "test",
       "fileReplacePosition": 526,
@@ -115,7 +115,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.7",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:corge",
       "depType": "Provided",
       "fileReplacePosition": 584,
@@ -130,7 +130,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.8",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:grault",
       "depType": "Test",
       "fileReplacePosition": 479,
@@ -145,7 +145,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.9",
-      "datasource": "sbt",
+      "datasource": "sbt-plugin",
       "depName": "org.example:waldo",
       "depType": "plugin",
       "fileReplacePosition": 986,
@@ -167,7 +167,7 @@ Object {
   "deps": Array [
     Object {
       "currentValue": "0.0.1",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:foo",
       "fileReplacePosition": 195,
       "registryUrls": Array [
@@ -181,7 +181,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.2",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:bar_2.12",
       "fileReplacePosition": 251,
       "registryUrls": Array [
@@ -195,7 +195,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.3",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:baz_2.12",
       "fileReplacePosition": 315,
       "registryUrls": Array [
@@ -209,7 +209,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.4",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:qux",
       "fileReplacePosition": 350,
       "registryUrls": Array [
@@ -223,7 +223,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.5",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:quux",
       "fileReplacePosition": 409,
       "registryUrls": Array [
@@ -237,7 +237,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.6",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:quuz_2.12",
       "depType": "test",
       "fileReplacePosition": 553,
@@ -252,7 +252,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.7",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:corge",
       "depType": "Provided",
       "fileReplacePosition": 611,
@@ -267,7 +267,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.8",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.example:grault",
       "depType": "Test",
       "fileReplacePosition": 51,
@@ -282,7 +282,7 @@ Object {
     },
     Object {
       "currentValue": "0.0.9",
-      "datasource": "sbt",
+      "datasource": "sbt-plugin",
       "depName": "org.example:waldo",
       "depType": "plugin",
       "fileReplacePosition": 1013,
@@ -304,7 +304,7 @@ Object {
   "deps": Array [
     Object {
       "currentValue": "3.0.0",
-      "datasource": "sbt",
+      "datasource": "sbt-package",
       "depName": "org.scalatest:scalatest",
       "fileReplacePosition": 65,
       "registryUrls": Array [
@@ -313,7 +313,7 @@ Object {
     },
     Object {
       "currentValue": "1.0.11",
-      "datasource": "sbt",
+      "datasource": "sbt-plugin",
       "depName": "com.github.gseitz:sbt-release",
       "depType": "plugin",
       "fileReplacePosition": 100,
diff --git a/lib/manager/sbt/extract.ts b/lib/manager/sbt/extract.ts
index 81012dfd7fcfa94a290ec6650c442f09a6a8d8f0..55972aaa2053a3da01c6e9f100f0ecdb0e142c6d 100644
--- a/lib/manager/sbt/extract.ts
+++ b/lib/manager/sbt/extract.ts
@@ -2,7 +2,10 @@ import { DEFAULT_MAVEN_REPO } from '../maven/extract';
 import { PackageFile, PackageDependency } from '../common';
 import { get } from '../../versioning';
 import * as mavenVersioning from '../../versioning/maven';
-import { DATASOURCE_SBT } from '../../constants/data-binary-source';
+import {
+  DATASOURCE_SBT_PACKAGE,
+  DATASOURCE_SBT_PLUGIN,
+} from '../../constants/data-binary-source';
 
 const isComment = (str: string): boolean => /^\s*\/\//.test(str);
 
@@ -250,12 +253,17 @@ function parseSbtLine(
     }
   }
 
-  if (dep)
+  if (dep) {
+    if (dep.depType === 'plugin') {
+      dep.datasource = DATASOURCE_SBT_PLUGIN;
+    } else {
+      dep.datasource = DATASOURCE_SBT_PACKAGE;
+    }
     deps.push({
-      datasource: DATASOURCE_SBT,
       registryUrls,
       ...dep,
     });
+  }
 
   if (lineIndex + 1 < lines.length)
     return {