This is an automated email from the ASF dual-hosted git repository.
lresende pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-toree.git
The following commit(s) were added to refs/heads/master by this push:
new 82aaf23c [TOREE-555] Upgrade Coursier from 1.0.3 to 2.0.0 (#223)
82aaf23c is described below
commit 82aaf23c73cc0e4bf2b533f7028e74a3f400ca52
Author: Cheng Pan <[email protected]>
AuthorDate: Wed Sep 4 13:52:27 2024 +0800
[TOREE-555] Upgrade Coursier from 1.0.3 to 2.0.0 (#223)
---
etc/legal/LICENSE_extras | 47 +-
etc/legal/licenses/LICENSE-ammonite.txt | 25 -
etc/legal/licenses/LICENSE-jline.txt | 902 ---------------------
etc/legal/licenses/LICENSE-scala-stm.txt | 24 -
etc/legal/licenses/LICENSE-scalaz.txt | 24 -
.../CoursierDependencyDownloader.scala | 131 +--
project/Dependencies.scala | 2 +-
7 files changed, 85 insertions(+), 1070 deletions(-)
diff --git a/etc/legal/LICENSE_extras b/etc/legal/LICENSE_extras
index 01ec513b..fccbf2f3 100644
--- a/etc/legal/LICENSE_extras
+++ b/etc/legal/LICENSE_extras
@@ -13,51 +13,40 @@ Apache License 2.0
com.google.guava:guava:14.0.1
org.apache.pekko:pekko-slf4j_2.12:1.0.2
org.apache.pekko:pekko-actor_2.12:1.0.2
- com.typesafe:config:1.3.0 ->
https://github.com/lightbend/config/blob/master/LICENSE-2.0.txt
- com.typesafe.play:play-json_2.11:2.3.10 ->
https://github.com/playframework/play-json/blob/master/LICENSE
- com.typesafe.play:play-datacommons_2.11:2.3.10
- com.typesafe.play:play-functional_2.11:2.3.10
- com.typesafe.play:play-iteratees_2.11:2.3.10
+ com.typesafe:config:1.4.3 ->
https://github.com/lightbend/config/blob/master/LICENSE-2.0.txt
+ com.typesafe.play:play-json_2.12:2.7.4 ->
https://github.com/playframework/play-json/blob/master/LICENSE
+ com.typesafe.play:play-functional_2.12:2.7.4
commons-logging:commons-logging:1.1.3 ->
https://github.com/apache/commons-logging/blob/trunk/LICENSE.txt
- io.get-coursier:coursier-cache_2.11:1.0.0-RC10 ->
https://github.com/coursier/coursier/blob/master/LICENSE
- io.get-coursier:coursier_2.11:1.0.0-RC10 ->
https://github.com/coursier/coursier/blob/master/LICENSE
- joda-time:joda-time:2.3 ->
https://github.com/JodaOrg/joda-time/blob/master/LICENSE.txt
- org.springframework:spring-core:4.1.1.RELEASE
+ io.get-coursier:coursier-cache_2.12:2.0.0 ->
https://github.com/coursier/coursier/blob/master/LICENSE
+ io.get-coursier:coursier_2.12:2.0.0 ->
https://github.com/coursier/coursier/blob/master/LICENSE
+ joda-time:joda-time:2.10.1 ->
https://github.com/JodaOrg/joda-time/blob/master/LICENSE.txt
+ org.springframework:spring-core:5.2.2.RELEASE
org.apache.commons:commons-exec:1.3 ->
https://github.com/apache/commons-exec/blob/trunk/LICENSE.txt
- org.joda:joda-convert:1.6 ->
https://github.com/JodaOrg/joda-convert/blob/master/LICENSE.txt
-
========================================================================
MPL v2
========================================================================
- org.zeromq:jeromq:0.3.6 ->
https://github.com/zeromq/jeromq/blob/master/LICENSE
+ org.zeromq:jeromq:0.5.3 ->
https://github.com/zeromq/jeromq/blob/master/LICENSE
========================================================================
BSD-like
========================================================================
- asm:asm-commons:5.1 -> http://asm.ow2.org/license.html and
licenses/LICENSE-asm.txt
- asm:asm-tree:5.1 -> http://asm.ow2.org/license.html and
licenses/LICENSE-asm.txt
- asm:asm-util:5.1 -> http://asm.ow2.org/license.html and
licenses/LICENSE-asm.txt
- asm:asm:5.1 -> http://asm.ow2.org/license.html and licenses/LICENSE-asm.txt
+ asm:asm-commons:7.1 -> http://asm.ow2.org/license.html and
licenses/LICENSE-asm.txt
+ asm:asm-tree:7.1 -> http://asm.ow2.org/license.html and
licenses/LICENSE-asm.txt
+ asm:asm-util:7.1 -> http://asm.ow2.org/license.html and
licenses/LICENSE-asm.txt
+ asm:asm:7.1 -> http://asm.ow2.org/license.html and licenses/LICENSE-asm.txt
com.github.jupyter:jvm-repr:0.1.0 ->
https://github.com/jupyter/jvm-repr/blob/master/LICENSE
- jline:jline:2.6 -> https://github.com/jline/jline2/blob/master/LICENSE.txt
and licenses/LICENSE-jline.txt
- org.clapper:classutil_2.11:1.0.12 ->
http://software.clapper.org/javautil/#copyright-and-license and
licenses/LICENSE-clapper.txt
- org.clapper:grizzled-scala_2.11:2.4.1 ->
http://software.clapper.org/grizzled-scala/#copyright-and-license and
licenses/LICENSE-clapper.txt
- org.scala-lang.modules:scala-java8-compat_2.11:0.7.0 ->
https://github.com/scala/scala-java8-compat/blob/master/LICENSE
- org.scala-lang.modules:scala-xml_2.11:1.0.6 ->
https://github.com/scala/scala-xml/blob/master/LICENSE.md
- org.scala-lang:scala-reflect:2.11.8 ->
http://www.scala-lang.org/license.html and licenses/LICENSE-scala.txt
- org.scala-stm:scala-stm_2.11:0.7 ->
https://nbronson.github.io/scala-stm/license.html and
licenses/LICENSE-scala-stm.txt
- org.scalaz:scalaz-concurrent_2.11:7.2.13 ->
https://github.com/scalaz/scalaz/blob/series/7.1.x/etc/LICENCE and
licenses/LICENSE-scalaz.txt
- org.scalaz:scalaz-core_2.11:7.2.13 ->
https://github.com/scalaz/scalaz/blob/series/7.1.x/etc/LICENCE and
licenses/LICENSE-scalaz.txt
- org.scalaz:scalaz-effect_2.11:7.2.13 ->
https://github.com/scalaz/scalaz/blob/series/7.1.x/etc/LICENCE and
licenses/LICENSE-scalaz.txt
- org.scalamacros:quasiquotes_2.10:2.0.1 ->
http://www.scala-lang.org/license.html and licenses/LICENSE-scala.txt
+ org.clapper:classutil_2.12:1.5.1 ->
http://software.clapper.org/javautil/#copyright-and-license and
licenses/LICENSE-clapper.txt
+ org.clapper:grizzled-scala_2.12:4.9.3 ->
http://software.clapper.org/grizzled-scala/#copyright-and-license and
licenses/LICENSE-clapper.txt
+ org.scala-lang.modules:scala-java8-compat_2.12:1.0.2 ->
https://github.com/scala/scala-java8-compat/blob/master/LICENSE
+ org.scala-lang.modules:scala-xml_2.12:2.1.0 ->
https://github.com/scala/scala-xml/blob/master/LICENSE.md
+ org.scala-lang:scala-reflect:2.12.15 ->
http://www.scala-lang.org/license.html and licenses/LICENSE-scala.txt
========================================================================
MIT license
========================================================================
- com.lihaoyi:ammonite-terminal_2.10:0.5.0 ->
https://github.com/lihaoyi/Ammonite/blob/master/LICENSE and
licenses/LICENSE-ammonite.txt
net.sf.jopt-simple:jopt-simple:4.9 ->
https://pholser.github.io/jopt-simple/license.html and
licenses/LICENSE-jopt-simple.txt
- org.slf4j:slf4j-api:1.7.21 -> http://www.slf4j.org/license.html and
licenses/LICENSE-slf4j.txt
+ org.slf4j:slf4j-api:1.7.32 -> http://www.slf4j.org/license.html and
licenses/LICENSE-slf4j.txt
diff --git a/etc/legal/licenses/LICENSE-ammonite.txt
b/etc/legal/licenses/LICENSE-ammonite.txt
deleted file mode 100644
index 307d8e96..00000000
--- a/etc/legal/licenses/LICENSE-ammonite.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-License
-=======
-
-
-The MIT License (MIT)
-
-Copyright (c) 2014 Li Haoyi ([email protected])
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/etc/legal/licenses/LICENSE-jline.txt
b/etc/legal/licenses/LICENSE-jline.txt
deleted file mode 100644
index 0565aea6..00000000
--- a/etc/legal/licenses/LICENSE-jline.txt
+++ /dev/null
@@ -1,902 +0,0 @@
-
-
-
-
-<!DOCTYPE html>
-<html lang="en" class="">
- <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object:
http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile:
http://ogp.me/ns/profile#">
- <meta charset='utf-8'>
-
- <link crossorigin="anonymous"
href="https://assets-cdn.github.com/assets/frameworks-473733caf98c6c528c9ddeb25f5830e456cb75553a54d79c8c3296648555f848.css"
media="all" rel="stylesheet" />
- <link crossorigin="anonymous"
href="https://assets-cdn.github.com/assets/github-9366a97c2c7a861b73bf6d1bf3b461762a103f28da88b1a7612bd0a7d26c3542.css"
media="all" rel="stylesheet" />
-
-
-
- <link crossorigin="anonymous"
href="https://assets-cdn.github.com/assets/site-2d5d1699983d8dd7c384c67dfc183fbace8e3a24866e8822069d599f68e71fb2.css"
media="all" rel="stylesheet" />
-
- <link as="script"
href="https://assets-cdn.github.com/assets/frameworks-9eb0ddac6d1c94c56980360abcade2abb10d27d7880f7ee7bf6640c2c2a06fc8.js"
rel="preload" />
-
- <link as="script"
href="https://assets-cdn.github.com/assets/github-4ddbe43ff9bf343ea4e58a83f44f72427d4c0e030722f47eb6ea4d231abfa161.js"
rel="preload" />
-
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta http-equiv="Content-Language" content="en">
- <meta name="viewport" content="width=1020">
-
-
- <title>jline2/LICENSE.txt at master · jline/jline2 · GitHub</title>
- <link rel="search" type="application/opensearchdescription+xml"
href="/opensearch.xml" title="GitHub">
- <link rel="fluid-icon" href="https://github.com/fluidicon.png"
title="GitHub">
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
- <link rel="apple-touch-icon" sizes="57x57"
href="/apple-touch-icon-57x57.png">
- <link rel="apple-touch-icon" sizes="60x60"
href="/apple-touch-icon-60x60.png">
- <link rel="apple-touch-icon" sizes="72x72"
href="/apple-touch-icon-72x72.png">
- <link rel="apple-touch-icon" sizes="76x76"
href="/apple-touch-icon-76x76.png">
- <link rel="apple-touch-icon" sizes="114x114"
href="/apple-touch-icon-114x114.png">
- <link rel="apple-touch-icon" sizes="120x120"
href="/apple-touch-icon-120x120.png">
- <link rel="apple-touch-icon" sizes="144x144"
href="/apple-touch-icon-144x144.png">
- <link rel="apple-touch-icon" sizes="152x152"
href="/apple-touch-icon-152x152.png">
- <link rel="apple-touch-icon" sizes="180x180"
href="/apple-touch-icon-180x180.png">
- <meta property="fb:app_id" content="1401488693436528">
-
- <meta
content="https://avatars0.githubusercontent.com/u/711075?v=3&s=400"
name="twitter:image:src" /><meta content="@github" name="twitter:site" /><meta
content="summary" name="twitter:card" /><meta content="jline/jline2"
name="twitter:title" /><meta content="jline2 - The new Jline"
name="twitter:description" />
- <meta
content="https://avatars0.githubusercontent.com/u/711075?v=3&s=400"
property="og:image" /><meta content="GitHub" property="og:site_name" /><meta
content="object" property="og:type" /><meta content="jline/jline2"
property="og:title" /><meta content="https://github.com/jline/jline2"
property="og:url" /><meta content="jline2 - The new Jline"
property="og:description" />
- <meta name="browser-stats-url"
content="https://api.github.com/_private/browser/stats">
- <meta name="browser-errors-url"
content="https://api.github.com/_private/browser/errors">
- <link rel="assets" href="https://assets-cdn.github.com/">
-
- <meta name="pjax-timeout" content="1000">
-
-
- <meta name="msapplication-TileImage" content="/windows-tile.png">
- <meta name="msapplication-TileColor" content="#ffffff">
- <meta name="selected-link" value="repo_source" data-pjax-transient>
-
- <meta name="google-site-verification"
content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
-<meta name="google-site-verification"
content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
- <meta name="google-analytics" content="UA-3769691-2">
-
-<meta content="collector.githubapp.com" name="octolytics-host" /><meta
content="github" name="octolytics-app-id" /><meta
content="20616E3D:53FA:738C7BF:57080DF6" name="octolytics-dimension-request_id"
/>
-<meta content="/<user-name>/<repo-name>/blob/show"
data-pjax-transient="true" name="analytics-location" />
-
-
-
- <meta class="js-ga-set" name="dimension1" content="Logged Out">
-
-
-
- <meta name="hostname" content="github.com">
- <meta name="user-login" content="">
-
- <meta name="expected-hostname" content="github.com">
- <meta name="js-proxy-site-detection-payload"
content="YmM4YTBmNGFjMmQ4YTU5ZjBmNWY3OGRjNDExZjdjY2NiYmM5ZGRjMWNjNjYwZGIyOGVlN2VkOTU3OGIwNjY1M3x7InJlbW90ZV9hZGRyZXNzIjoiMzIuOTcuMTEwLjYxIiwicmVxdWVzdF9pZCI6IjIwNjE2RTNEOjUzRkE6NzM4QzdCRjo1NzA4MERGNiIsInRpbWVzdGFtcCI6MTQ2MDE0NTY1NX0=">
-
- <link rel="mask-icon"
href="https://assets-cdn.github.com/pinned-octocat.svg" color="#4078c0">
- <link rel="icon" type="image/x-icon"
href="https://assets-cdn.github.com/favicon.ico">
-
- <meta content="3b1abb444783abf3f89144ac1f8fecf1948d5587" name="form-nonce"
/>
-
- <meta http-equiv="x-pjax-version"
content="97338dab10e3d7ee1da8a3fa3ab55a04">
-
-
-
- <meta name="description" content="jline2 - The new Jline">
- <meta name="go-import" content="github.com/jline/jline2 git
https://github.com/jline/jline2.git">
-
- <meta content="711075" name="octolytics-dimension-user_id" /><meta
content="jline" name="octolytics-dimension-user_login" /><meta
content="1577604" name="octolytics-dimension-repository_id" /><meta
content="jline/jline2" name="octolytics-dimension-repository_nwo" /><meta
content="true" name="octolytics-dimension-repository_public" /><meta
content="false" name="octolytics-dimension-repository_is_fork" /><meta
content="1577604" name="octolytics-dimension-repository_network_root_id" /><me
[...]
- <link href="https://github.com/jline/jline2/commits/master.atom"
rel="alternate" title="Recent Commits to jline2:master"
type="application/atom+xml">
-
-
- <link rel="canonical"
href="https://github.com/jline/jline2/blob/master/LICENSE.txt"
data-pjax-transient>
- </head>
-
-
- <body class="logged-out env-production vis-public page-blob">
- <div id="js-pjax-loader-bar" class="pjax-loader-bar"></div>
- <a href="#start-of-content" tabindex="1" class="accessibility-aid
js-skip-to-content">Skip to content</a>
-
-
-
-
-
-
-
- <header class="site-header js-details-container" role="banner">
- <div class="container-responsive">
- <a class="header-logo-invertocat" href="https://github.com/"
aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage,
icon:logo-wordmark">
- <svg aria-hidden="true" class="octicon octicon-mark-github" height="32"
version="1.1" viewBox="0 0 16 16" width="32"><path d="M8 0C3.58 0 0 3.58 0 8c0
3.54 2.29 6.53 5.47 7.59 0.4 0.07 0.55-0.17 0.55-0.38
0-0.19-0.01-0.82-0.01-1.49-2.01
0.37-2.53-0.49-2.69-0.94-0.09-0.23-0.48-0.94-0.82-1.13-0.28-0.15-0.68-0.52-0.01-0.53
0.63-0.01 1.08 0.58 1.23 0.82 0.72 1.21 1.87 0.87 2.33 0.66 0.07-0.52
0.28-0.87 0.51-1.07-1.78-0.2-3.64-0.89-3.64-3.95 0-0.87 0.31-1.59
0.82-2.15-0.08-0.2-0.36-1.02 [...]
- </a>
-
- <button class="btn-link right site-header-toggle js-details-target"
type="button" aria-label="Toggle navigation">
- <svg aria-hidden="true" class="octicon octicon-three-bars" height="24"
version="1.1" viewBox="0 0 12 16" width="18"><path d="M11.41 9H0.59c-0.59
0-0.59-0.41-0.59-1s0-1 0.59-1h10.81c0.59 0 0.59 0.41 0.59 1s0 1-0.59 1z
m0-4H0.59c-0.59 0-0.59-0.41-0.59-1s0-1 0.59-1h10.81c0.59 0 0.59 0.41 0.59 1s0
1-0.59 1zM0.59 11h10.81c0.59 0 0.59 0.41 0.59 1s0 1-0.59 1H0.59c-0.59
0-0.59-0.41-0.59-1s0-1 0.59-1z"></path></svg>
- </button>
-
- <div class="site-header-menu">
- <nav class="site-header-nav site-header-nav-main">
- <a href="/personal" class="js-selected-navigation-item nav-item
nav-item-personal" data-ga-click="Header, click, Nav menu - item:personal"
data-selected-links="/personal /personal">
- Personal
-</a> <a href="/open-source" class="js-selected-navigation-item nav-item
nav-item-opensource" data-ga-click="Header, click, Nav menu - item:opensource"
data-selected-links="/open-source /open-source">
- Open source
-</a> <a href="/business" class="js-selected-navigation-item nav-item
nav-item-business" data-ga-click="Header, click, Nav menu - item:business"
data-selected-links="/business /business/features /business/customers
/business">
- Business
-</a> <a href="/explore" class="js-selected-navigation-item nav-item
nav-item-explore" data-ga-click="Header, click, Nav menu - item:explore"
data-selected-links="/explore /trending /trending/developers /integrations
/integrations/feature/code /integrations/feature/collaborate
/integrations/feature/ship /explore">
- Explore
-</a> </nav>
-
- <div class="site-header-actions">
- <a class="btn btn-primary site-header-actions-btn"
href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked
Sign up, text:sign-up">Sign up</a>
- <a class="btn site-header-actions-btn mr-2"
href="/login?return_to=%2Fjline%2Fjline2%2Fblob%2Fmaster%2FLICENSE.txt"
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
- </div>
-
- <nav class="site-header-nav site-header-nav-secondary">
- <a class="nav-item" href="/pricing">Pricing</a>
- <a class="nav-item" href="/blog">Blog</a>
- <a class="nav-item" href="https://help.github.com">Support</a>
- <a class="nav-item header-search-link"
href="https://github.com/search">Search GitHub</a>
- <div class="header-search scoped-search site-scoped-search
js-site-search" role="search">
- <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8"
action="/jline/jline2/search" class="js-site-search-form"
data-scoped-search-url="/jline/jline2/search"
data-unscoped-search-url="/search" method="get"><div
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden"
value="✓" /></div>
- <label class="form-control header-search-wrapper
js-chromeless-input-container">
- <div class="header-search-scope">This repository</div>
- <input type="text"
- class="form-control header-search-input js-site-search-focus
js-site-search-field is-clearable"
- data-hotkey="s"
- name="q"
- placeholder="Search"
- aria-label="Search this repository"
- data-unscoped-placeholder="Search GitHub"
- data-scoped-placeholder="Search"
- tabindex="1"
- autocapitalize="off">
- </label>
-</form></div>
-
- </nav>
- </div>
- </div>
-</header>
-
-
-
- <div id="start-of-content" class="accessibility-aid"></div>
-
- <div id="js-flash-container">
-</div>
-
-
- <div role="main" class="main-content">
- <div itemscope itemtype="http://schema.org/SoftwareSourceCode">
- <div id="js-repo-pjax-container" data-pjax-container>
-
-<div class="pagehead repohead instapaper_ignore readability-menu
experiment-repo-nav">
- <div class="container repohead-details-container">
-
-
-
-<ul class="pagehead-actions">
-
- <li>
- <a href="/login?return_to=%2Fjline%2Fjline2"
- class="btn btn-sm btn-with-count tooltipped tooltipped-n"
- aria-label="You must be signed in to watch a repository" rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-eye" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path d="M8.06 2C3 2 0 8 0 8s3 6
8.06 6c4.94 0 7.94-6 7.94-6S13 2 8.06 2z m-0.06 10c-2.2 0-4-1.78-4-4 0-2.2
1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4z m2-4c0 1.11-0.89 2-2
2s-2-0.89-2-2 0.89-2 2-2 2 0.89 2 2z"></path></svg>
- Watch
- </a>
- <a class="social-count" href="/jline/jline2/watchers">
- 52
- </a>
-
- </li>
-
- <li>
- <a href="/login?return_to=%2Fjline%2Fjline2"
- class="btn btn-sm btn-with-count tooltipped tooltipped-n"
- aria-label="You must be signed in to star a repository" rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-star" height="16"
version="1.1" viewBox="0 0 14 16" width="14"><path d="M14 6l-4.9-0.64L7 1 4.9
5.36 0 6l3.6 3.26L2.67 14l4.33-2.33 4.33 2.33L10.4 9.26 14 6z"></path></svg>
- Star
- </a>
-
- <a class="social-count js-social-count" href="/jline/jline2/stargazers">
- 516
- </a>
-
- </li>
-
- <li>
- <a href="/login?return_to=%2Fjline%2Fjline2"
- class="btn btn-sm btn-with-count tooltipped tooltipped-n"
- aria-label="You must be signed in to fork a repository" rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-repo-forked"
height="16" version="1.1" viewBox="0 0 10 16" width="10"><path d="M8 1c-1.11
0-2 0.89-2 2 0 0.73 0.41 1.38 1 1.72v1.28L5 8 3 6v-1.28c0.59-0.34 1-0.98 1-1.72
0-1.11-0.89-2-2-2S0 1.89 0 3c0 0.73 0.41 1.38 1 1.72v1.78l3 3v1.78c-0.59 0.34-1
0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89
2-2c0-0.73-0.41-1.38-1-1.72V9.5l3-3V4.72c0.59-0.34 1-0.98 1-1.72
0-1.11-0.89-2-2-2zM2 4.2c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2 1.2 0.55 1.2
1.2-0 [...]
- Fork
- </a>
-
- <a href="/jline/jline2/network" class="social-count">
- 143
- </a>
- </li>
-</ul>
-
- <h1 class="entry-title public ">
- <svg aria-hidden="true" class="octicon octicon-repo" height="16"
version="1.1" viewBox="0 0 12 16" width="12"><path d="M4 9h-1v-1h1v1z
m0-3h-1v1h1v-1z m0-2h-1v1h1v-1z m0-2h-1v1h1v-1z m8-1v12c0 0.55-0.45 1-1
1H6v2l-1.5-1.5-1.5 1.5V14H1c-0.55 0-1-0.45-1-1V1C0 0.45 0.45 0 1 0h10c0.55 0 1
0.45 1 1z m-1 10H1v2h2v-1h3v1h5V11z m0-10H2v9h9V1z"></path></svg>
- <span class="author" itemprop="author"><a href="/jline" class="url fn"
rel="author">jline</a></span><!--
---><span class="path-divider">/</span><!--
---><strong itemprop="name"><a href="/jline/jline2"
data-pjax="#js-repo-pjax-container">jline2</a></strong>
-
-</h1>
-
- </div>
- <div class="container">
-
-<nav class="reponav js-repo-nav js-sidenav-container-pjax"
- itemscope
- itemtype="http://schema.org/BreadcrumbList"
- role="navigation"
- data-pjax="#js-repo-pjax-container">
-
- <span itemscope itemtype="http://schema.org/ListItem"
itemprop="itemListElement">
- <a href="/jline/jline2" aria-selected="true"
class="js-selected-navigation-item selected reponav-item" data-hotkey="g c"
data-selected-links="repo_source repo_downloads repo_commits repo_releases
repo_tags repo_branches /jline/jline2" itemprop="url">
- <svg aria-hidden="true" class="octicon octicon-code" height="16"
version="1.1" viewBox="0 0 14 16" width="14"><path d="M9.5 3l-1.5 1.5 3.5 3.5L8
11.5l1.5 1.5 4.5-5L9.5 3zM4.5 3L0 8l4.5 5 1.5-1.5L2.5 8l3.5-3.5L4.5
3z"></path></svg>
- <span itemprop="name">Code</span>
- <meta itemprop="position" content="1">
-</a> </span>
-
- <span itemscope itemtype="http://schema.org/ListItem"
itemprop="itemListElement">
- <a href="/jline/jline2/issues" class="js-selected-navigation-item
reponav-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels
repo_milestones /jline/jline2/issues" itemprop="url">
- <svg aria-hidden="true" class="octicon octicon-issue-opened"
height="16" version="1.1" viewBox="0 0 14 16" width="14"><path d="M7 2.3c3.14 0
5.7 2.56 5.7 5.7S10.14 13.7 7 13.7 1.3 11.14 1.3 8s2.56-5.7 5.7-5.7m0-1.3C3.14
1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7S10.86 1 7 1z m1 3H6v5h2V4z m0
6H6v2h2V10z"></path></svg>
- <span itemprop="name">Issues</span>
- <span class="counter">42</span>
- <meta itemprop="position" content="2">
-</a> </span>
-
- <span itemscope itemtype="http://schema.org/ListItem"
itemprop="itemListElement">
- <a href="/jline/jline2/pulls" class="js-selected-navigation-item
reponav-item" data-hotkey="g p" data-selected-links="repo_pulls
/jline/jline2/pulls" itemprop="url">
- <svg aria-hidden="true" class="octicon octicon-git-pull-request"
height="16" version="1.1" viewBox="0 0 12 16" width="12"><path d="M11
11.28c0-1.73 0-6.28 0-6.28-0.03-0.78-0.34-1.47-0.94-2.06s-1.28-0.91-2.06-0.94c0
0-1.02 0-1 0V0L4 3l3 3V4h1c0.27 0.02 0.48 0.11 0.69 0.31s0.3 0.42 0.31
0.69v6.28c-0.59 0.34-1 0.98-1 1.72 0 1.11 0.89 2 2 2s2-0.89
2-2c0-0.73-0.41-1.38-1-1.72z m-1 2.92c-0.66 0-1.2-0.55-1.2-1.2s0.55-1.2 1.2-1.2
1.2 0.55 1.2 1.2-0.55 1.2-1.2 1.2zM4 3c0-1.11-0.89-2-2-2S0 1 [...]
- <span itemprop="name">Pull requests</span>
- <span class="counter">10</span>
- <meta itemprop="position" content="3">
-</a> </span>
-
- <a href="/jline/jline2/wiki" class="js-selected-navigation-item
reponav-item" data-hotkey="g w" data-selected-links="repo_wiki
/jline/jline2/wiki">
- <svg aria-hidden="true" class="octicon octicon-book" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path d="M2 5h4v1H2v-1z m0
3h4v-1H2v1z m0 2h4v-1H2v1z m11-5H9v1h4v-1z m0 2H9v1h4v-1z m0 2H9v1h4v-1z
m2-6v9c0 0.55-0.45 1-1 1H8.5l-1 1-1-1H1c-0.55 0-1-0.45-1-1V3c0-0.55 0.45-1
1-1h5.5l1 1 1-1h5.5c0.55 0 1 0.45 1 1z m-8 0.5l-0.5-0.5H1v9h6V3.5z
m7-0.5H8.5l-0.5 0.5v8.5h6V3z"></path></svg>
- Wiki
-</a>
- <a href="/jline/jline2/pulse" class="js-selected-navigation-item
reponav-item" data-selected-links="pulse /jline/jline2/pulse">
- <svg aria-hidden="true" class="octicon octicon-pulse" height="16"
version="1.1" viewBox="0 0 14 16" width="14"><path d="M11.5 8L8.8 5.4 6.6 8.5
5.5 1.6 2.38 8H0V10h3.6L4.5 8.2l0.9 5.4L9 8.5l1.6 1.5H14V8H11.5z"></path></svg>
- Pulse
-</a>
- <a href="/jline/jline2/graphs" class="js-selected-navigation-item
reponav-item" data-selected-links="repo_graphs repo_contributors
/jline/jline2/graphs">
- <svg aria-hidden="true" class="octicon octicon-graph" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path d="M16 14v1H0V0h1v14h15z
m-11-1H3V8h2v5z m4 0H7V3h2v10z m4 0H11V6h2v7z"></path></svg>
- Graphs
-</a>
-
-</nav>
-
- </div>
-</div>
-
-<div class="container new-discussion-timeline experiment-repo-nav">
- <div class="repository-content">
-
-
-
-<a
href="/jline/jline2/blob/11a3808f302b945d0cc424536299a9c96ccc996f/LICENSE.txt"
class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a>
-
-<!-- blob contrib key: blob_contributors:v21:867b3fde20872fa09c2b14d3375ca729
-->
-
-<div class="file-navigation js-zeroclipboard-container">
-
-<div class="select-menu js-menu-container js-select-menu left">
- <button class="btn btn-sm select-menu-button js-menu-target css-truncate"
data-hotkey="w"
- title="master"
- type="button" aria-label="Switch branches or tags" tabindex="0"
aria-haspopup="true">
- <i>Branch:</i>
- <span class="js-select-button css-truncate-target">master</span>
- </button>
-
- <div class="select-menu-modal-holder js-menu-content
js-navigation-container" data-pjax aria-hidden="true">
-
- <div class="select-menu-modal">
- <div class="select-menu-header">
- <svg aria-label="Close" class="octicon octicon-x js-menu-close"
height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path
d="M7.48 8l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77
4.25l1.48-1.48 3.75 3.75 3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg>
- <span class="select-menu-title">Switch branches/tags</span>
- </div>
-
- <div class="select-menu-filters">
- <div class="select-menu-text-filter">
- <input type="text" aria-label="Filter branches/tags"
id="context-commitish-filter-field" class="form-control js-filterable-field
js-navigation-enable" placeholder="Filter branches/tags">
- </div>
- <div class="select-menu-tabs">
- <ul>
- <li class="select-menu-tab">
- <a href="#" data-tab-filter="branches"
data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab"
role="tab">Branches</a>
- </li>
- <li class="select-menu-tab">
- <a href="#" data-tab-filter="tags" data-filter-placeholder="Find
a tag…" class="js-select-menu-tab" role="tab">Tags</a>
- </li>
- </ul>
- </div>
- </div>
-
- <div class="select-menu-list select-menu-tab-bucket
js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">
-
- <div data-filterable-for="context-commitish-filter-field"
data-filterable-type="substring">
-
-
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/blob/consistent-license-headers/LICENSE.txt"
- data-name="consistent-license-headers"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="consistent-license-headers">
- consistent-license-headers
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/blob/gh-pages/LICENSE.txt"
- data-name="gh-pages"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="gh-pages">
- gh-pages
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/blob/jline3/LICENSE.txt"
- data-name="jline3"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="jline3">
- jline3
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open
selected"
- href="/jline/jline2/blob/master/LICENSE.txt"
- data-name="master"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="master">
- master
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/blob/non_bmp_characters/LICENSE.txt"
- data-name="non_bmp_characters"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="non_bmp_characters">
- non_bmp_characters
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/blob/vi-cleanup/LICENSE.txt"
- data-name="vi-cleanup"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="vi-cleanup">
- vi-cleanup
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/blob/vi-search-fix/LICENSE.txt"
- data-name="vi-search-fix"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target
js-select-menu-filter-text" title="vi-search-fix">
- vi-search-fix
- </span>
- </a>
- </div>
-
- <div class="select-menu-no-results">Nothing to show</div>
- </div>
-
- <div class="select-menu-list select-menu-tab-bucket
js-select-menu-tab-bucket" data-tab-filter="tags">
- <div data-filterable-for="context-commitish-filter-field"
data-filterable-type="substring">
-
-
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.14.1/LICENSE.txt"
- data-name="jline-2.14.1"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.14.1">
- jline-2.14.1
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.14/LICENSE.txt"
- data-name="jline-2.14"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.14">
- jline-2.14
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.13/LICENSE.txt"
- data-name="jline-2.13"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.13">
- jline-2.13
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.12.1/LICENSE.txt"
- data-name="jline-2.12.1"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.12.1">
- jline-2.12.1
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.12/LICENSE.txt"
- data-name="jline-2.12"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.12">
- jline-2.12
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.11/LICENSE.txt"
- data-name="jline-2.11"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.11">
- jline-2.11
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.10/LICENSE.txt"
- data-name="jline-2.10"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.10">
- jline-2.10
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.9/LICENSE.txt"
- data-name="jline-2.9"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.9">
- jline-2.9
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.8/LICENSE.txt"
- data-name="jline-2.8"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.8">
- jline-2.8
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.7/LICENSE.txt"
- data-name="jline-2.7"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.7">
- jline-2.7
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.6/LICENSE.txt"
- data-name="jline-2.6"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.6">
- jline-2.6
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.5/LICENSE.txt"
- data-name="jline-2.5"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.5">
- jline-2.5
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.4/LICENSE.txt"
- data-name="jline-2.4"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.4">
- jline-2.4
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.3/LICENSE.txt"
- data-name="jline-2.3"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.3">
- jline-2.3
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.2.1/LICENSE.txt"
- data-name="jline-2.2.1"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.2.1">
- jline-2.2.1
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.1/LICENSE.txt"
- data-name="jline-2.1"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.1">
- jline-2.1
- </span>
- </a>
- <a class="select-menu-item js-navigation-item js-navigation-open "
- href="/jline/jline2/tree/jline-2.0/LICENSE.txt"
- data-name="jline-2.0"
- data-skip-pjax="true"
- rel="nofollow">
- <svg aria-hidden="true" class="octicon octicon-check
select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16"
width="12"><path d="M12 5L4 13 0 9l1.5-1.5 2.5 2.5 6.5-6.5 1.5
1.5z"></path></svg>
- <span class="select-menu-item-text css-truncate-target"
title="jline-2.0">
- jline-2.0
- </span>
- </a>
- </div>
-
- <div class="select-menu-no-results">Nothing to show</div>
- </div>
-
- </div>
- </div>
-</div>
-
- <div class="btn-group right">
- <a href="/jline/jline2/find/master"
- class="js-pjax-capture-input btn btn-sm"
- data-pjax
- data-hotkey="t">
- Find file
- </a>
- <button aria-label="Copy file path to clipboard" class="js-zeroclipboard
btn btn-sm zeroclipboard-button tooltipped tooltipped-s"
data-copied-hint="Copied!" type="button">Copy path</button>
- </div>
- <div class="breadcrumb js-zeroclipboard-target">
- <span class="repo-root js-repo-root"><span class="js-path-segment"><a
href="/jline/jline2"><span>jline2</span></a></span></span><span
class="separator">/</span><strong class="final-path">LICENSE.txt</strong>
- </div>
-</div>
-
-
- <div class="commit-tease">
- <span class="right">
- <a class="commit-tease-sha"
href="/jline/jline2/commit/f9b8398fa92b7de099ab9dd27b83b86239cc0516" data-pjax>
- f9b8398
- </a>
- <time datetime="2016-03-14T10:57:48Z" is="relative-time">Mar 14,
2016</time>
- </span>
- <div>
- <img alt="@gnodet" class="avatar" height="20"
src="https://avatars2.githubusercontent.com/u/84022?v=3&s=40" width="20" />
- <a href="/gnodet" class="user-mention" rel="contributor">gnodet</a>
- <a
href="/jline/jline2/commit/f9b8398fa92b7de099ab9dd27b83b86239cc0516"
class="message" data-pjax="true" title="Update copyright">Update copyright</a>
- </div>
-
- <div class="commit-tease-contributors">
- <button type="button" class="btn-link muted-link contributors-toggle"
data-facebox="#blob_contributors_box">
- <strong>2</strong>
- contributors
- </button>
- <a class="avatar-link tooltipped tooltipped-s" aria-label="gnodet"
href="/jline/jline2/commits/master/LICENSE.txt?author=gnodet"><img
alt="@gnodet" class="avatar" height="20"
src="https://avatars2.githubusercontent.com/u/84022?v=3&s=40" width="20" />
</a>
- <a class="avatar-link tooltipped tooltipped-s" aria-label="jdillon"
href="/jline/jline2/commits/master/LICENSE.txt?author=jdillon"><img
alt="@jdillon" class="avatar" height="20"
src="https://avatars2.githubusercontent.com/u/20114?v=3&s=40" width="20" />
</a>
-
-
- </div>
-
- <div id="blob_contributors_box" style="display:none">
- <h2 class="facebox-header" data-facebox-id="facebox-header">Users who
have contributed to this file</h2>
- <ul class="facebox-user-list" data-facebox-id="facebox-description">
- <li class="facebox-user-list-item">
- <img alt="@gnodet" height="24"
src="https://avatars0.githubusercontent.com/u/84022?v=3&s=48" width="24" />
- <a href="/gnodet">gnodet</a>
- </li>
- <li class="facebox-user-list-item">
- <img alt="@jdillon" height="24"
src="https://avatars0.githubusercontent.com/u/20114?v=3&s=48" width="24" />
- <a href="/jdillon">jdillon</a>
- </li>
- </ul>
- </div>
- </div>
-
-<div class="file">
- <div class="file-header">
- <div class="file-actions">
-
- <div class="btn-group">
- <a href="/jline/jline2/raw/master/LICENSE.txt" class="btn btn-sm "
id="raw-url">Raw</a>
- <a href="/jline/jline2/blame/master/LICENSE.txt" class="btn btn-sm
js-update-url-with-hash">Blame</a>
- <a href="/jline/jline2/commits/master/LICENSE.txt" class="btn btn-sm "
rel="nofollow">History</a>
- </div>
-
-
- <button type="button" class="btn-octicon disabled tooltipped
tooltipped-nw"
- aria-label="You must be signed in to make or propose changes">
- <svg aria-hidden="true" class="octicon octicon-pencil" height="16"
version="1.1" viewBox="0 0 14 16" width="14"><path d="M0 12v3h3l8-8-3-3L0 12z
m3 2H1V12h1v1h1v1z m10.3-9.3l-1.3 1.3-3-3 1.3-1.3c0.39-0.39 1.02-0.39 1.41
0l1.59 1.59c0.39 0.39 0.39 1.02 0 1.41z"></path></svg>
- </button>
- <button type="button" class="btn-octicon btn-octicon-danger disabled
tooltipped tooltipped-nw"
- aria-label="You must be signed in to make or propose changes">
- <svg aria-hidden="true" class="octicon octicon-trashcan" height="16"
version="1.1" viewBox="0 0 12 16" width="12"><path d="M10
2H8c0-0.55-0.45-1-1-1H4c-0.55 0-1 0.45-1 1H1c-0.55 0-1 0.45-1 1v1c0 0.55 0.45 1
1 1v9c0 0.55 0.45 1 1 1h7c0.55 0 1-0.45 1-1V5c0.55 0 1-0.45
1-1v-1c0-0.55-0.45-1-1-1z m-1 12H2V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9z
m1-10H1v-1h9v1z"></path></svg>
- </button>
- </div>
-
- <div class="file-info">
- 36 lines (28 sloc)
- <span class="file-info-divider"></span>
- 1.5 KB
- </div>
-</div>
-
-
-
- <div itemprop="text" class="blob-wrapper data type-text">
- <table class="highlight tab-size js-file-line-container"
data-tab-size="8">
- <tr>
- <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
- <td id="LC1" class="blob-code blob-code-inner js-file-line">Copyright
(c) 2002-2016, the original author or authors.</td>
- </tr>
- <tr>
- <td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
- <td id="LC2" class="blob-code blob-code-inner js-file-line">All rights
reserved.</td>
- </tr>
- <tr>
- <td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
- <td id="LC3" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
- <tr>
- <td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
- <td id="LC4" class="blob-code blob-code-inner
js-file-line">http://www.opensource.org/licenses/bsd-license.php</td>
- </tr>
- <tr>
- <td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
- <td id="LC5" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
- <tr>
- <td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
- <td id="LC6" class="blob-code blob-code-inner
js-file-line">Redistribution and use in source and binary forms, with or</td>
- </tr>
- <tr>
- <td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
- <td id="LC7" class="blob-code blob-code-inner js-file-line">without
modification, are permitted provided that the following</td>
- </tr>
- <tr>
- <td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
- <td id="LC8" class="blob-code blob-code-inner js-file-line">conditions
are met:</td>
- </tr>
- <tr>
- <td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
- <td id="LC9" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
- <tr>
- <td id="L10" class="blob-num js-line-number"
data-line-number="10"></td>
- <td id="LC10" class="blob-code blob-code-inner
js-file-line">Redistributions of source code must retain the above
copyright</td>
- </tr>
- <tr>
- <td id="L11" class="blob-num js-line-number"
data-line-number="11"></td>
- <td id="LC11" class="blob-code blob-code-inner js-file-line">notice,
this list of conditions and the following disclaimer.</td>
- </tr>
- <tr>
- <td id="L12" class="blob-num js-line-number"
data-line-number="12"></td>
- <td id="LC12" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
- <tr>
- <td id="L13" class="blob-num js-line-number"
data-line-number="13"></td>
- <td id="LC13" class="blob-code blob-code-inner
js-file-line">Redistributions in binary form must reproduce the above
copyright</td>
- </tr>
- <tr>
- <td id="L14" class="blob-num js-line-number"
data-line-number="14"></td>
- <td id="LC14" class="blob-code blob-code-inner js-file-line">notice,
this list of conditions and the following disclaimer</td>
- </tr>
- <tr>
- <td id="L15" class="blob-num js-line-number"
data-line-number="15"></td>
- <td id="LC15" class="blob-code blob-code-inner js-file-line">in the
documentation and/or other materials provided with</td>
- </tr>
- <tr>
- <td id="L16" class="blob-num js-line-number"
data-line-number="16"></td>
- <td id="LC16" class="blob-code blob-code-inner js-file-line">the
distribution.</td>
- </tr>
- <tr>
- <td id="L17" class="blob-num js-line-number"
data-line-number="17"></td>
- <td id="LC17" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
- <tr>
- <td id="L18" class="blob-num js-line-number"
data-line-number="18"></td>
- <td id="LC18" class="blob-code blob-code-inner js-file-line">Neither
the name of JLine nor the names of its contributors</td>
- </tr>
- <tr>
- <td id="L19" class="blob-num js-line-number"
data-line-number="19"></td>
- <td id="LC19" class="blob-code blob-code-inner js-file-line">may be
used to endorse or promote products derived from this</td>
- </tr>
- <tr>
- <td id="L20" class="blob-num js-line-number"
data-line-number="20"></td>
- <td id="LC20" class="blob-code blob-code-inner js-file-line">software
without specific prior written permission.</td>
- </tr>
- <tr>
- <td id="L21" class="blob-num js-line-number"
data-line-number="21"></td>
- <td id="LC21" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
- <tr>
- <td id="L22" class="blob-num js-line-number"
data-line-number="22"></td>
- <td id="LC22" class="blob-code blob-code-inner js-file-line">THIS
SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</td>
- </tr>
- <tr>
- <td id="L23" class="blob-num js-line-number"
data-line-number="23"></td>
- <td id="LC23" class="blob-code blob-code-inner js-file-line">"AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,</td>
- </tr>
- <tr>
- <td id="L24" class="blob-num js-line-number"
data-line-number="24"></td>
- <td id="LC24" class="blob-code blob-code-inner js-file-line">BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</td>
- </tr>
- <tr>
- <td id="L25" class="blob-num js-line-number"
data-line-number="25"></td>
- <td id="LC25" class="blob-code blob-code-inner js-file-line">AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO</td>
- </tr>
- <tr>
- <td id="L26" class="blob-num js-line-number"
data-line-number="26"></td>
- <td id="LC26" class="blob-code blob-code-inner js-file-line">EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE</td>
- </tr>
- <tr>
- <td id="L27" class="blob-num js-line-number"
data-line-number="27"></td>
- <td id="LC27" class="blob-code blob-code-inner js-file-line">FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,</td>
- </tr>
- <tr>
- <td id="L28" class="blob-num js-line-number"
data-line-number="28"></td>
- <td id="LC28" class="blob-code blob-code-inner js-file-line">OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</td>
- </tr>
- <tr>
- <td id="L29" class="blob-num js-line-number"
data-line-number="29"></td>
- <td id="LC29" class="blob-code blob-code-inner
js-file-line">PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</td>
- </tr>
- <tr>
- <td id="L30" class="blob-num js-line-number"
data-line-number="30"></td>
- <td id="LC30" class="blob-code blob-code-inner js-file-line">DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED</td>
- </tr>
- <tr>
- <td id="L31" class="blob-num js-line-number"
data-line-number="31"></td>
- <td id="LC31" class="blob-code blob-code-inner js-file-line">AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</td>
- </tr>
- <tr>
- <td id="L32" class="blob-num js-line-number"
data-line-number="32"></td>
- <td id="LC32" class="blob-code blob-code-inner
js-file-line">LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING</td>
- </tr>
- <tr>
- <td id="L33" class="blob-num js-line-number"
data-line-number="33"></td>
- <td id="LC33" class="blob-code blob-code-inner js-file-line">IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED</td>
- </tr>
- <tr>
- <td id="L34" class="blob-num js-line-number"
data-line-number="34"></td>
- <td id="LC34" class="blob-code blob-code-inner js-file-line">OF THE
POSSIBILITY OF SUCH DAMAGE.</td>
- </tr>
- <tr>
- <td id="L35" class="blob-num js-line-number"
data-line-number="35"></td>
- <td id="LC35" class="blob-code blob-code-inner js-file-line">
-</td>
- </tr>
-</table>
-
- </div>
-
-</div>
-
-<button type="button" data-facebox="#jump-to-line"
data-facebox-class="linejump" data-hotkey="l" class="hidden">Jump to
Line</button>
-<div id="jump-to-line" style="display:none">
- <!-- </textarea> --><!-- '"` --><form accept-charset="UTF-8" action=""
class="js-jump-to-line-form" method="get"><div
style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden"
value="✓" /></div>
- <input class="form-control linejump-input js-jump-to-line-field"
type="text" placeholder="Jump to line…" aria-label="Jump to line"
autofocus>
- <button type="submit" class="btn">Go</button>
-</form></div>
-
- </div>
- <div class="modal-backdrop"></div>
-</div>
-
-
- </div>
- </div>
-
- </div>
-
- <div class="container site-footer-container">
- <div class="site-footer" role="contentinfo">
- <ul class="site-footer-links right">
- <li><a href="https://status.github.com/" data-ga-click="Footer, go to
status, text:status">Status</a></li>
- <li><a href="https://developer.github.com" data-ga-click="Footer, go to
api, text:api">API</a></li>
- <li><a href="https://training.github.com" data-ga-click="Footer, go to
training, text:training">Training</a></li>
- <li><a href="https://shop.github.com" data-ga-click="Footer, go to shop,
text:shop">Shop</a></li>
- <li><a href="https://github.com/blog" data-ga-click="Footer, go to
blog, text:blog">Blog</a></li>
- <li><a href="https://github.com/about" data-ga-click="Footer, go to
about, text:about">About</a></li>
-
- </ul>
-
- <a href="https://github.com" aria-label="Homepage"
class="site-footer-mark">
- <svg aria-hidden="true" class="octicon octicon-mark-github" height="24"
title="GitHub " version="1.1" viewBox="0 0 16 16" width="24"><path d="M8 0C3.58
0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59 0.4 0.07 0.55-0.17 0.55-0.38
0-0.19-0.01-0.82-0.01-1.49-2.01
0.37-2.53-0.49-2.69-0.94-0.09-0.23-0.48-0.94-0.82-1.13-0.28-0.15-0.68-0.52-0.01-0.53
0.63-0.01 1.08 0.58 1.23 0.82 0.72 1.21 1.87 0.87 2.33 0.66 0.07-0.52
0.28-0.87 0.51-1.07-1.78-0.2-3.64-0.89-3.64-3.95 0-0.87 0.31-1.59 0.82-2.15-0.
[...]
-</a>
- <ul class="site-footer-links">
- <li>© 2016 <span title="0.09880s from
github-fe137-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
- <li><a href="https://github.com/site/terms" data-ga-click="Footer, go
to terms, text:terms">Terms</a></li>
- <li><a href="https://github.com/site/privacy" data-ga-click="Footer,
go to privacy, text:privacy">Privacy</a></li>
- <li><a href="https://github.com/security" data-ga-click="Footer, go to
security, text:security">Security</a></li>
- <li><a href="https://github.com/contact" data-ga-click="Footer, go to
contact, text:contact">Contact</a></li>
- <li><a href="https://help.github.com" data-ga-click="Footer, go to
help, text:help">Help</a></li>
- </ul>
- </div>
-</div>
-
-
-
-
-
-
- <div id="ajax-error-message" class="ajax-error-message flash flash-error">
- <svg aria-hidden="true" class="octicon octicon-alert" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path d="M15.72
12.5l-6.85-11.98C8.69 0.21 8.36 0.02 8 0.02s-0.69 0.19-0.87 0.5l-6.85
11.98c-0.18 0.31-0.18 0.69 0 1C0.47 13.81 0.8 14 1.15 14h13.7c0.36 0 0.69-0.19
0.86-0.5S15.89 12.81 15.72 12.5zM9 12H7V10h2V12zM9 9H7V5h2V9z"></path></svg>
- <button type="button" class="flash-close js-flash-close
js-ajax-error-dismiss" aria-label="Dismiss error">
- <svg aria-hidden="true" class="octicon octicon-x" height="16"
version="1.1" viewBox="0 0 12 16" width="12"><path d="M7.48 8l3.75 3.75-1.48
1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77 4.25l1.48-1.48 3.75 3.75
3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg>
- </button>
- Something went wrong with that request. Please try again.
- </div>
-
-
- <script crossorigin="anonymous"
src="https://assets-cdn.github.com/assets/compat-7db58f8b7b91111107fac755dd8b178fe7db0f209ced51fc339c446ad3f8da2b.js"></script>
- <script crossorigin="anonymous"
src="https://assets-cdn.github.com/assets/frameworks-9eb0ddac6d1c94c56980360abcade2abb10d27d7880f7ee7bf6640c2c2a06fc8.js"></script>
- <script async="async" crossorigin="anonymous"
src="https://assets-cdn.github.com/assets/github-4ddbe43ff9bf343ea4e58a83f44f72427d4c0e030722f47eb6ea4d231abfa161.js"></script>
-
-
-
-
-
- <div class="js-stale-session-flash stale-session-flash flash flash-warn
flash-banner hidden">
- <svg aria-hidden="true" class="octicon octicon-alert" height="16"
version="1.1" viewBox="0 0 16 16" width="16"><path d="M15.72
12.5l-6.85-11.98C8.69 0.21 8.36 0.02 8 0.02s-0.69 0.19-0.87 0.5l-6.85
11.98c-0.18 0.31-0.18 0.69 0 1C0.47 13.81 0.8 14 1.15 14h13.7c0.36 0 0.69-0.19
0.86-0.5S15.89 12.81 15.72 12.5zM9 12H7V10h2V12zM9 9H7V5h2V9z"></path></svg>
- <span class="signed-in-tab-flash">You signed in with another tab or
window. <a href="">Reload</a> to refresh your session.</span>
- <span class="signed-out-tab-flash">You signed out in another tab or
window. <a href="">Reload</a> to refresh your session.</span>
- </div>
- <div class="facebox" id="facebox" style="display:none;">
- <div class="facebox-popup">
- <div class="facebox-content" role="dialog"
aria-labelledby="facebox-header" aria-describedby="facebox-description">
- </div>
- <button type="button" class="facebox-close js-facebox-close"
aria-label="Close modal">
- <svg aria-hidden="true" class="octicon octicon-x" height="16"
version="1.1" viewBox="0 0 12 16" width="12"><path d="M7.48 8l3.75 3.75-1.48
1.48-3.75-3.75-3.75 3.75-1.48-1.48 3.75-3.75L0.77 4.25l1.48-1.48 3.75 3.75
3.75-3.75 1.48 1.48-3.75 3.75z"></path></svg>
- </button>
- </div>
-</div>
-
- </body>
-</html>
-
diff --git a/etc/legal/licenses/LICENSE-scala-stm.txt
b/etc/legal/licenses/LICENSE-scala-stm.txt
deleted file mode 100644
index 1b7a9a47..00000000
--- a/etc/legal/licenses/LICENSE-scala-stm.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-All of the source code and documentation that has been developed by the Scala
STM Expert Group is available under a modified-BSD license.
-Copyright (c) 2009-2012 Stanford University, unless otherwise specified.
-All rights reserved.
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the Stanford University nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/etc/legal/licenses/LICENSE-scalaz.txt
b/etc/legal/licenses/LICENSE-scalaz.txt
deleted file mode 100644
index e6ce8436..00000000
--- a/etc/legal/licenses/LICENSE-scalaz.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Copyright (c) 2009-2014 Tony Morris, Runar Bjarnason, Tom Adams, Kristian
Domagala, Brad Clow, Ricky Clarkson, Paul Chiusano, Trygve Laugstøl, Nick
Partridge, Jason Zaugg
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git
a/kernel-api/src/main/scala/org/apache/toree/dependencies/CoursierDependencyDownloader.scala
b/kernel-api/src/main/scala/org/apache/toree/dependencies/CoursierDependencyDownloader.scala
index c3d9d1d8..fb88aad5 100644
---
a/kernel-api/src/main/scala/org/apache/toree/dependencies/CoursierDependencyDownloader.scala
+++
b/kernel-api/src/main/scala/org/apache/toree/dependencies/CoursierDependencyDownloader.scala
@@ -16,21 +16,23 @@
*/
package org.apache.toree.dependencies
-import java.io.{File, FileInputStream, PrintStream}
-import java.net.{URI, URL}
-import java.util.Properties
-import java.util.concurrent.ConcurrentHashMap
-import coursier.core.Authentication
-import coursier.Cache.Logger
+import coursier.core.{Authentication, Configuration, Repository}
import coursier.Dependency
-import coursier.core.Repository
-import coursier.core.Resolution.ModuleVersion
import coursier.ivy.{IvyRepository, IvyXml}
+import coursier.util.{Gather, Task}
+import coursier.cache.{ArtifactError, CacheLogger, FileCache}
import coursier.maven.MavenRepository
+import coursier.util.Task.sync
import org.springframework.core.io.support.PathMatchingResourcePatternResolver
+
+import java.io.{File, FileInputStream, PrintStream}
+import java.lang.{Long => JLong, Double => JDouble}
+import java.net.{URI, URL}
+import java.util.Properties
+import java.util.concurrent.ConcurrentHashMap
+import java.util.concurrent.atomic.AtomicLong
+import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.Try
-import scalaz.\/
-import scalaz.concurrent.Task
/**
* Represents a dependency downloader for jars that uses Coursier underneath.
@@ -83,23 +85,26 @@ class CoursierDependencyDownloader extends
DependencyDownloader {
import coursier._
// Grab exclusions using base dependencies (always exclude scala lang)
- val exclusions: Set[(String, String)] = (if (excludeBaseDependencies) {
+ val exclusions: Set[(Organization, ModuleName)] = (if
(excludeBaseDependencies) {
getBaseDependencies.map(_.module).map(m => (m.organization, m.name))
- } else Nil).toSet ++ Set(("org.scala-lang", "*"),
("org.scala-lang.modules", "*")) ++ excludes
+ } else Nil).toSet ++
+ (Set(("org.scala-lang", "*"), ("org.scala-lang.modules", "*")) ++
excludes)
+ .map { case (org, module) => Organization(org) -> ModuleName(module) }
// Mark dependency that we want to download
- val start = Resolution(Set(
- Dependency(
- module = Module(organization = groupId, name = artifactId),
- version = version,
- transitive = transitive,
- exclusions = exclusions, // NOTE: Source/Javadoc not downloaded by
default
- configuration = configuration.getOrElse("default"),
- attributes = Attributes(
- artifactType.getOrElse(""),
- artifactClassifier.getOrElse("")
- )
- )
+ val start = Resolution(Seq(
+ Dependency(Module(Organization(groupId), ModuleName(artifactId)),
version)
+ .withTransitive(transitive)
+ .withExclusions(exclusions) // NOTE: Source/Javadoc not downloaded by
default
+ .withConfiguration {
+ configuration.map(c => new
Configuration(c)).getOrElse(Configuration.default)
+ }
+ .withAttributes {
+ Attributes(
+ artifactType.map(t => Type(t)).getOrElse(Type.jar),
+ artifactClassifier.map(c =>
Classifier(c)).getOrElse(Classifier.empty)
+ )
+ }
))
printStream.println(s"Marking $groupId:$artifactId:$version for download")
@@ -112,10 +117,15 @@ class CoursierDependencyDownloader extends
DependencyDownloader {
// Build list of locations to fetch dependencies
val fetchLocations = Seq(ivy2Cache(localDirectory)) ++ allRepositories
- val fetch = Fetch.from(
+
+ val localCache = FileCache()
+ .withLocation(downloadLocations)
+ .withLogger(new DownloadLogger(verbose, trace))
+
+ val fetch = ResolutionProcess.fetch(
fetchLocations,
- Cache.fetch(downloadLocations, logger = Some(new DownloadLogger(verbose,
trace)))
- )
+ localCache.fetch
+ )(Task.gather)
val fetchUris = localDirectory +: repositoriesToURIs(allRepositories)
if (verbose) {
@@ -123,10 +133,10 @@ class CoursierDependencyDownloader extends
DependencyDownloader {
printStream.println(s"-> ${fetchUris.mkString("\n-> ")}")
}
// Verify locations where we will download dependencies
- val resolution = start.process.run(fetch).unsafePerformSync
+ val resolution = start.process.run(fetch).unsafeRun()
// Report any resolution errors
- val errors: Seq[(ModuleVersion, Seq[String])] = resolution.metadataErrors
+ val errors: Seq[(ModuleVersion, Seq[String])] = resolution.errors
errors.foreach { case (dep, e) =>
printStream.println(s"-> Failed to resolve
${dep._1.toString()}:${dep._2}")
e.foreach(s => printStream.println(s" -> $s"))
@@ -136,12 +146,10 @@ class CoursierDependencyDownloader extends
DependencyDownloader {
if (errors.nonEmpty && !ignoreResolutionErrors) return Nil
// Perform task of downloading dependencies
- val localArtifacts: Seq[FileError \/ File] = Task.gatherUnordered(
- resolution.artifacts.map(a => Cache.file(
- artifact = a,
- cache = downloadLocations,
- logger = Some(new DownloadLogger(verbose, trace))
- ).run)).unsafePerformSync
+ val localArtifacts: Seq[Either[ArtifactError, File]] = Gather[Task].gather(
+ resolution.artifacts().map(localCache.file(_).run)
+ ).unsafeRun()
+
// Print any errors in retrieving dependencies
localArtifacts.flatMap(_.swap.toOption).map(_.message)
@@ -220,37 +228,39 @@ class CoursierDependencyDownloader extends
DependencyDownloader {
true
}
- private class DownloadLogger(
- private val verbose: Boolean,
- private val trace: Boolean
- ) extends Logger {
+ private class DownloadLogger(verbose: Boolean, trace: Boolean) extends
CacheLogger {
import scala.collection.JavaConverters._
private val downloadId = new ConcurrentHashMap[String, String]().asScala
- private val downloadFile = new ConcurrentHashMap[String, File]().asScala
+ private val downloadFile = new ConcurrentHashMap[String, String]().asScala
private val downloadAmount = new ConcurrentHashMap[String, Long]().asScala
private val downloadTotal = new ConcurrentHashMap[String, Long]().asScala
+ private val counter = new AtomicLong(0)
+ private def nextId(): Long = counter.getAndIncrement()
- override def foundLocally(url: String, file: File): Unit = {
+ override def foundLocally(url: String): Unit = {
+ val file = new File(new URL(url).getPath).getName
+ downloadFile.put(url, file)
val id = downloadId.getOrElse(url, url)
- val f = s"(${downloadFile.get(url).map(_.getName).getOrElse("")})"
- if (verbose) printStream.println(s"=> $id: Found at
${file.getAbsolutePath}")
+ val f = s"(${downloadFile.getOrElse(url, "")})"
+ if (verbose) printStream.println(s"=> $id $f: Found at local")
}
- override def downloadingArtifact(url: String, file: File): Unit = {
- downloadId.put(url, nextId())
+ override def downloadingArtifact(url: String): Unit = {
+ downloadId.put(url, nextId().toString)
+ val file = new File(new URL(url).getPath).getName
+ downloadFile.put(url, file)
val id = downloadId.getOrElse(url, url)
- val f = s"(${downloadFile.get(url).map(_.getName).getOrElse("")})"
+ val f = s"(${downloadFile.getOrElse(url, "")})"
if (verbose) printStream.println(s"=> $id $f: Downloading $url")
-
- downloadFile.put(url, file)
}
- override def downloadLength(url: String, length: Long): Unit = {
+ override def downloadLength(
+ url: String,totalLength: Long, alreadyDownloaded: Long, watching:
Boolean): Unit = {
val id = downloadId.getOrElse(url, url)
- val f = s"(${downloadFile.get(url).map(_.getName).getOrElse("")})"
- if (trace) printStream.println(s"===> $id $f: Is $length total bytes")
- downloadTotal.put(url, length)
+ val f = s"(${downloadFile.getOrElse(url, "")})"
+ if (trace) printStream.println(s"===> $id $f: Is $totalLength total
bytes")
+ downloadTotal.put(url, totalLength)
}
override def downloadProgress(url: String, downloaded: Long): Unit = {
@@ -262,29 +272,20 @@ class CoursierDependencyDownloader extends
DependencyDownloader {
if (trace) printStream.printf(
"===> %s %s: Downloaded %d bytes (%.2f%%)\n",
downloadId.getOrElse(url, url),
- s"(${downloadFile.get(url).map(_.getName).getOrElse("")})",
- java.lang.Long.valueOf(downloaded),
- java.lang.Double.valueOf(percent)
+ s"(${downloadFile.getOrElse(url, "")})",
+ JLong.valueOf(downloaded),
+ JDouble.valueOf(percent)
)
}
override def downloadedArtifact(url: String, success: Boolean): Unit = {
if (verbose) {
val id = downloadId.getOrElse(url, url)
- val f = s"(${downloadFile.get(url).map(_.getName).getOrElse("")})"
+ val f = s"(${downloadFile.getOrElse(url, "")})"
if (success) printStream.println(s"=> $id $f: Finished downloading")
else printStream.println(s"=> $id: An error occurred while
downloading")
}
}
-
- private val nextId: () => String = (() => {
- var counter: Long = 0
-
- () => {
- counter += 1
- counter.toString
- }
- })()
}
/**
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 231136f5..e873a48e 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -32,7 +32,7 @@ object Dependencies {
val config = "com.typesafe" % "config" % "1.4.3" // Apache v2
- val coursierVersion = "1.0.3"
+ val coursierVersion = "2.0.0"
val coursier = "io.get-coursier" %% "coursier" % coursierVersion // Apache v2
val coursierCache = "io.get-coursier" %% "coursier-cache" % coursierVersion
// Apache v2