diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 69b5720..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,100 +0,0 @@
-/0.6.2.tar.gz
-/1.11.0.tar.gz
-/SPECS2-1.12.3.tar.gz
-/actions.jar
-/api.jar
-/apply-macro.jar
-/cache.jar
-/classfile.jar
-/classpath.jar
-/collections.jar
-/command.jar
-/compile.jar
-/compiler-integration.jar
-/compiler-interface-bin-2_8_2.jar
-/compiler-interface-bin-2_9_2.jar
-/compiler-interface-bin-2_9_3.jar
-/compiler-interface-bin.jar
-/compiler-interface-src.jar
-/compiler-ivy-integration.jar
-/completion.jar
-/control.jar
-/cross.jar
-/datatype-generator.jar
-/dispatch-http_2.10-0.8.9.jar
-/incremental-compiler.jar
-/interface.jar
-/io.jar
-/ivy-2.3.0-rc1.jar
-/ivy.jar
-/launcher-interface.jar
-/launcher.jar
-/logging.jar
-/main-settings.jar
-/main.jar
-/persist.jar
-/process.jar
-/relation.jar
-/run.jar
-/sbt-ghpages.jar
-/sbt-git.jar
-/sbt-launch.jar
-/sbt-site.jar
-/sbt.jar
-/scalacheck_2.10-1.11.0.jar
-/scripted-framework.jar
-/scripted-plugin.jar
-/scripted-sbt.jar
-/sxr_2.10.jar
-/task-system.jar
-/tasks.jar
-/test-agent.jar
-/testing.jar
-/tracking.jar
-/v0.13.1.tar.gz
-/v0.3.0.tar.gz
-/v0.5.1.tar.gz
-/v0.6.3.tar.gz
-/actions-0.13.1-ivy.xml
-/api-0.13.1-ivy.xml
-/apply-macro-0.13.1-ivy.xml
-/cache-0.13.1-ivy.xml
-/classfile-0.13.1-ivy.xml
-/classpath-0.13.1-ivy.xml
-/collections-0.13.1-ivy.xml
-/command-0.13.1-ivy.xml
-/compile-0.13.1-ivy.xml
-/compiler-integration-0.13.1-ivy.xml
-/compiler-interface-bin-0.13.1-ivy.xml
-/compiler-interface-src-0.13.1-ivy.xml
-/compiler-ivy-integration-0.13.1-ivy.xml
-/completion-0.13.1-ivy.xml
-/control-0.13.1-ivy.xml
-/cross-0.13.1-ivy.xml
-/datatype-generator-0.13.1-ivy.xml
-/incremental-compiler-0.13.1-ivy.xml
-/interface-0.13.1-ivy.xml
-/io-0.13.1-ivy.xml
-/ivy-0.13.1-ivy.xml
-/launcher-0.13.1-ivy.xml
-/launcher-interface-0.13.1-ivy.xml
-/logging-0.13.1-ivy.xml
-/main-0.13.1-ivy.xml
-/main-settings-0.13.1-ivy.xml
-/persist-0.13.1-ivy.xml
-/precompiled-2_8_2-0.13.1-ivy.xml
-/precompiled-2_9_2-0.13.1-ivy.xml
-/precompiled-2_9_3-0.13.1-ivy.xml
-/process-0.13.1-ivy.xml
-/relation-0.13.1-ivy.xml
-/run-0.13.1-ivy.xml
-/sbt-0.13.1-ivy.xml
-/sbt-launch-0.13.1-ivy.xml
-/scripted-framework-0.13.1-ivy.xml
-/scripted-plugin-0.13.1-ivy.xml
-/scripted-sbt-0.13.1-ivy.xml
-/tasks-0.13.1-ivy.xml
-/task-system-0.13.1-ivy.xml
-/test-agent-0.13.1-ivy.xml
-/testing-0.13.1-ivy.xml
-/tracking-0.13.1-ivy.xml
diff --git a/climbing-nemesis.py b/climbing-nemesis.py
deleted file mode 100644
index a5c85fe..0000000
--- a/climbing-nemesis.py
+++ /dev/null
@@ -1,232 +0,0 @@
-#!/usr/bin/env python3
-
-# Copyright 2013, 2014 Red Hat, Inc., and William C. Benton
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import xml.etree.ElementTree as ET
-import argparse
-import re
-import logging
-
-from io import StringIO
-from os.path import exists as pathexists
-from os.path import realpath
-from os.path import join as pathjoin
-from os import makedirs
-from os import symlink
-from os import remove as rmfile
-from shutil import copyfile
-from javapackages.xmvn.xmvn_resolve import (XMvnResolve, ResolutionRequest)
-
-class Artifact(object):
- def __init__(self, a, g, v):
- self.artifact = a
- self.group = g
- self.version = v
-
- @classmethod
- def fromCoords(k, coords):
- g,a,v = coords.split(":")
- return k(a, g, v)
-
- @classmethod
- def fromSubtree(k, t, ns):
- a = t.find("./%sartifactId" % ns).text
- g = t.find("./%sgroupId" % ns).text
- v = t.find("./%sversion" % ns).text
- return k(a, g, v)
-
- def contains(self, substrings):
- for s in substrings:
- if s in self.artifact or s in self.group:
- cn_debug("ignoring %r because it contains %s" % (self, s))
- return True
- if len(substrings) > 0:
- cn_debug("not ignoring %r; looked for %r" % (self, substrings))
- return False
-
- def __repr__(self):
- return "%s:%s:%s" % (self.group, self.artifact, self.version)
-
-class DummyPOM(object):
- def __init__(self, groupID=None, artifactID=None, version=None):
- self.groupID = groupID
- self.artifactID = artifactID
- self.version = version
- self.deps = []
-
-def interestingDep(dt, namespace):
- if len(dt.findall("./%soptional" % namespace)) != 0:
- cn_debug("ignoring optional dep %r" % Artifact.fromSubtree(dt, namespace))
- return False
- if [e for e in dt.findall("./%sscope" % namespace) if e.text == "test"] != []:
- cn_debug("ignoring test dep %r" % Artifact.fromSubtree(dt, namespace))
- return False
- return True
-
-class POM(object):
- def __init__(self, filename, suppliedGroupID=None, suppliedArtifactID=None, ignored_deps=[], override=None, extra_deps=[]):
- self.filename = filename
- self.sGroupID = suppliedGroupID
- self.sArtifactID = suppliedArtifactID
- self.logger = logging.getLogger("com.freevariable.climbing-nemesis")
- self.deps = []
- self.ignored_deps = ignored_deps
- self.extra_deps = extra_deps
- cn_debug("POM: extra_deps is %r" % extra_deps)
- self._parsePom()
- self.claimedGroup, self.claimedArtifact = override is not None and override or (self.groupID, self.artifactID)
-
- def _parsePom(self):
- tree = ET.parse(self.filename)
- project = tree.getroot()
- self.logger.info("parsing POM %s", self.filename)
- self.logger.debug("project tag is '%s'", project.tag)
- tagmatch = re.match("[{](.*)[}].*", project.tag)
- namespace = tagmatch and "{%s}" % tagmatch.groups()[0] or ""
- self.logger.debug("looking for '%s'", ("./%sgroupId" % namespace))
- groupIDtag = project.find("./%sgroupId" % namespace)
- if groupIDtag is None:
- groupIDtag = project.find("./%sparent/%sgroupId" % (namespace,namespace))
-
- versiontag = project.find("./%sversion" % namespace)
- if versiontag is None:
- versiontag = project.find("./%sparent/%sversion" % (namespace,namespace))
- self.logger.debug("group ID tag is '%s'", groupIDtag)
- self.groupID = groupIDtag.text
- self.artifactID = project.find("./%sartifactId" % namespace).text
- self.version = versiontag.text
- depTrees = project.findall(".//%sdependencies/%sdependency" % (namespace, namespace))
- alldeps = [Artifact.fromSubtree(depTree, namespace) for depTree in depTrees if interestingDep(depTree, namespace)]
- alldeps = [dep for dep in alldeps if not (dep.group == self.groupID and dep.artifact == self.artifactID)]
- self.deps = [dep for dep in alldeps if not dep.contains(self.ignored_deps)] + [Artifact.fromCoords(xtra) for xtra in self.extra_deps]
- jarmatch = re.match(".*JPP-(.*).pom", self.filename)
- self.jarname = (jarmatch and jarmatch.groups()[0] or None)
-
-def cn_debug(*args):
- logging.getLogger("com.freevariable.climbing-nemesis").debug(*args)
-
-def cn_info(*args):
- logging.getLogger("com.freevariable.climbing-nemesis").info(*args)
-
-def resolveArtifact(group, artifact, pomfile=None, ignored_deps=[], override=None, extra_deps=[]):
- # XXX: some error checking would be the responsible thing to do here
- cn_debug("rA: extra_deps is %r" % extra_deps)
- if pomfile is None:
- result = XMvnResolve.process_raw_request([ResolutionRequest(group, artifact, extension="pom")])[0]
- if result:
- return POM(result.artifactPath, ignored_deps=ignored_deps, override=override, extra_deps=extra_deps)
- else:
- return DummyPOM(group, artifact)
- else:
- return POM(pomfile, ignored_deps=ignored_deps, override=override, extra_deps=extra_deps)
-
-def resolveJar(group, artifact):
- result = XMvnResolve.process_raw_request([ResolutionRequest(group, artifact)])[0]
- return result.artifactPath if result else None
-
-def makeIvyXmlTree(org, module, revision, status="release", meta={}, deps=[]):
- ivy_module = ET.Element("ivy-module", {"version":"1.0", "xmlns:e":"http://ant.apache.org/ivy/extra"})
- info = ET.SubElement(ivy_module, "info", dict({"organisation":org, "module":module, "revision":revision, "status":status}.items() | meta.items()))
- info.text = " " # ensure a close tag
- confs = ET.SubElement(ivy_module, "configurations")
- for conf in ["default", "provided", "test"]:
- ET.SubElement(confs, "conf", {"name":conf})
- pubs = ET.SubElement(ivy_module, "publications")
- ET.SubElement(pubs, "artifact", {"name":module, "type":"jar"})
- if len(deps) > 0:
- deptree = ET.SubElement(ivy_module, "dependencies")
- for dep in deps:
- ET.SubElement(deptree, "dependency", {"org":dep.group, "name":dep.artifact, "rev":dep.version})
- return ET.ElementTree(ivy_module)
-
-def writeIvyXml(org, module, revision, status="release", fileobj=None, meta={}, deps=[]):
- # XXX: handle deps!
- if fileobj is None:
- fileobj = StringIO()
- tree = makeIvyXmlTree(org, module, revision, status, meta=meta, deps=deps)
- tree.write(fileobj, xml_declaration=True)
- return fileobj
-
-def ivyXmlAsString(org, module, revision, status, meta={}, deps=[]):
- return writeIvyXml(org, module, revision, status, meta=meta, deps=deps).getvalue()
-
-def placeArtifact(artifact_file, repo_dirname, org, module, revision, status="release", meta={}, deps=[], supplied_ivy_file=None, scala=None, override=None, override_dir_only=False):
- if scala is not None:
- module = module + "_%s" % scala
- jarmodule = module
- if override is not None:
- org, module = override
- if not override_dir_only:
- jarmodule = module
- repo_dir = realpath(repo_dirname)
- artifact_dir = pathjoin(*[repo_dir] + [org] + [module, revision])
- ivyxml_path = pathjoin(artifact_dir, "ivy.xml")
- artifact_repo_path = pathjoin(artifact_dir, "%s-%s.jar" % (jarmodule, revision))
-
- if not pathexists(artifact_dir):
- makedirs(artifact_dir)
-
- ivyxml_file = open(ivyxml_path, "wb")
- if supplied_ivy_file is None:
- writeIvyXml(org, module, revision, status, ivyxml_file, meta=meta, deps=deps)
- else:
- copyfile(supplied_ivy_file, ivyxml_path)
-
- if pathexists(artifact_repo_path):
- rmfile(artifact_repo_path)
-
- symlink(artifact_file, artifact_repo_path)
-
-def main():
- parser = argparse.ArgumentParser(description="Place a locally-installed artifact in a custom local Ivy repository; get metadata from Maven")
- parser.add_argument("group", metavar="GROUP", type=str, help="name of group")
- parser.add_argument("artifact", metavar="ARTIFACT", type=str, help="name of artifact")
- parser.add_argument("repodir", metavar="REPO", type=str, help="location for local repo")
- parser.add_argument("--version", metavar="VERSION", type=str, help="version to advertise this artifact as, overriding Maven metadata")
- parser.add_argument("--meta", metavar="K=V", type=str, help="extra metadata to store in ivy.xml", action='append')
- parser.add_argument("--jarfile", metavar="JAR", type=str, help="local jar file (use instead of POM metadata")
- parser.add_argument("--pomfile", metavar="POM", type=str, help="local pom file (use instead of xmvn-resolved one")
- parser.add_argument("--log", metavar="LEVEL", type=str, help="logging level")
- parser.add_argument("--ivyfile", metavar="IVY", type=str, help="supplied Ivy file (use instead of POM metadata)")
- parser.add_argument("--scala", metavar="VERSION", type=str, help="encode given scala version in artifact name")
- parser.add_argument("--ignore", metavar="STR", type=str, help="ignore dependencies whose artifact or group contains str", action='append')
- parser.add_argument("--override", metavar="ORG:NAME", type=str, help="override organization and/or artifact name")
- parser.add_argument("--override-dir-only", action='store_true', help="override organization and/or artifact name")
- parser.add_argument("--extra-dep", metavar="ORG:NAME:VERSION", action='append', help="add the given dependencya")
- args = parser.parse_args()
-
- if args.log is not None:
- logging.basicConfig(level=getattr(logging, args.log.upper()))
-
- override = args.override and args.override.split(":") or None
- cn_debug("cl: args.extra_dep is %r" % args.extra_dep)
- extra_deps = args.extra_dep is not None and args.extra_dep or []
-
- pom = resolveArtifact(args.group, args.artifact, args.pomfile, ignored_deps=(args.ignore or []), override=((not args.override_dir_only) and override or None), extra_deps=extra_deps)
-
- if args.jarfile is None:
- jarfile = resolveJar(pom.groupID or args.group, pom.artifactID or args.artifact)
- else:
- jarfile = args.jarfile
-
- version = (args.version or pom.version)
-
- meta = dict([kv.split("=") for kv in (args.meta or [])])
- cn_debug("meta is %r" % meta)
-
- placeArtifact(jarfile, args.repodir, pom.groupID, pom.artifactID, version, meta=meta, deps=pom.deps, supplied_ivy_file=args.ivyfile, scala=args.scala, override=override, override_dir_only=args.override_dir_only)
-
-if __name__ == "__main__":
- main()
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..1c30d71
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+sbt fails to build from source: https://bugzilla.redhat.com/show_bug.cgi?id=1675977
diff --git a/ivy-2.3.0-rc1.pom b/ivy-2.3.0-rc1.pom
deleted file mode 100644
index e540e4f..0000000
--- a/ivy-2.3.0-rc1.pom
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
- 4.0.0
-
- org.apache
- apache
- 7
-
- org.apache.ivy
- ivy
- 2.3.0-rc1
- Apache Ivy
- http://ant.apache.org/ivy/
-
- scm:svn:http://svn.apache.org/repos/asf/ant/ivy/core/trunk/
- scm:svn:https://svn.apache.org/repos/asf/ant/ivy/core/trunk
- http://svn.apache.org/repos/asf/ant/ivy/core/trunk
-
-
-
- Ant/Ivy Developers List
- dev-subscribe@ant.apache.org
- dev-unsubscribe@ant.apache.org
- dev@ant.apache.org
- http://mail-archives.apache.org/mod_mbox/ant-dev
-
-
- Ivy Users List
- ivy-user-subscribe@ant.apache.org
- ivy-user-unsubscribe@ant.apache.org
- ivy-user@ant.apache.org
- http://mail-archives.apache.org/mod_mbox/ant-ivy-user
-
-
-
- jira
- http://issues.apache.org/jira/browse/IVY
-
-
-
- org.apache.ant
- ant
- 1.7.1
- true
-
-
- org.apache.ant
- ant-nodeps
- 1.7.1
- true
-
-
- org.apache.ant
- ant-trax
- 1.7.1
- true
-
-
- commons-httpclient
- commons-httpclient
- 3.0
- true
-
-
- oro
- oro
- 2.0.8
- true
-
-
- commons-vfs
- commons-vfs
- 1.0
- true
-
-
- com.jcraft
- jsch
- 0.1.31
- true
-
-
- org.bouncycastle
- bcpg-jdk14
- 1.45
- true
-
-
- org.bouncycastle
- bcprov-jdk14
- 1.45
- true
-
-
- junit
- junit
- 3.8.2
- test
-
-
- commons-lang
- commons-lang
- 2.6
- test
-
-
- org.apache.ant
- ant-testutil
- 1.7.0
- test
-
-
- ant
- ant-launcher
- 1.6.2
- test
-
-
- ant-contrib
- ant-contrib
- 1.0b3
- test
-
-
- xerces
- xercesImpl
- 2.6.2
- test
-
-
- xerces
- xmlParserAPIs
- 2.6.2
- test
-
-
-
diff --git a/ivy-2.3.0.pom b/ivy-2.3.0.pom
deleted file mode 100644
index 1212775..0000000
--- a/ivy-2.3.0.pom
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
- 4.0.0
-
- org.apache
- apache
- 7
-
- org.apache.ivy
- ivy
- 2.3.0
- Apache Ivy
- http://ant.apache.org/ivy/
-
- scm:svn:http://svn.apache.org/repos/asf/ant/ivy/core/trunk/
- scm:svn:https://svn.apache.org/repos/asf/ant/ivy/core/trunk
- http://svn.apache.org/repos/asf/ant/ivy/core/trunk
-
-
-
- Ant/Ivy Developers List
- dev-subscribe@ant.apache.org
- dev-unsubscribe@ant.apache.org
- dev@ant.apache.org
- http://mail-archives.apache.org/mod_mbox/ant-dev
-
-
- Ivy Users List
- ivy-user-subscribe@ant.apache.org
- ivy-user-unsubscribe@ant.apache.org
- ivy-user@ant.apache.org
- http://mail-archives.apache.org/mod_mbox/ant-ivy-user
-
-
-
- jira
- http://issues.apache.org/jira/browse/IVY
-
-
-
- org.apache.ant
- ant
- 1.7.1
- true
-
-
- org.apache.ant
- ant-nodeps
- 1.7.1
- true
-
-
- org.apache.ant
- ant-trax
- 1.7.1
- true
-
-
- commons-httpclient
- commons-httpclient
- 3.0
- true
-
-
- oro
- oro
- 2.0.8
- true
-
-
- commons-vfs
- commons-vfs
- 1.0
- true
-
-
- com.jcraft
- jsch
- 0.1.31
- true
-
-
- org.bouncycastle
- bcpg-jdk14
- 1.45
- true
-
-
- org.bouncycastle
- bcprov-jdk14
- 1.45
- true
-
-
- junit
- junit
- 3.8.2
- test
-
-
- commons-lang
- commons-lang
- 2.6
- test
-
-
- org.apache.ant
- ant-testutil
- 1.7.0
- test
-
-
- ant
- ant-launcher
- 1.6.2
- test
-
-
- ant-contrib
- ant-contrib
- 1.0b3
- test
-
-
- xerces
- xercesImpl
- 2.6.2
- test
-
-
- xerces
- xmlParserAPIs
- 2.6.2
- test
-
-
-
diff --git a/rpmbuild-sbt.boot.properties b/rpmbuild-sbt.boot.properties
deleted file mode 100644
index 67501fb..0000000
--- a/rpmbuild-sbt.boot.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-[scala]
- version: FEDORA_SCALA_VERSION
-
-[app]
- org: ${sbt.organization-org.scala-sbt}
- name: sbt
- version: ${sbt.version-read(sbt.version)[FEDORA_SBT_VERSION]}
- class: ${sbt.main.class-sbt.xMain}
- components: xsbti,extra
- cross-versioned: ${sbt.cross.versioned-false}
-
-[repositories]
- local: file:${fedora.sbt.ivy.dir-/usr/share/sbt/ivy-local}, [organization]/[module]/[revision]/ivy.xml, [organization]/[module]/[revision]/[artifact]-[revision].[ext]
-
-[boot]
- directory: ${fedora.sbt.boot.dir-/usr/share/sbt/boot}
-
-[log]
- level: debug
-
-[ivy]
- ivy-home: ${fedora.sbt.ivy.dir-/usr/share/sbt/ivy-local}
- checksums: ${sbt.checksums-sha1,md5}
- override-build-repos: true
-
diff --git a/sbt b/sbt
deleted file mode 100755
index ed3d026..0000000
--- a/sbt
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-relpkg=$(rpm -q --whatprovides redhat-release | head -1)
-relver=$(rpm -q --queryformat '%{version}' $relpkg)
-case "$relpkg" in
-fedora* ) fedora=${relver%%[^0-9]*} rhel= ;;
-* ) rhel=${relver%%[^0-9]*} fedora= ;;
-esac
-
-if \[ 0$fedora -ge 21 -o 0$rhel -gt 7 \] ; then
-export JLINE=jline
-else
-export JLINE=jline2
-fi
-
-export SBT_BOOT_DIR=${SBT_BOOT_DIR:-/usr/share/sbt/boot}
-export SBT_IVY_DIR=${SBT_IVY_DIR:-/usr/share/sbt/ivy-local}
-
-if \[ "x$RPM_PACKAGE_NAME" != x \] && \[ -f /etc/sbt/rpmbuild-sbt.boot.properties \] ; then
- export SBT_BOOT_PROPERTIES=${SBT_BOOT_PROPERTIES:-/etc/sbt/rpmbuild-sbt.boot.properties}
-else
- export SBT_BOOT_PROPERTIES=${SBT_BOOT_PROPERTIES:-/etc/sbt/sbt.boot.properties}
-fi
-
-export BASE_CLASSPATH=$(build-classpath scala ivy sbt ${JLINE} jansi test-interface sbinary)
-export JAVA_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled"
-
-java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -Dfedora.sbt.boot.dir=${SBT_BOOT_DIR} -Dfedora.sbt.ivy.dir=${SBT_IVY_DIR} -Dsbt.boot.properties=${SBT_BOOT_PROPERTIES} -cp ${BASE_CLASSPATH} xsbt.boot.Boot "$@"
diff --git a/sbt-0.13.1-RC3-release-scala.patch b/sbt-0.13.1-RC3-release-scala.patch
deleted file mode 100644
index caa8175..0000000
--- a/sbt-0.13.1-RC3-release-scala.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- old/project/Release.scala 2013-11-23 13:43:58.498256144 -0600
-+++ new/project/Release.scala 2013-11-25 21:08:00.113468064 -0600
-@@ -39,9 +39,6 @@
- def deployLauncher(launcher: TaskKey[File]) =
- (launcher, launcherRemotePath, credentials, remoteBase, streams) map { (launchJar, remotePath, creds, base, s) =>
- val (uname, pwd) = getCredentials(creds, s.log)
-- val request = dispatch.classic.url(base) / remotePath <<< (launchJar, "binary/octet-stream") as (uname, pwd)
-- val http = new dispatch.classic.Http
-- try { http(request.as_str) } finally { http.shutdown() }
- ()
- }
- def getCredentials(cs: Seq[Credentials], log: Logger): (String, String) =
diff --git a/sbt-0.13.1-ivy-2.3.0.patch b/sbt-0.13.1-ivy-2.3.0.patch
deleted file mode 100644
index 40bd7cd..0000000
--- a/sbt-0.13.1-ivy-2.3.0.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From ea9a2931f69e87fdcf5a8bce02940a30ea4ab56c Mon Sep 17 00:00:00 2001
-From: William Benton
-Date: Fri, 13 Dec 2013 11:39:09 -0600
-Subject: [PATCH 1/2] Support Ivy 2.3.0-final.
-
-This entailed modifying ResolutionCache and the CustomPomParser
-to reflect changes to the ResolutionCacheManager interface and
-DefaultExtendsDescriptor class between Ivy 2.3.0-rc1 and
-2.3.0-rc2. Specifically,
-
-1. ResolutionCacheManager now includes two additional methods
-that needed implementations in ResolutionCache:
-getResolvedModuleDescriptor(mrid: ModuleRevisionId) and
-saveResolvedModuleDescriptor(md: ModuleDescriptor). I adapted
-the implementations for these (which are expressed primarily in
-terms of other interface methods) from Ivy 2.3.0's
-DefaultResolutionCacheManager.
-
-2. Instead of taking a ModuleRevisionIdentifier and a resolved
-ModuleRevisionIdentifier as its first two arguments, the
-DefaultExtendsDescriptor constructor now takes a
-ModuleDescriptor. This was a trivial change.
-
-Note that ResolutionCache.getResolvedModuleDescriptor does not
-appear to be used by Ivy as sbt uses Ivy and there is thus no
-test coverage for its implementation. Also note that the
-DefaultResolutionCacheManager object created in
-Update.configureResolutionCache now requires a reference to an
-IvySettings object; DRCM expects this to be non-null.
----
- ivy/src/main/scala/sbt/CustomPomParser.scala | 2 +-
- ivy/src/main/scala/sbt/Ivy.scala | 2 +-
- ivy/src/main/scala/sbt/ResolutionCache.scala | 27 ++++++++++++++++++++++++++-
- launch/src/main/scala/xsbt/boot/Update.scala | 4 +++-
- project/Util.scala | 2 +-
- 5 files changed, 32 insertions(+), 5 deletions(-)
-
-diff --git a/ivy/src/main/scala/sbt/CustomPomParser.scala b/ivy/src/main/scala/sbt/CustomPomParser.scala
-index 34147d9..7023ab8 100644
---- a/ivy/src/main/scala/sbt/CustomPomParser.scala
-+++ b/ivy/src/main/scala/sbt/CustomPomParser.scala
-@@ -203,7 +203,7 @@ object CustomPomParser
- val unique = IvySbt.mergeDuplicateDefinitions(withExtra)
- unique foreach dmd.addDependency
-
-- for( ed <- md.getInheritedDescriptors) dmd.addInheritedDescriptor( new DefaultExtendsDescriptor( mrid, resolvedMrid, ed.getLocation, ed.getExtendsTypes) )
-+ for( ed <- md.getInheritedDescriptors) dmd.addInheritedDescriptor( new DefaultExtendsDescriptor( md, ed.getLocation, ed.getExtendsTypes) )
- for( conf <- md.getConfigurations) {
- dmd.addConfiguration(conf)
- for(art <- md.getArtifacts(conf.getName)) {
-diff --git a/ivy/src/main/scala/sbt/Ivy.scala b/ivy/src/main/scala/sbt/Ivy.scala
-index 6154bdb..e1dca53 100644
---- a/ivy/src/main/scala/sbt/Ivy.scala
-+++ b/ivy/src/main/scala/sbt/Ivy.scala
-@@ -310,7 +310,7 @@ private object IvySbt
- private[this] def configureResolutionCache(settings: IvySettings, localOnly: Boolean, resCacheDir: Option[File])
- {
- val base = resCacheDir getOrElse settings.getDefaultResolutionCacheBasedir
-- settings.setResolutionCacheManager(new ResolutionCache(base))
-+ settings.setResolutionCacheManager(new ResolutionCache(base, settings))
- }
- // set the artifact resolver to be the main resolver.
- // this is because sometimes the artifact resolver saved in the cache is not correct
-diff --git a/ivy/src/main/scala/sbt/ResolutionCache.scala b/ivy/src/main/scala/sbt/ResolutionCache.scala
-index ab69344..1243420 100644
---- a/ivy/src/main/scala/sbt/ResolutionCache.scala
-+++ b/ivy/src/main/scala/sbt/ResolutionCache.scala
-@@ -1,18 +1,24 @@
- package sbt
-
- import java.io.File
-+import java.io.FileInputStream
-+import java.util.Properties
- import org.apache.ivy.core
-+import org.apache.ivy.plugins.parser
- import core.IvyPatternHelper
-+import core.settings.IvySettings
- import core.cache.{CacheMetadataOptions, DefaultRepositoryCacheManager, DefaultResolutionCacheManager, ResolutionCacheManager}
- import core.module.id.ModuleRevisionId
-+import core.module.descriptor.ModuleDescriptor
- import ResolutionCache.{Name, ReportDirectory, ResolvedName, ResolvedPattern}
-+import parser.xml.XmlModuleDescriptorParser
-
- /** Replaces the standard Ivy resolution cache in order to:
- * 1. Separate cached resolved Ivy files from resolution reports, making the resolution reports easier to find.
- * 2. Have them per-project for easier cleaning (possible with standard cache, but central to this custom one).
- * 3. Cache location includes extra attributes so that cross builds of a plugin do not overwrite each other.
- */
--private[sbt] final class ResolutionCache(base: File) extends ResolutionCacheManager
-+private[sbt] final class ResolutionCache(base: File, settings: IvySettings) extends ResolutionCacheManager
- {
- private[this] def resolvedFileInCache(m: ModuleRevisionId, name: String, ext: String): File = {
- val p = ResolvedPattern
-@@ -35,6 +41,25 @@ private[sbt] final class ResolutionCache(base: File) extends ResolutionCacheMana
- new File(reportBase, resolveId + "-" + conf + ".xml")
- def getConfigurationResolveReportsInCache(resolveId: String): Array[File] =
- IO.listFiles(reportBase).filter(_.getName.startsWith(resolveId + "-"))
-+
-+ // XXX: this method is required by ResolutionCacheManager in Ivy 2.3.0 final,
-+ // but it is apparently unused by Ivy as sbt uses Ivy. Therefore, it is
-+ // unexercised in tests. Note that the implementation of this method in Ivy 2.3.0's
-+ // DefaultResolutionCache also resolves parent properties for a given mrid
-+ def getResolvedModuleDescriptor(mrid: ModuleRevisionId): ModuleDescriptor = {
-+ val ivyFile = getResolvedIvyFileInCache(mrid)
-+ if (!ivyFile.exists()) {
-+ throw new IllegalStateException("Ivy file not found in cache for " + mrid + "!")
-+ }
-+
-+ return XmlModuleDescriptorParser.getInstance().parseDescriptor(settings, ivyFile.toURI().toURL(), false)
-+ }
-+
-+ def saveResolvedModuleDescriptor(md: ModuleDescriptor): Unit = {
-+ val mrid = md.getResolvedModuleRevisionId
-+ val cachedIvyFile = getResolvedIvyFileInCache(mrid)
-+ md.toIvyFile(cachedIvyFile)
-+ }
- }
- private[sbt] object ResolutionCache
- {
-diff --git a/launch/src/main/scala/xsbt/boot/Update.scala b/launch/src/main/scala/xsbt/boot/Update.scala
-index a39a70f..6c8c9f3 100644
---- a/launch/src/main/scala/xsbt/boot/Update.scala
-+++ b/launch/src/main/scala/xsbt/boot/Update.scala
-@@ -286,7 +286,9 @@ final class Update(config: UpdateConfiguration)
- private[this] def configureResolutionCache(settings: IvySettings)
- {
- resolutionCacheBase.mkdirs()
-- settings.setResolutionCacheManager(new DefaultResolutionCacheManager(resolutionCacheBase))
-+ val drcm = new DefaultResolutionCacheManager(resolutionCacheBase)
-+ drcm.setSettings(settings)
-+ settings.setResolutionCacheManager(drcm)
- }
- private[this] def configureRepositoryCache(settings: IvySettings)
- {
-diff --git a/project/Util.scala b/project/Util.scala
-index afddf87..13f99a0 100644
---- a/project/Util.scala
-+++ b/project/Util.scala
-@@ -167,7 +167,7 @@ object Common
- def lib(m: ModuleID) = libraryDependencies += m
- lazy val jlineDep = "jline" % "jline" % "2.11"
- lazy val jline = lib(jlineDep)
-- lazy val ivy = lib("org.apache.ivy" % "ivy" % "2.3.0-rc1")
-+ lazy val ivy = lib("org.apache.ivy" % "ivy" % "2.3.0")
- lazy val httpclient = lib("commons-httpclient" % "commons-httpclient" % "3.1")
- lazy val jsch = lib("com.jcraft" % "jsch" % "0.1.46" intransitive() )
- lazy val sbinary = libraryDependencies <+= Util.nightly211(n => "org.scala-tools.sbinary" % "sbinary" % "0.4.2" cross(if(n) CrossVersion.full else CrossVersion.binary))
---
-1.8.3.4 (Apple Git-47)
-
diff --git a/sbt-0.13.1-ivy-2.4.0.patch b/sbt-0.13.1-ivy-2.4.0.patch
deleted file mode 100644
index 98d5c80..0000000
--- a/sbt-0.13.1-ivy-2.4.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ivy/src/main/scala/sbt/IvyLogger.scala~ 2015-07-21 12:06:06.883992874 +0200
-+++ ivy/src/main/scala/sbt/IvyLogger.scala 2015-07-21 12:06:20.516805104 +0200
-@@ -31,7 +31,7 @@
- def warn(msg: String) = logger.warn(msg)
- def error(msg: String) = if(SbtIvyLogger.acceptError(msg)) logger.error(msg)
-
-- private def emptyList = java.util.Collections.emptyList[T forSome { type T}]
-+ private def emptyList = java.util.Collections.emptyList[String]
- def getProblems = emptyList
- def getWarns = emptyList
- def getErrors = emptyList
diff --git a/sbt-0.13.1-ivy-docs.patch b/sbt-0.13.1-ivy-docs.patch
deleted file mode 100644
index 133cc9e..0000000
--- a/sbt-0.13.1-ivy-docs.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 8c6bddc7296652f0734c70a5f237c488fb5d8798 Mon Sep 17 00:00:00 2001
-From: William Benton
-Date: Fri, 13 Dec 2013 12:51:59 -0600
-Subject: [PATCH 2/2] Update documentation references to Ivy 2.3.0
-
----
- src/sphinx/Detailed-Topics/Artifacts.rst | 2 +-
- src/sphinx/Detailed-Topics/Library-Management.rst | 8 ++++----
- src/sphinx/Detailed-Topics/Publishing.rst | 2 +-
- src/sphinx/Getting-Started/Library-Dependencies.rst | 2 +-
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/sphinx/Detailed-Topics/Artifacts.rst b/src/sphinx/Detailed-Topics/Artifacts.rst
-index 845c7e1..b6d9e45 100644
---- a/src/sphinx/Detailed-Topics/Artifacts.rst
-+++ b/src/sphinx/Detailed-Topics/Artifacts.rst
-@@ -128,7 +128,7 @@ For example:
- Artifact("myproject", "jdk15")
-
- See the `Ivy
--documentation `_
-+documentation `_
- for more details on artifacts. See the `Artifact
- API <../../api/sbt/Artifact$.html>`_ for
- combining the parameters above and specifying [Configurations] and extra
-diff --git a/src/sphinx/Detailed-Topics/Library-Management.rst b/src/sphinx/Detailed-Topics/Library-Management.rst
-index 8dc2e9c..a01a514 100644
---- a/src/sphinx/Detailed-Topics/Library-Management.rst
-+++ b/src/sphinx/Detailed-Topics/Library-Management.rst
-@@ -124,7 +124,7 @@ the version of Scala you are using. See :doc:`Cross-Build` for details.
- Ivy can select the latest revision of a module according to constraints
- you specify. Instead of a fixed revision like `"1.6.1"`, you specify
- `"latest.integration"`, `"2.9.+"`, or `"[1.0,)"`. See the `Ivy
--revisions `_
-+revisions `_
- documentation for details.
-
- Resolvers
-@@ -320,7 +320,7 @@ Extra Attributes
- ~~~~~~~~~~~~~~~~
-
- `Extra
--attributes `_
-+attributes `_
- can be specified by passing key/value pairs to the `extra` method.
-
- To select dependencies by extra attributes:
-@@ -527,7 +527,7 @@ Configurations
- Ivy configurations are a useful feature for your build when you need
- custom groups of dependencies, such as for a plugin. Ivy configurations
- are essentially named sets of dependencies. You can read the
--`Ivy documentation `_
-+`Ivy documentation `_
- for details.
-
- The built-in use of configurations in sbt is similar to scopes in Maven.
-@@ -549,7 +549,7 @@ your dependency definition:
-
- This says that your project's `"test"` configuration uses
- `ScalaTest`'s `"compile"` configuration. See the `Ivy
--documentation `_
-+documentation `_
- for more advanced mappings. Most projects published to Maven
- repositories will use the `"compile"` configuration.
-
-diff --git a/src/sphinx/Detailed-Topics/Publishing.rst b/src/sphinx/Detailed-Topics/Publishing.rst
-index 67dc2bb..ea5d7a2 100644
---- a/src/sphinx/Detailed-Topics/Publishing.rst
-+++ b/src/sphinx/Detailed-Topics/Publishing.rst
-@@ -163,5 +163,5 @@ change the version number each time you publish. Ivy maintains a cache,
- and it stores even local projects in that cache. If Ivy already has a
- version cached, it will not check the local repository for updates,
- unless the version number matches a `changing
--pattern `_,
-+pattern `_,
- and `SNAPSHOT` is one such pattern.
-diff --git a/src/sphinx/Getting-Started/Library-Dependencies.rst b/src/sphinx/Getting-Started/Library-Dependencies.rst
-index 536fe8a..08f84ab 100644
---- a/src/sphinx/Getting-Started/Library-Dependencies.rst
-+++ b/src/sphinx/Getting-Started/Library-Dependencies.rst
-@@ -155,7 +155,7 @@ be a single fixed version. Ivy can select the latest revision of a
- module according to constraints you specify. Instead of a fixed revision
- like `"1.6.1"`, you specify `"latest.integration"`, `"2.9.+"`, or
- `"[1.0,)"`. See the `Ivy
--revisions `_
-+revisions `_
- documentation for details.
-
- Resolvers
---
-1.8.3.4 (Apple Git-47)
-
diff --git a/sbt-0.13.1-sbt-scala.patch b/sbt-0.13.1-sbt-scala.patch
deleted file mode 100644
index 7fb5f12..0000000
--- a/sbt-0.13.1-sbt-scala.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- old/project/Sbt.scala 2013-11-23 13:43:58.498256144 -0600
-+++ new/project/Sbt.scala 2013-11-26 09:59:50.591828593 -0600
-@@ -15,6 +15,7 @@
- def buildSettings = Seq(
- organization := "org.scala-sbt",
- version := "0.13.1",
-+ scalaHome := Some(file("scala")),
- publishArtifact in packageDoc := false,
- scalaVersion := "2.10.3",
- publishMavenStyle := false,
-@@ -97,9 +98,6 @@
- // Compiler-side interface to compiler that is compiled against the compiler being used either in advance or on the fly.
- // Includes API and Analyzer phases that extract source API and relationships.
- lazy val compileInterfaceSub = baseProject(compilePath / "interface", "Compiler Interface") dependsOn(interfaceSub, ioSub % "test->test", logSub % "test->test", launchSub % "test->test") settings( compileInterfaceSettings : _*)
-- lazy val precompiled282 = precompiled("2.8.2")
-- lazy val precompiled292 = precompiled("2.9.2")
-- lazy val precompiled293 = precompiled("2.9.3")
-
- // Implements the core functionality of detecting and propagating changes incrementally.
- // Defines the data structures for representing file fingerprints and relationships and the overall source analysis
-@@ -135,7 +133,7 @@
- // Strictly for bringing implicits and aliases from subsystems into the top-level sbt namespace through a single package object
- // technically, we need a dependency on all of mainSub's dependencies, but we don't do that since this is strictly an integration project
- // with the sole purpose of providing certain identifiers without qualification (with a package object)
-- lazy val sbtSub = baseProject(sbtPath, "sbt") dependsOn(mainSub, compileInterfaceSub, precompiled282, precompiled292, precompiled293, scriptedSbtSub % "test->test") settings(sbtSettings : _*)
-+ lazy val sbtSub = baseProject(sbtPath, "sbt") dependsOn(mainSub, compileInterfaceSub, scriptedSbtSub % "test->test") settings(sbtSettings : _*)
-
- /* Nested subproject paths */
- def sbtPath = file("sbt")
-@@ -211,10 +209,10 @@
- publishAll <<= inAll(nonRoots, publishLocal.task),
- publishAll <<= (publishAll, publishLocal).map((x,y)=> ()) // publish all normal deps as well as the sbt-launch jar
- )
-- def fullDocSettings = Util.baseScalacOptions ++ Docs.settings ++ Sxr.settings ++ Seq(
-+ def fullDocSettings = Util.baseScalacOptions ++ Sxr.settings ++ Seq(
- scalacOptions += "-Ymacro-no-expand", // for both sxr and doc
- sources in sxr <<= deepTasks(sources in Compile), //sxr
-- sources in (Compile,doc) <<= sources in sxr, // doc
-+ sources in (Compile) <<= sources in sxr, // doc
- Sxr.sourceDirectories <<= deep(sourceDirectories in Compile).map(_.flatten), // to properly relativize the source paths
- fullClasspath in sxr <<= (externalDependencyClasspath in Compile in sbtSub),
- dependencyClasspath in (Compile,doc) <<= fullClasspath in sxr
diff --git a/sbt-0.13.1-sxr.patch b/sbt-0.13.1-sxr.patch
deleted file mode 100644
index efb4026..0000000
--- a/sbt-0.13.1-sxr.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/project/Sxr.scala 2014-01-20 15:50:18.561978172 -0600
-+++ b/project/Sxr.scala 2014-01-20 15:35:04.949702779 -0600
-@@ -11,15 +11,10 @@
- lazy val settings: Seq[Setting[_]] = inTask(sxr)(inSxrSettings) ++ baseSettings
-
- def baseSettings = Seq(
-- libraryDependencies += "org.scala-sbt.sxr" % "sxr_2.10" % "0.3.0" % sxrConf.name
- )
- def inSxrSettings = Seq(
- managedClasspath := update.value.matching( configurationFilter(sxrConf.name) ).classpath,
-- scalacOptions += "-P:sxr:base-directory:" + sourceDirectories.value.absString,
-- scalacOptions += "-Xplugin:" + managedClasspath.value.files.filter(_.getName.contains("sxr")).absString,
-- scalacOptions += "-Ystop-after:sxr",
-- target := target.in(taskGlobal).value / "browse",
-- sxr in taskGlobal <<= sxrTask
-+ scalacOptions += "-P:sxr:base-directory:" + sourceDirectories.value.absString
- )
- def taskGlobal = ThisScope.copy(task = Global)
- def sxrTask = (sources, target, scalacOptions, classpathOptions, scalaInstance, fullClasspath, streams) map { (srcs, out, opts, cpOpts, si, cp, s) =>
diff --git a/sbt.boot.properties b/sbt.boot.properties
deleted file mode 100644
index 8a8d83d..0000000
--- a/sbt.boot.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-[scala]
- version: FEDORA_SCALA_VERSION
-
-[app]
- org: ${sbt.organization-org.scala-sbt}
- name: sbt
- version: ${sbt.version-read(sbt.version)[FEDORA_SBT_VERSION]}
- class: ${sbt.main.class-sbt.xMain}
- components: xsbti,extra
- cross-versioned: ${sbt.cross.versioned-false}
-
-[repositories]
- local
- fedora: file:${fedora.sbt.ivy.dir-ivy-local}, [organization]/[module]/[revision]/ivy.xml, [organization]/[module]/[revision]/[artifact]-[revision].[ext]
- typesafe-ivy-releases: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
- maven-central
- sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots
-
-[boot]
- directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
-
-[ivy]
- ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
- checksums: ${sbt.checksums-sha1,md5}
- override-build-repos: ${sbt.override.build.repos-false}
- repository-config: ${sbt.repository.config-${sbt.global.base-${user.home}/.sbt}/repositories}
\ No newline at end of file
diff --git a/sbt.spec b/sbt.spec
deleted file mode 100644
index 5f8e5b2..0000000
--- a/sbt.spec
+++ /dev/null
@@ -1,793 +0,0 @@
-# doing a bootstrap build from public sbt binaries
-# bootstrap exception is here: https://fedorahosted.org/fpc/ticket/389
-# meeting minutes with vote are here: http://meetbot.fedoraproject.org/fedora-meeting-1/2014-02-13/fpc.2014-02-13-17.00.html
-
-%global do_bootstrap 0
-
-# build non-bootstrap packages with tests, cross-referenced sources, etc
-%global do_proper 0
-%global pkg_rel 9
-%global scala_version 2.10.6
-%global scala_short_version 2.10
-%global sbt_bootstrap_version 0.13.1
-%global sbt_major 0
-%global sbt_minor 13
-%global sbt_patch 1
-%global sbt_build %{nil}
-%global sbt_short_version %{sbt_major}.%{sbt_minor}
-%global sbt_version %{sbt_major}.%{sbt_minor}.%{sbt_patch}
-%global sbt_full_version %{sbt_version}%{sbt_build}
-%global typesafe_repo http://repo.typesafe.com/typesafe/ivy-releases
-
-%global ivy_local_dir ivy-local
-
-%global installed_ivy_local %{_datadir}/%{name}/%{ivy_local_dir}
-
-%global generic_ivy_artifact() %{1}/%{2}/%{3}/%{4}/jars/%{5}.jar
-%global generic_ivy_descriptor() %{1}/%{2}/%{3}/%{4}/ivys/ivy.xml#/%{5}-%{4}-ivy.xml
-
-%global sbt_ivy_artifact() %{typesafe_repo}/org.scala-sbt/%{1}/%{sbt_bootstrap_version}/jars/%{1}.jar
-%global sbt_ivy_descriptor() %{typesafe_repo}/org.scala-sbt/%{1}/%{sbt_bootstrap_version}/ivys/ivy.xml#/%{1}-%{sbt_bootstrap_version}-ivy.xml
-
-%global sbt_ghpages_version 0.5.1
-%global sbt_git_version 0.6.3
-%global sbt_site_version 0.6.2
-%global sbt_site_jar_version 0.6.2
-
-%global want_sxr 1
-%global want_specs2 0
-%global want_scalacheck 1
-%global want_dispatch_http 1
-
-
-%global sxr_version 0.3.0
-%global sbinary_version 0.4.2
-%global scalacheck_version 1.11.0
-%global specs2_version 1.12.3
-%global testinterface_version 1.0
-%global dispatch_http_version 0.8.9
-
-Name: sbt
-Version: %{sbt_version}
-Release: %{pkg_rel}%{?dist}.4
-Summary: The simple build tool for Scala and Java projects
-
-BuildArch: noarch
-
-License: BSD
-URL: http://www.scala-sbt.org
-Source0: https://github.com/sbt/sbt/archive/v%{version}%{sbt_build}.tar.gz
-
-Patch0: sbt-0.13.1-sbt-scala.patch
-Patch1: sbt-0.13.1-RC3-release-scala.patch
-Patch2: sbt-0.13.1-ivy-2.3.0.patch
-Patch3: sbt-0.13.1-ivy-docs.patch
-Patch4: sbt-0.13.1-sxr.patch
-Patch5: sbt-0.13.1-ivy-2.4.0.patch
-
-# sbt-ghpages plugin
-Source1: https://github.com/sbt/sbt-ghpages/archive/v%{sbt_ghpages_version}.tar.gz
-
-# sbt-git plugin
-Source2: https://github.com/sbt/sbt-git/archive/v%{sbt_git_version}.tar.gz
-
-# sbt-site plugin
-Source3: https://github.com/sbt/sbt-site/archive/%{sbt_site_version}.tar.gz
-
-# sxr
-Source4: https://github.com/harrah/browse/archive/v%{sxr_version}.tar.gz
-
-# scalacheck
-# nb: no "v" in this tarball URL
-%if %{?want_scalacheck}
-Source6: https://github.com/rickynils/scalacheck/archive/%{scalacheck_version}.tar.gz
-%endif
-
-# specs
-# nb: no "v" in this tarball url
-# nb: this depends on scalaz; might need to excise
-Source7: https://github.com/etorreborre/specs2/archive/SPECS2-%{specs2_version}.tar.gz
-
-Source16: https://raw.github.com/willb/climbing-nemesis/master/climbing-nemesis.py
-Source17: https://raw.github.com/willb/rpm-packaging/master/sbt-packaging/sbt.boot.properties
-Source15: https://raw.github.com/willb/rpm-packaging/master/sbt-packaging/rpmbuild-sbt.boot.properties
-
-# Ivy POM
-# necessary for bootstrapping with sbt 0.13.1
-Source18: http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0-rc1/ivy-2.3.0-rc1.pom
-# necessary for F19 (which doesn't ship with an Ivy pom)
-Source20: http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.pom
-
-# Ivy 2.3.0-rc1 jar (necessary for bootstrapping with sbt 0.13.1)
-Source19: http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0-rc1/ivy-2.3.0-rc1.jar
-
-
-# sbt script (to be obsoleted in future releases)
-Source21: https://raw.github.com/willb/rpm-packaging/master/sbt-packaging/sbt
-
-%if %{do_bootstrap}
-# include bootstrap libraries
-
-Source32: %sbt_ivy_artifact ivy
-
-Source132: %sbt_ivy_descriptor ivy
-
-Source33: %sbt_ivy_artifact task-system
-
-Source133: %sbt_ivy_descriptor task-system
-
-Source34: %generic_ivy_artifact %{typesafe_repo} org.scala-sbt compiler-interface %{sbt_bootstrap_version} compiler-interface-src
-
-Source134: %generic_ivy_descriptor %{typesafe_repo} org.scala-sbt compiler-interface %{sbt_bootstrap_version} compiler-interface-src
-
-Source35: %generic_ivy_artifact %{typesafe_repo} org.scala-sbt compiler-interface %{sbt_bootstrap_version} compiler-interface-bin
-
-Source135: %generic_ivy_descriptor %{typesafe_repo} org.scala-sbt compiler-interface %{sbt_bootstrap_version} compiler-interface-bin
-
-Source36: %sbt_ivy_artifact testing
-
-Source136: %sbt_ivy_descriptor testing
-
-Source37: %sbt_ivy_artifact command
-
-Source137: %sbt_ivy_descriptor command
-
-Source38: %sbt_ivy_artifact test-agent
-
-Source138: %sbt_ivy_descriptor test-agent
-
-Source39: %sbt_ivy_artifact launcher-interface
-
-Source139: %sbt_ivy_descriptor launcher-interface
-
-Source40: %sbt_ivy_artifact run
-
-Source140: %sbt_ivy_descriptor run
-
-Source41: %sbt_ivy_artifact compiler-ivy-integration
-
-Source141: %sbt_ivy_descriptor compiler-ivy-integration
-
-Source42: %sbt_ivy_artifact scripted-sbt
-
-Source142: %sbt_ivy_descriptor scripted-sbt
-
-Source44: %sbt_ivy_artifact collections
-
-Source144: %sbt_ivy_descriptor collections
-
-Source45: %sbt_ivy_artifact persist
-
-Source145: %sbt_ivy_descriptor persist
-
-Source46: %sbt_ivy_artifact classfile
-
-Source146: %sbt_ivy_descriptor classfile
-
-Source47: %sbt_ivy_artifact control
-
-Source147: %sbt_ivy_descriptor control
-
-Source48: %sbt_ivy_artifact launcher
-
-Source148: %sbt_ivy_descriptor launcher
-
-Source49: %sbt_ivy_artifact apply-macro
-
-Source149: %sbt_ivy_descriptor apply-macro
-
-Source50: %sbt_ivy_artifact datatype-generator
-
-Source150: %sbt_ivy_descriptor datatype-generator
-
-Source51: %sbt_ivy_artifact interface
-
-Source151: %sbt_ivy_descriptor interface
-
-Source52: %sbt_ivy_artifact main-settings
-
-Source152: %sbt_ivy_descriptor main-settings
-
-Source53: %sbt_ivy_artifact incremental-compiler
-
-Source153: %sbt_ivy_descriptor incremental-compiler
-
-Source54: %sbt_ivy_artifact cache
-
-Source154: %sbt_ivy_descriptor cache
-
-Source55: %sbt_ivy_artifact compiler-integration
-
-Source155: %sbt_ivy_descriptor compiler-integration
-
-Source56: %sbt_ivy_artifact api
-
-Source156: %sbt_ivy_descriptor api
-
-Source57: %sbt_ivy_artifact main
-
-Source157: %sbt_ivy_descriptor main
-
-Source58: %sbt_ivy_artifact classpath
-
-Source158: %sbt_ivy_descriptor classpath
-
-Source59: %sbt_ivy_artifact logging
-
-Source159: %sbt_ivy_descriptor logging
-
-Source60: %sbt_ivy_artifact compile
-
-Source160: %sbt_ivy_descriptor compile
-
-Source61: %sbt_ivy_artifact process
-
-Source161: %sbt_ivy_descriptor process
-
-Source62: %sbt_ivy_artifact actions
-
-Source162: %sbt_ivy_descriptor actions
-
-Source63: %sbt_ivy_artifact sbt-launch
-
-Source163: %sbt_ivy_descriptor sbt-launch
-
-Source64: %sbt_ivy_artifact scripted-plugin
-
-Source164: %sbt_ivy_descriptor scripted-plugin
-
-Source65: %sbt_ivy_artifact tracking
-
-Source165: %sbt_ivy_descriptor tracking
-
-Source66: %sbt_ivy_artifact tasks
-
-Source166: %sbt_ivy_descriptor tasks
-
-Source67: %sbt_ivy_artifact completion
-
-Source167: %sbt_ivy_descriptor completion
-
-Source68: %sbt_ivy_artifact cross
-
-Source168: %sbt_ivy_descriptor cross
-
-Source69: %sbt_ivy_artifact relation
-
-Source169: %sbt_ivy_descriptor relation
-
-Source70: %sbt_ivy_artifact io
-
-Source170: %sbt_ivy_descriptor io
-
-Source71: %sbt_ivy_artifact sbt
-
-Source171: %sbt_ivy_descriptor sbt
-
-Source72: %sbt_ivy_artifact scripted-framework
-
-Source172: %sbt_ivy_descriptor scripted-framework
-
-# sbt plugins
-Source73: http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-ghpages/scala_%{scala_short_version}/sbt_%{sbt_short_version}/%{sbt_ghpages_version}/jars/sbt-ghpages.jar
-Source74: http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-site/scala_%{scala_short_version}/sbt_%{sbt_short_version}/%{sbt_site_jar_version}/jars/sbt-site.jar
-Source75: http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-git/scala_%{scala_short_version}/sbt_%{sbt_short_version}/%{sbt_git_version}/jars/sbt-git.jar
-
-%if %{?want_sxr}
-# sxr
-Source76: http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt.sxr/sxr_%{scala_short_version}/%{sxr_version}/jars/sxr_%{scala_short_version}.jar
-%endif
-
-# scalacheck
-%if %{?want_scalacheck}
-Source78: http://oss.sonatype.org/content/repositories/releases/org/scalacheck/scalacheck_%{scala_short_version}/%{scalacheck_version}/scalacheck_%{scala_short_version}-%{scalacheck_version}.jar
-%endif
-
-%if %{?want_specs2}
-# specs
-Source79: http://oss.sonatype.org/content/repositories/releases/org/specs2/specs2_%{scala_short_version}/%{specs2_version}/specs2_%{scala_short_version}-%{specs2_version}.jar
-%endif
-
-%if %{?want_dispatch_http}
-# dispatch-http
-Source81: http://oss.sonatype.org/content/repositories/releases/net/databinder/dispatch-http_%{scala_short_version}/%{dispatch_http_version}/dispatch-http_%{scala_short_version}-%{dispatch_http_version}.jar
-%endif
-
-# precompiled (need only for bootstrapping)
-
-Source82: http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_8_2/%{sbt_bootstrap_version}/jars/compiler-interface-bin.jar#/compiler-interface-bin-2_8_2.jar
-
-Source182: %sbt_ivy_descriptor precompiled-2_8_2
-
-Source83: http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_9_2/%{sbt_bootstrap_version}/jars/compiler-interface-bin.jar#/compiler-interface-bin-2_9_2.jar
-
-Source183: %sbt_ivy_descriptor precompiled-2_9_2
-
-Source84: http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/precompiled-2_9_3/%{sbt_bootstrap_version}/jars/compiler-interface-bin.jar#/compiler-interface-bin-2_9_3.jar
-
-Source184: %sbt_ivy_descriptor precompiled-2_9_3
-
-
-%endif
-
-BuildRequires: mvn(org.scala-lang:scala-compiler)
-BuildRequires: java-devel
-BuildRequires: python
-# maven is required because climbing-nemesis.py uses xmvn-resolve
-BuildRequires: maven-local
-
-BuildRequires: mvn(org.bouncycastle:bcprov-jdk16)
-BuildRequires: mvn(org.bouncycastle:bcpg-jdk16)
-BuildRequires: hawtjni
-BuildRequires: mvn(org.fusesource.jansi:jansi)
-BuildRequires: jline2
-BuildRequires: proguard
-
-BuildRequires: javapackages-tools
-Requires: javapackages-tools
-
-BuildRequires: mvn(oro:oro)
-BuildRequires: mvn(com.jcraft:jsch)
-BuildRequires: mvn(commons-httpclient:commons-httpclient)
-BuildRequires: apache-ivy
-BuildRequires: mvn(org.scala-lang:scala-compiler)
-BuildRequires: mvn(org.scala-lang:scala-library)
-BuildRequires: mvn(org.scala-lang:scala-reflect)
-BuildRequires: mvn(org.jsoup:jsoup)
-
-Requires: mvn(oro:oro)
-Requires: mvn(com.jcraft:jsch)
-Requires: mvn(commons-httpclient:commons-httpclient)
-Requires: apache-ivy
-Requires: mvn(org.scala-lang:scala-compiler)
-Requires: mvn(org.scala-lang:scala-library)
-Requires: mvn(org.scala-lang:scala-reflect)
-Requires: mvn(org.jsoup:jsoup)
-Requires: proguard
-
-Requires: mvn(org.bouncycastle:bcprov-jdk16)
-Requires: mvn(org.bouncycastle:bcpg-jdk16)
-Requires: mvn(org.fusesource.jansi:jansi)
-Requires: jline2
-
-BuildRequires: sbinary = %{sbinary_version}
-BuildRequires: test-interface = %{testinterface_version}
-
-Requires: sbinary = %{sbinary_version}
-Requires: test-interface = %{testinterface_version}
-
-%if !%{do_bootstrap}
-BuildRequires: sbt = %{sbt_bootstrap_version}
-
-%if %{do_proper}
-BuildRequires: sbt-ghpages = %{sbt_ghpages_version}
-BuildRequires: sbt-site = %{sbt_site_version}
-BuildRequires: sbt-git = %{sbt_git_version}
-
-BuildRequires: sxr = %{sxr_version}
-BuildRequires: scalacheck = %{scalacheck_version}
-BuildRequires: specs2 = %{specs2_version}
-%endif
-
-%endif
-
-%description
-sbt is the simple build tool for Scala and Java projects.
-
-%prep
-%setup -q -n %{name}-%{sbt_version}%{sbt_build}
-
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-
-%if !%{do_proper}
-%patch4 -p1
-%endif
-
-%patch5
-
-sed -i -e '/% "test"/d' project/Util.scala
-
-cp %{SOURCE16} .
-cp %{SOURCE15} .
-chmod 755 climbing-nemesis.py
-
-cp %{SOURCE17} .
-
-%if %{do_bootstrap}
-cp %{SOURCE63} .
-%endif
-
-sed -i -e '/dispatch-http/d' project/p.sbt
-sed -i -e '/sbt-site/d' project/p.sbt
-sed -i -e '/sbt-ghpages/d' project/p.sbt
-
-
-sed -i -e 's/0.7.1/0.6.2/g' project/p.sbt
-
-for props in rpmbuild-sbt.boot.properties sbt.boot.properties ; do
- sed -i -e 's/FEDORA_SCALA_VERSION/%{scala_version}/g' $props
- sed -i -e 's/FEDORA_SBT_VERSION/%{sbt_version}/g' $props
-done
-
-sed -i -e 's/0.13.0/%{sbt_bootstrap_version}/g' project/build.properties
-
-######################################################################
-# Here we're going to use the climbing-nemesis script to populate a local
-# Ivy repository. sbt needs these dependencies to be resolvable by Ivy
-# and not merely on the classpath. When we build a package, we'll be taking
-# this repository and installing it alongside the sbt jars so our sbt binary
-# can use it.
-######################################################################
-
-./climbing-nemesis.py org.jsoup jsoup %{ivy_local_dir} --version 1.7.1
-
-# fake on F19
-./climbing-nemesis.py com.jcraft jsch %{ivy_local_dir} --version 0.1.46
-
-# scala compiler; nb; we may need to treat the compiler specially to remove the spurious jline dependency
-./climbing-nemesis.py org.scala-lang scala-library %{ivy_local_dir} --version %{scala_version}
-./climbing-nemesis.py org.scala-lang scala-compiler %{ivy_local_dir} --version %{scala_version}
-./climbing-nemesis.py org.scala-lang scala-reflect %{ivy_local_dir} --version %{scala_version}
-
-# fake on F19
-%if 0%{?fedora} >= 21 || 0%{?rhel} > 7
-./climbing-nemesis.py jline jline %{ivy_local_dir} --version 2.11
-./climbing-nemesis.py org.fusesource.jansi jansi %{ivy_local_dir} --version 1.11
-./climbing-nemesis.py org.fusesource.jansi jansi-native %{ivy_local_dir} --version 1.7
-./climbing-nemesis.py org.fusesource.hawtjni hawtjni-runtime %{ivy_local_dir} --version 1.15
-%else
-./climbing-nemesis.py jline jline %{ivy_local_dir} --version 2.11 --jarfile %{_javadir}/jline2-2.10.jar
-./climbing-nemesis.py org.fusesource.jansi jansi %{ivy_local_dir} --version 1.9
-%endif
-
-%if %{do_bootstrap}
-# we need to use the bundled ivy in the bootstrap build because 2.3.0
-# is source and binary incompatible with 2.3.0-rc1 (which upstream sbt
-# 0.13.1 is built against)
-
-./climbing-nemesis.py org.apache.ivy ivy %{ivy_local_dir} --version 2.3.0-rc1 --pomfile %{SOURCE18} --jarfile %{SOURCE19} # --extra-dep org.bouncycastle:bcpg-jdk16:1.46 --extra-dep org.bouncycastle:bcprov-jdk16:1.46
-%endif
-
-# we're building against Ivy 2.3.0, though
-./climbing-nemesis.py org.apache.ivy ivy %{ivy_local_dir} --version 2.3.0 --pomfile %{SOURCE20} --jarfile %{_javadir}/ivy.jar # --extra-dep org.bouncycastle:bcpg-jdk16:1.46 --extra-dep org.bouncycastle:bcprov-jdk16:1.46
-
-## BEGIN OPTIONAL IVY DEPS
-
-# bouncycastle pgp signature generator
-# ./climbing-nemesis.py org.bouncycastle bcpg-jdk16 %{ivy_local_dir} --version 1.46
-# ./climbing-nemesis.py org.bouncycastle bcprov-jdk16 %{ivy_local_dir} --version 1.46
-
-# ORO (blast from the past)
-./climbing-nemesis.py oro oro %{ivy_local_dir} --version 2.0.8
-
-# JSCH
-./climbing-nemesis.py com.jcraft jsch %{ivy_local_dir} --version 0.1.31
-
-# commons-httpclient
-./climbing-nemesis.py commons-httpclient commons-httpclient %{ivy_local_dir} --version 3.0
-
-## END OPTIONAL IVY DEPS
-
-./climbing-nemesis.py net.sf.proguard proguard-base %{ivy_local_dir} --version 4.8 --jarfile %{_javadir}/proguard/proguard.jar
-
-%if %{do_bootstrap}
-cp %{SOURCE132} org.scala-sbt.ivy-%{sbt_bootstrap_version}.ivy.xml
-cp %{SOURCE171} org.scala-sbt.sbt-%{sbt_bootstrap_version}.ivy.xml
-
-sed -i -e '/precompiled/d' org.scala-sbt.ivy-%{sbt_bootstrap_version}.ivy.xml
-sed -i -e '/precompiled/d' org.scala-sbt.sbt-%{sbt_bootstrap_version}.ivy.xml
-
-./climbing-nemesis.py --jarfile %{SOURCE32} --ivyfile org.scala-sbt.ivy-%{sbt_bootstrap_version}.ivy.xml org.scala-sbt ivy %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE33} --ivyfile %{SOURCE133} org.scala-sbt task-system %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE34} --ivyfile %{SOURCE134} org.scala-sbt compiler-interface-src %{ivy_local_dir} --version %{sbt_bootstrap_version} --override org.scala-sbt:compiler-interface --override-dir-only
-./climbing-nemesis.py --jarfile %{SOURCE35} --ivyfile %{SOURCE135} org.scala-sbt compiler-interface-bin %{ivy_local_dir} --version %{sbt_bootstrap_version} --override org.scala-sbt:compiler-interface --override-dir-only
-./climbing-nemesis.py --jarfile %{SOURCE36} --ivyfile %{SOURCE136} org.scala-sbt testing %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE37} --ivyfile %{SOURCE137} org.scala-sbt command %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE38} --ivyfile %{SOURCE138} org.scala-sbt test-agent %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE39} --ivyfile %{SOURCE139} org.scala-sbt launcher-interface %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE40} --ivyfile %{SOURCE140} org.scala-sbt run %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE41} --ivyfile %{SOURCE141} org.scala-sbt compiler-ivy-integration %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE42} --ivyfile %{SOURCE142} org.scala-sbt scripted-sbt %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE44} --ivyfile %{SOURCE144} org.scala-sbt collections %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE45} --ivyfile %{SOURCE145} org.scala-sbt persist %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE46} --ivyfile %{SOURCE146} org.scala-sbt classfile %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE47} --ivyfile %{SOURCE147} org.scala-sbt control %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE48} --ivyfile %{SOURCE148} org.scala-sbt launcher %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE49} --ivyfile %{SOURCE149} org.scala-sbt apply-macro %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE50} --ivyfile %{SOURCE150} org.scala-sbt datatype-generator %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE51} --ivyfile %{SOURCE151} org.scala-sbt interface %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE52} --ivyfile %{SOURCE152} org.scala-sbt main-settings %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE53} --ivyfile %{SOURCE153} org.scala-sbt incremental-compiler %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE54} --ivyfile %{SOURCE154} org.scala-sbt cache %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE55} --ivyfile %{SOURCE155} org.scala-sbt compiler-integration %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE56} --ivyfile %{SOURCE156} org.scala-sbt api %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE57} --ivyfile %{SOURCE157} org.scala-sbt main %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE58} --ivyfile %{SOURCE158} org.scala-sbt classpath %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE59} --ivyfile %{SOURCE159} org.scala-sbt logging %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE60} --ivyfile %{SOURCE160} org.scala-sbt compile %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE61} --ivyfile %{SOURCE161} org.scala-sbt process %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE62} --ivyfile %{SOURCE162} org.scala-sbt actions %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE63} --ivyfile %{SOURCE163} org.scala-sbt sbt-launch %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE64} --ivyfile %{SOURCE164} org.scala-sbt scripted-plugin %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE65} --ivyfile %{SOURCE165} org.scala-sbt tracking %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE66} --ivyfile %{SOURCE166} org.scala-sbt tasks %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE67} --ivyfile %{SOURCE167} org.scala-sbt completion %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE68} --ivyfile %{SOURCE168} org.scala-sbt cross %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE69} --ivyfile %{SOURCE169} org.scala-sbt relation %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE70} --ivyfile %{SOURCE170} org.scala-sbt io %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE71} --ivyfile org.scala-sbt.sbt-%{sbt_bootstrap_version}.ivy.xml org.scala-sbt sbt %{ivy_local_dir} --version %{sbt_bootstrap_version}
-./climbing-nemesis.py --jarfile %{SOURCE72} --ivyfile %{SOURCE172} org.scala-sbt scripted-framework %{ivy_local_dir} --version %{sbt_bootstrap_version}
-
-# plugins
-
-./climbing-nemesis.py --jarfile %{SOURCE73} com.typesafe.sbt sbt-ghpages %{ivy_local_dir} --version %{sbt_ghpages_version} --meta e:scalaVersion=%{scala_short_version} --meta e:sbtVersion=%{sbt_short_version}
-./climbing-nemesis.py --jarfile %{SOURCE74} com.typesafe.sbt sbt-site %{ivy_local_dir} --version %{sbt_site_version} --meta e:scalaVersion=%{scala_short_version} --meta e:sbtVersion=%{sbt_short_version}
-./climbing-nemesis.py --jarfile %{SOURCE75} com.typesafe.sbt sbt-git %{ivy_local_dir} --version %{sbt_git_version} --meta e:scalaVersion=%{scala_short_version} --meta e:sbtVersion=%{sbt_short_version}
-
-# SXR
-%if %{?want_sxr}
-./climbing-nemesis.py --jarfile %{SOURCE76} org.scala-sbt.sxr sxr %{ivy_local_dir} --version %{sxr_version} --scala %{scala_short_version}
-%endif
-
-# test-interface
-./climbing-nemesis.py org.scala-sbt test-interface %{ivy_local_dir} --version 1.0
-
-# sbinary
-./climbing-nemesis.py org.scala-tools.sbinary sbinary_%{scala_short_version} %{ivy_local_dir} # --scala %{scala_short_version}
-
-# scalacheck
-%if %{?want_scalacheck}
-./climbing-nemesis.py --jarfile %{SOURCE78} org.scalacheck scalacheck %{ivy_local_dir} --version %{scalacheck_version} --scala %{scala_short_version}
-%endif
-
-# specs2
-%if %{?want_specs2}
-./climbing-nemesis.py --jarfile %{SOURCE79} org.specs2 specs2 %{ivy_local_dir} --version %{specs2_version} --scala %{scala_short_version}
-%endif
-
-%if %{?want_dispatch_http}
-# dispatch-http
-./climbing-nemesis.py --jarfile %{SOURCE81} net.databinder dispatch-http_%{scala_short_version} %{ivy_local_dir} --version %{dispatch_http_version}
-%endif
-
-%else
-# If we aren't bootstrapping, copy installed jars into local ivy cache
-# dir. In the future, we'll use MikoĊaj's new xmvn Ivy resolver.
-
-# sbt components
-for jar in actions api apply-macro cache classfile classpath collections command compile compiler-integration compiler-ivy-integration completion control cross datatype-generator incremental-compiler interface io ivy launcher launcher-interface logging main main-settings persist process relation run sbt scripted-framework scripted-plugin scripted-sbt tasks task-system test-agent testing tracking; do
- ./climbing-nemesis.py --jarfile %{_javadir}/%{name}/${jar}.jar --ivyfile %{installed_ivy_local}/org.scala-sbt/${jar}/%{sbt_bootstrap_version}/ivy.xml org.scala-sbt ${jar} %{ivy_local_dir}
-done
-
-./climbing-nemesis.py --jarfile %{_javadir}/%{name}/compiler-interface-src.jar --ivyfile %{installed_ivy_local}/org.scala-sbt/compiler-interface/%{sbt_bootstrap_version}/ivy.xml org.scala-sbt compiler-interface-src %{ivy_local_dir} --version %{sbt_bootstrap_version} --override org.scala-sbt:compiler-interface --override-dir-only
-
-./climbing-nemesis.py --jarfile %{_javadir}/%{name}/compiler-interface-bin.jar --ivyfile %{installed_ivy_local}/org.scala-sbt/compiler-interface/%{sbt_bootstrap_version}/ivy.xml org.scala-sbt compiler-interface-bin %{ivy_local_dir} --version %{sbt_bootstrap_version} --override org.scala-sbt:compiler-interface --override-dir-only
-
-# test-interface
-./climbing-nemesis.py org.scala-sbt test-interface %{ivy_local_dir} --version 1.0
-
-# sbinary
-./climbing-nemesis.py org.scala-tools.sbinary sbinary_%{scala_short_version} %{ivy_local_dir} # --scala %{scala_short_version}
-
-%endif
-
-# better not to try and compile the docs project
-rm -f project/Docs.scala
-
-mkdir sbt-boot-dir
-
-%if %{do_bootstrap}
-mkdir -p sbt-boot-dir/scala-%{scala_version}/org.scala-sbt/%{name}/%{sbt_bootstrap_version}/
-mkdir -p sbt-boot-dir/scala-%{scala_version}/lib
-
-for jar in $(find %{ivy_local_dir}/ -name \*.jar | grep fusesource) ; do
- cp --symbolic-link $(readlink $jar) sbt-boot-dir/scala-%{scala_version}/lib
-done
-
-# this is a hack, obvs
-for jar in $(find %{ivy_local_dir}/ -name \*.jar | grep bouncycastle) ; do
- cp --symbolic-link $(readlink $jar) sbt-boot-dir/scala-%{scala_version}/lib
-done
-
-%endif
-mkdir -p scala/lib
-for jar in %{_javadir}/scala/*.jar ; do
- cp --symbolic-link $jar scala/lib
-done
-
-sed -i -e 's/["]2[.]10[.][234]["]/\"%{scala_version}\"/g' $(find . -name \*.sbt -type f) $(find . -name \*.xml) $(find . -name \*.scala)
-sed -i -e 's/["]2[.]10[.]2-RC2["]/\"%{scala_version}\"/g' $(find . -name \*.sbt -type f)
-
-# work around proguard bugs with the Scala library
-sed -i -e 's/"-dontnote",/"-dontnote", "-dontshrink", "-dontoptimize",/g' project/Proguard.scala
-sed -i -e 's/mapLibraryJars.all filterNot in[.]toSet./mapLibraryJars(all.map {f => new java.io.File(f.getCanonicalPath())} filterNot in.map {f => new java.io.File(f.getCanonicalPath())}.toSet)/g' project/Proguard.scala
-
-%build
-
-%if %{do_bootstrap}
-java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -jar -Dfedora.sbt.ivy.dir=ivy-local -Dfedora.sbt.boot.dir=sbt-boot-dir -Divy.checksums='""' -Dsbt.boot.properties=rpmbuild-sbt.boot.properties sbt-launch.jar package "set publishTo in Global := Some(Resolver.file(\"published\", file(\"published\"))(Resolver.ivyStylePatterns) ivys \"$(pwd)/published/[organization]/[module]/[revision]/ivy.xml\" artifacts \"$(pwd)/published/[organization]/[module]/[revision]/[artifact]-[revision].[ext]\")" publish makePom
-%else
-export SBT_IVY_DIR=$PWD/ivy-local
-export SBT_BOOT_DIR=$PWD/sbt-boot-dir
-export SBT_BOOT_PROPERTIES=rpmbuild-sbt.boot.properties
-sbt package "set publishTo in Global := Some(Resolver.file(\"published\", file(\"published\"))(Resolver.ivyStylePatterns) ivys \"$(pwd)/published/[organization]/[module]/[revision]/ivy.xml\" artifacts \"$(pwd)/published/[organization]/[module]/[revision]/[artifact]-[revision].[ext]\")" publish makePom
-%endif
-
-# XXX: this is a hack; we seem to get correct metadata but bogus JARs
-# from "sbt publish" for some reason
-for f in $(find published -name \*.jar ) ; do
- find . -ipath \*target\* -and -name $(basename $f) -exec cp '{}' $f \;
-done
-
-%install
-
-mkdir -p %{buildroot}/%{_javadir}/%{name}
-
-# collect and install SBT jars
-find published -name \*.jar | grep -v sbt-launch.jar | grep %{sbt_full_version}.jar | xargs -I JAR cp JAR %{buildroot}/%{_javadir}/%{name}
-
-mkdir -p %{buildroot}/%{_bindir}
-cp -p %{SOURCE21} %{buildroot}/%{_bindir}/%{name}
-chmod 755 %{buildroot}/%{_bindir}/%{name}
-
-pushd %{buildroot}/%{_javadir}/%{name}
-for jar in *.jar ; do
- mv $jar $(echo $jar | sed -e 's/-%{sbt_full_version}//g')
-done
-popd
-
-rm -f %{buildroot}/%{_javadir}/%{name}/sbt-launch.jar
-
-mkdir -p %{buildroot}/%{_sysconfdir}/%{name}
-
-# XXXXXXX
-for props in rpmbuild-sbt.boot.properties sbt.boot.properties ; do
- sed 's/debug/info/' < $props > %{buildroot}/%{_sysconfdir}/%{name}/$props
-done
-
-mkdir -p %{buildroot}/%{installed_ivy_local}
-
-# remove things that we only needed for the bootstrap build
-
-rm -rf %{ivy_local_dir}/net.databinder
-rm -rf %{ivy_local_dir}/com.typesafe.sbt
-rm -rf %{ivy_local_dir}/org.scalacheck
-rm -rf %{ivy_local_dir}/org.scala-sbt.sxr
-rm -rf %{ivy_local_dir}/cache
-
-rm -rf %{ivy_local_dir}/org.scala-sbt/sbt-launch
-
-(cd %{ivy_local_dir} ; tar --exclude=.md5 --exclude=.sha1 -cf - .) | (cd %{buildroot}/%{installed_ivy_local} ; tar -xf - )
-(cd published ; tar --exclude=\*.md5 --exclude=\*.sha1 -cf - .) | (cd %{buildroot}/%{installed_ivy_local} ; tar -xf - )
-
-for bootjar in $(find %{buildroot}/%{installed_ivy_local}/org.scala-sbt -type l) ; do
-rm -f $bootjar
-ln -s %{_javadir}/%{name}/$(basename $bootjar) $bootjar
-done
-
-%if %{do_bootstrap}
-# remove bootstrap ivy 2.3.0-rc1 jar if we're using it
-find %{buildroot}/%{installed_ivy_local} -lname %{SOURCE19} | xargs dirname | xargs rm -rf
-
-concretize() {
- src=$(readlink $1)
- rm $1 && cp $src $1
-}
-
-# copy other bootstrap dependency jars from their sources
-for depjar in $(find %{buildroot}/%{installed_ivy_local} -lname %{_sourcedir}\* ) ; do
-concretize $depjar
-done
-
-%endif # do_bootstrap
-
-find %{buildroot}/%{installed_ivy_local} -name \*.lock -delete
-
-find %{buildroot}/%{_datadir}/%{name} -name \*test-interface\* | xargs rm -rf
-./climbing-nemesis.py org.scala-sbt test-interface %{buildroot}/%{installed_ivy_local} --version %{testinterface_version}
-
-### install POM files
-mkdir -p %{buildroot}/%{_mavenpomdir}
-rm -f .rpm_pomfiles
-touch .rpm_pomfiles
-declare -a shortnames
-
-for pom in $(find . -name \*.pom | grep -v compiler-interface | grep -v launch-test | grep -v sbt-launch ) ; do
- shortname=$(echo $pom | sed -e 's/^.*[/]\([a-z-]\+\)-0.13.1.pom$/\1/g')
- echo installing POM $pom to %{_mavenpomdir}/JPP.%{name}-${shortname}.pom
- cp $pom %{buildroot}/%{_mavenpomdir}/JPP.%{name}-${shortname}.pom
- echo %{_mavenpomdir}/JPP.%{name}-${shortname}.pom >> .rpm_pomfiles
- shortnames=( "${shortnames[@]}" $shortname )
-done
-
-echo shortnames are ${shortnames[@]}
-
-for sub in ${shortnames[@]} ; do
- echo running add_maven_depmap JPP.%{name}-${sub}.pom %{name}/${sub}.jar
- %add_maven_depmap JPP.%{name}-${sub}.pom %{name}/${sub}.jar
-done
-
-%files -f .mfiles
-%{_datadir}/%{name}
-%{_bindir}/%{name}*
-%{_javadir}/%{name}
-%{_javadir}/%{name}/compiler-interface-src.jar
-%{_javadir}/%{name}/compiler-interface-bin.jar
-
-%{_sysconfdir}/%{name}
-%doc README.md LICENSE NOTICE
-
-%changelog
-* Fri Jul 26 2019 Fedora Release Engineering - 0.13.1-9.4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Sat Feb 02 2019 Fedora Release Engineering - 0.13.1-9.3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Sat Jul 14 2018 Fedora Release Engineering - 0.13.1-9.2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Fri Feb 09 2018 Fedora Release Engineering - 0.13.1-9.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Tue Jan 16 2018 Merlin Mathesius 0.13.1-9
-- Manually rebase/apply earlier patch provided with BZ#1424418 to fix FTBFS:
- - Thu Jun 22 2017 Troy Dawson
- - Fix spec file to build with scala 2.10.6 (#1424418)
-- Additional spec file FTBFS fixes to build with jansi-native 1.5 and hawtjni 1.8
-- Cleanup spec file conditionals
-
-* Thu Jul 27 2017 Fedora Release Engineering - 0.13.1-8.3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Sat Feb 11 2017 Fedora Release Engineering - 0.13.1-8.2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Thu Feb 04 2016 Fedora Release Engineering - 0.13.1-8.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Tue Jul 21 2015 Mikolaj Izdebski - 0.13.1-8
-- Non-bootstrap build
-
-* Tue Jul 21 2015 Mikolaj Izdebski - 0.13.1-7
-- Port to Ivy 2.4.0
-- Fix compatibility with XMvn 2.4.0
-
-* Fri Jul 10 2015 William Benton - 0.13.1-7
-- bootstrap build
-- fixes for Proguard
-- don't ExcludeArch ARM
-
-* Fri Jun 19 2015 Fedora Release Engineering - 0.13.1-6.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Wed Apr 22 2015 Peter Robinson 0.13.1-6
-- Rebuild to fix dangling jansi-native and hawtjni-runtime symlinks
-
-* Sun Jun 08 2014 Fedora Release Engineering - 0.13.1-5.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Tue Mar 4 2014 William Benton - 0.13.1-5
-- fixes BZ 1072096
-
-* Thu Jan 30 2014 William Benton - 0.13.1-4
-- use native test-interface and sbinary packages in both bootstrap and non-bootstrap modes
-- fix a bug that was crashing on rawhide
-
-* Mon Jan 20 2014 William Benton - 0.13.1-3
-- builds as non-bootstrap package
-- numerous other minor fixes
-
-* Wed Jan 15 2014 William Benton - 0.13.1-2
-- use generated Ivy files
-- use bootstrap test-interface in bootstrap package
-
-* Sat Dec 14 2013 William Benton - 0.13.1-1
-- updated to 0.13.1
-- many other packaging fixes
-
-* Thu Nov 7 2013 William Benton - 0.13.0-1
-- initial package
diff --git a/sources b/sources
deleted file mode 100644
index c9faef6..0000000
--- a/sources
+++ /dev/null
@@ -1,100 +0,0 @@
-df1b2ba31a94c9edcdefeae1bd2e6f30 0.6.2.tar.gz
-42754f9b2be5b0dc2c95136d151502d2 1.11.0.tar.gz
-cea7035e8d2256429e9a46bb0fdde70e actions-0.13.1-ivy.xml
-ea56911f3e618b8d5e1f24ab73e69e43 actions.jar
-1dfa58e033130f1c867a719fb16f6442 api-0.13.1-ivy.xml
-9e1b6d07409742a767a710abcba28825 api.jar
-2e20f9b0f3db4c79ff9108dd312b0a19 apply-macro-0.13.1-ivy.xml
-5126b3c3b4c6c046567a2595f841d952 apply-macro.jar
-f6b3e40675df2b8746c66f74cd267423 cache-0.13.1-ivy.xml
-240b12494580338a00b95ddafa114a3d cache.jar
-f6de12e3ece461f84966a1674aca8ea4 classfile-0.13.1-ivy.xml
-11a227badab1a5329f0b13d0533050f0 classfile.jar
-5e8f3639a2b90cd4b9d732c2f828ea95 classpath-0.13.1-ivy.xml
-8e1663554162d21244e76742b61646f2 classpath.jar
-044e1925cdc8b9b15eee9c6a8ee1417d collections-0.13.1-ivy.xml
-c0273ae782b37b3c6b8cb6814cda0796 collections.jar
-86a8b701e427a689ae665debf2400a7c command-0.13.1-ivy.xml
-959ee861c3a552395eec718d2667f2c7 command.jar
-ab55ea92f92e83ceb5275954d270a837 compile-0.13.1-ivy.xml
-b9f6b258335c817c541f3b5b2ce3a9f8 compile.jar
-f1200f0ca10f7d106bd607e8ba8b2c69 compiler-integration-0.13.1-ivy.xml
-57e5413fcbb0cc79f55712cd06c60447 compiler-integration.jar
-904945440fde9b55e04cbbdfb17288e2 compiler-interface-bin-0.13.1-ivy.xml
-87cfc567b1cf6d2447a94efc845e9e24 compiler-interface-bin-2_8_2.jar
-c5181c6e9cfcc338722948448a9dc4c2 compiler-interface-bin-2_9_2.jar
-e0658aa9b8d948431243618ef9995deb compiler-interface-bin-2_9_3.jar
-c2f281d2338a72ffb6cd8ea486c8aacc compiler-interface-bin.jar
-904945440fde9b55e04cbbdfb17288e2 compiler-interface-src-0.13.1-ivy.xml
-fbd045b0840b8db032f04e7021aa5bd7 compiler-interface-src.jar
-4727902f0e3a69c836b6e4accefcc928 compiler-ivy-integration-0.13.1-ivy.xml
-67597c79d37aaaac880c292c31941a76 compiler-ivy-integration.jar
-3639601eb054066618eff6956106f2fc completion-0.13.1-ivy.xml
-1db531b7e3fbd43b45f9e61f52697c3d completion.jar
-3e3762c72ddb7d5eeaea5e01cbb64a11 control-0.13.1-ivy.xml
-b40827f075c320026d7b8b182b3fc24e control.jar
-350f737b84e3173c4edc547b56ffa16b cross-0.13.1-ivy.xml
-5f1c0bb951ed82d1afb8db7224e70d91 cross.jar
-d9baf99c331ec9941a20a0cfab7c1378 datatype-generator-0.13.1-ivy.xml
-c6cb412a60006ba8f975fea499850413 datatype-generator.jar
-04193ee9d9498a5c0e77c37b6a35d43b dispatch-http_2.10-0.8.9.jar
-83de37bada051972f1ee00ca0514a22f incremental-compiler-0.13.1-ivy.xml
-7caffedcf6bd98d845cf4b624814bf3c incremental-compiler.jar
-7b45efeb7a18894867c8ef83ac27e08b interface-0.13.1-ivy.xml
-69355918a5dec05c3fa01303788aeaea interface.jar
-fa2c8e1b0606c1279e76bbe50888f7de io-0.13.1-ivy.xml
-0d0f24727e8689f3647c56a341b447f3 io.jar
-0196b2e0fba8618b15167eff51bcc8c7 ivy-0.13.1-ivy.xml
-b62bab8c8872d5f8fbf74c8d0760452a ivy-2.3.0-rc1.jar
-399f9b885005cdc0b4f26721a99000ff ivy.jar
-c42636096b462cbc1051f9deb98a5881 launcher-0.13.1-ivy.xml
-c4a4a6c51834676d767f44978b7ba971 launcher-interface-0.13.1-ivy.xml
-fd862bc63fa29f9bb3ff128b5dd50b36 launcher-interface.jar
-b58332fbbfd1a3b0099edc60f6f6ea22 launcher.jar
-607b122cd6aad2bc1004e27b9ceb531b logging-0.13.1-ivy.xml
-f361a40db10e54e21494ff3d4e63bab8 logging.jar
-88f62a47c3e0b9d5b1c21500a9976e06 main-0.13.1-ivy.xml
-f86e071ba801623df9f73a10b36cf453 main.jar
-929b3f588201c02efd643e375d5a3ca7 main-settings-0.13.1-ivy.xml
-a55a5a4c27cedbdfdc0531449dfed640 main-settings.jar
-170a12007953e87ca8e59d70136a9215 persist-0.13.1-ivy.xml
-a243ebfdc5b8d394d32f3259ae2674d9 persist.jar
-13d1718d8328c5003efb93a95e35f4af precompiled-2_8_2-0.13.1-ivy.xml
-d33bc56ebbd6617126697714b7c151c0 precompiled-2_9_2-0.13.1-ivy.xml
-09d66a0e4e1c9884dec8eb44ae02a16b precompiled-2_9_3-0.13.1-ivy.xml
-977495499a95df6776fc114f4859fe06 process-0.13.1-ivy.xml
-2dd317b2728b4cae4212a99944fbfc80 process.jar
-d73642b133f0eed2c1153bfdd7e3fcc1 relation-0.13.1-ivy.xml
-5e9b62de3cba9df2134b076118748541 relation.jar
-c8a2bfe7eddc46d95b99b911ab79bd93 run-0.13.1-ivy.xml
-7fa6a22d5238dc6e9d1de8bfeb861c6d run.jar
-5536bcd367a85172d742122069498a22 sbt-0.13.1-ivy.xml
-1eb9bccc46a2dc7148fda885cddcc724 sbt-ghpages.jar
-1b5a133c77d94c4ca8776e5eef025ee8 sbt-git.jar
-f9854a4b343ee77dd43226c6be90ab4c sbt.jar
-474a0922e6fa0a80ff478d0892c076e7 sbt-launch-0.13.1-ivy.xml
-79e367c11fc2294f865c6ecc47b8886c sbt-launch.jar
-71af201e379bf05f276f349a163141f7 sbt-site.jar
-930863be3ebce573502eb88826e8cfd6 scalacheck_2.10-1.11.0.jar
-f2873ed678037d744551416babc7495a scripted-framework-0.13.1-ivy.xml
-cbc208fb078be1e2a09dce08c520228c scripted-framework.jar
-b107627f6b785694cbd06b422ad17825 scripted-plugin-0.13.1-ivy.xml
-5b26d35056fbe8421946b940f243094e scripted-plugin.jar
-f829b34910035b64c2d4fbd9699619bf scripted-sbt-0.13.1-ivy.xml
-3b09ab7f1513c6ae6cf66876f9169eba scripted-sbt.jar
-505bdd2c16cf65267a42d77c1935aeba SPECS2-1.12.3.tar.gz
-b73f95ba41bf4df03e77122ae0e3b7cb sxr_2.10.jar
-de345b25321b7802c7edfc135e3f0bf5 tasks-0.13.1-ivy.xml
-58c2d02bb972588a4a009df4169d7c25 tasks.jar
-6d5a849d150bec79809c125f65e17343 task-system-0.13.1-ivy.xml
-1f9675aaed39c7ec7f153fbde1730d2e task-system.jar
-a2191c2e5198f6fae2b62236eff81c46 test-agent-0.13.1-ivy.xml
-f90219d3b4a9c5376768c7bc5a09942d test-agent.jar
-03f98e28df54a6bbc30a67806f2d8dae testing-0.13.1-ivy.xml
-eda5287dff78fe5d0e1c4d3422244d69 testing.jar
-d20852339ce946c93d2760269111bea2 tracking-0.13.1-ivy.xml
-43002b6966c3404533d17811f8b58000 tracking.jar
-795e05e326e952e8e9a1f166d3b4a6ff v0.13.1.tar.gz
-64349ecd70ed5dd083349e50dd5a60b6 v0.3.0.tar.gz
-1e2c25a231f864924ddbf8ab4a3e5527 v0.5.1.tar.gz
-d8fe0ccf644879c6e250670585b15912 v0.6.3.tar.gz