Merge branch 'stable-5.7'
* stable-5.7:
Bump required Bazel version to 2.1.0
Upgrade bazlets to the latest master revision
Change the wildcard import to explicit ones.
Change-Id: I5aeaad53ac729e2dcfa67c6830accee749cd21cd
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
diff --git a/WORKSPACE b/WORKSPACE
index 547c439..5fa28f9 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -77,20 +77,20 @@
maven_jar(
name = "javaewah",
- artifact = "com.googlecode.javaewah:JavaEWAH:1.1.6",
- sha1 = "94ad16d728b374d65bd897625f3fbb3da223a2b6",
+ artifact = "com.googlecode.javaewah:JavaEWAH:1.1.7",
+ sha1 = "570dde3cd706ae10c62fe19b150928cfdb415e87",
)
maven_jar(
name = "httpclient",
- artifact = "org.apache.httpcomponents:httpclient:4.5.6",
- sha1 = "1afe5621985efe90a92d0fbc9be86271efbe796f",
+ artifact = "org.apache.httpcomponents:httpclient:4.5.10",
+ sha1 = "7ca2e4276f4ef95e4db725a8cd4a1d1e7585b9e5",
)
maven_jar(
name = "httpcore",
- artifact = "org.apache.httpcomponents:httpcore:4.4.10",
- sha1 = "acc54d9b28bdffe4bbde89ed2e4a1e86b5285e2b",
+ artifact = "org.apache.httpcomponents:httpcore:4.4.12",
+ sha1 = "21ebaf6d532bc350ba95bd81938fa5f0e511c132",
)
maven_jar(
@@ -107,8 +107,8 @@
maven_jar(
name = "commons-codec",
- artifact = "commons-codec:commons-codec:1.10",
- sha1 = "4b95f4897fa13f2cd904aee711aeafc0c5295cd8",
+ artifact = "commons-codec:commons-codec:1.13",
+ sha1 = "3f18e1aa31031d89db6f01ba05d501258ce69d2c",
)
maven_jar(
@@ -137,8 +137,8 @@
maven_jar(
name = "commons-compress",
- artifact = "org.apache.commons:commons-compress:1.18",
- sha1 = "1191f9f2bc0c47a8cce69193feb1ff0a8bcb37d5",
+ artifact = "org.apache.commons:commons-compress:1.19",
+ sha1 = "7e65777fb451ddab6a9c054beb879e521b7eab78",
)
maven_jar(
@@ -155,8 +155,8 @@
maven_jar(
name = "junit",
- artifact = "junit:junit:4.12",
- sha1 = "2973d150c0dc1fefe998f834810d68f278ea58ec",
+ artifact = "junit:junit:4.13",
+ sha1 = "e49ccba652b735c93bd6e6f59760d8254cf597dd",
)
maven_jar(
@@ -177,6 +177,12 @@
sha1 = "497ddb32fd5d01f9dbe99a2ec790aeb931dff1b1",
)
+maven_jar(
+ name = "assertj-core",
+ artifact = "org.assertj:assertj-core:3.14.0",
+ sha1 = "3b7b0fcac821f3d167764e9926573cd64f78f9e9",
+)
+
BYTE_BUDDY_VERSION = "1.9.0"
maven_jar(
@@ -203,48 +209,48 @@
sha1 = "3edcfe49d2c6053a70a2a47e4e1c2f94998a49cf",
)
-JETTY_VER = "9.4.24.v20191120"
+JETTY_VER = "9.4.25.v20191220"
maven_jar(
name = "jetty-servlet",
artifact = "org.eclipse.jetty:jetty-servlet:" + JETTY_VER,
- sha1 = "ca1803fde51b795c0a8346ca8bc6277d9d04d01d",
- src_sha1 = "8781c162df92d27456d4370df943f6a5234f32c4",
+ sha1 = "bee77d6a4f87dc90d5bc142cbd6cef470ec46aae",
+ src_sha1 = "e8b09b6431fc9cfbff588698ac0262a745fe00e4",
)
maven_jar(
name = "jetty-security",
artifact = "org.eclipse.jetty:jetty-security:" + JETTY_VER,
- sha1 = "9fa640d36c088cf55843900043d28aef830ade4d",
- src_sha1 = "40128e3547b43f09e176fb0738672f483c477119",
+ sha1 = "593ff5b5dfd5bf973184329f5d1209b9a411ec12",
+ src_sha1 = "369f869a13a33d25535db3176a84945e94a3718a",
)
maven_jar(
name = "jetty-server",
artifact = "org.eclipse.jetty:jetty-server:" + JETTY_VER,
- sha1 = "7885cc3d5d7701a444acada7ab97f89846514875",
- src_sha1 = "709650068c26029303ab3776d1e5ed6a66e0b065",
+ sha1 = "5b352c9f9135a1c20e4808e5cb1d84fbddfdc460",
+ src_sha1 = "0f3acc2abcdb86491a2c37074592860cb1100269",
)
maven_jar(
name = "jetty-http",
artifact = "org.eclipse.jetty:jetty-http:" + JETTY_VER,
- sha1 = "d3f0b0fb016ef8d35ffb199d928ffbcbfa121c86",
- src_sha1 = "b29d870576e3edff354af0dae86c60d5956cd643",
+ sha1 = "c3aa7da362f1a492667ce754ba16b2535b793668",
+ src_sha1 = "70ef1436dc895eafe2cc24cf59af6e2d2874d963",
)
maven_jar(
name = "jetty-io",
artifact = "org.eclipse.jetty:jetty-io:" + JETTY_VER,
- sha1 = "dcb6d4d505ef74898e3a64a38c40195c01e97119",
- src_sha1 = "863a6c575eadb626b50cda13a6484609a9449934",
+ sha1 = "3eb34b5481012701de0ea9dfaf2bdf1dbb947b16",
+ src_sha1 = "ad129617793088aaf69eab18a13c9bce02cb1195",
)
maven_jar(
name = "jetty-util",
artifact = "org.eclipse.jetty:jetty-util:" + JETTY_VER,
- sha1 = "3095acb088f4ff9e3fd9aedf98db73e3c18ea849",
- src_sha1 = "f503199317d9df74062d722db4a7af8cf5e59322",
+ sha1 = "fd8b642cc16728f1c36ca6a64653cb1b26ec0232",
+ src_sha1 = "c84dc3026cc4aea013dc97b18228756816167745",
)
BOUNCYCASTLE_VER = "1.64"
diff --git a/lib/BUILD b/lib/BUILD
index 058899f..6c97486 100644
--- a/lib/BUILD
+++ b/lib/BUILD
@@ -214,6 +214,15 @@
)
java_library(
+ name = "assertj-core",
+ testonly = 1,
+ visibility = ["//visibility:public"],
+ exports = [
+ "@assertj-core//jar",
+ ],
+)
+
+java_library(
name = "servlet-api",
visibility = [
"//org.eclipse.jgit.http.apache:__pkg__",
diff --git a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
index a8e76b2..95a6da3 100644
--- a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
@@ -14,4 +14,4 @@
org.eclipse.jgit.lib;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.hamcrest.core;version="[1.1.0,2.0.0)",
- org.junit;version="[4.12,5.0.0)"
+ org.junit;version="[4.13,5.0.0)"
diff --git a/org.eclipse.jgit.benchmarks/pom.xml b/org.eclipse.jgit.benchmarks/pom.xml
index 426fb7f..5e70771 100644
--- a/org.eclipse.jgit.benchmarks/pom.xml
+++ b/org.eclipse.jgit.benchmarks/pom.xml
@@ -69,9 +69,6 @@
<configuration>
<compilerId>javac-with-errorprone</compilerId>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
- <compilerArgs>
- <arg>-Xep:ExpectedExceptionChecker:ERROR</arg>
- </compilerArgs>
</configuration>
</execution>
</executions>
diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java
index 9b17132..1769832 100644
--- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java
+++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java
@@ -298,7 +298,8 @@
try {
return StringUtils.toBoolean(n);
} catch (IllegalArgumentException err) {
- throw new ServletException(MessageFormat.format(HttpServerText.get().invalidBoolean, param, n));
+ throw new ServletException(MessageFormat.format(
+ HttpServerText.get().invalidBoolean, param, n), err);
}
}
diff --git a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
index d4ea158..ad9413f 100644
--- a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
@@ -49,8 +49,8 @@
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.hamcrest;version="[1.1.0,2.0.0)",
org.hamcrest.core;version="[1.1.0,2.0.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.rules;version="[4.12,5.0.0)",
- org.junit.runner;version="[4.12,5.0.0)",
- org.junit.runners;version="[4.12,5.0.0)"
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.rules;version="[4.13,5.0.0)",
+ org.junit.runner;version="[4.13,5.0.0)",
+ org.junit.runners;version="[4.13,5.0.0)"
Require-Bundle: org.hamcrest.library;bundle-version="[1.1.0,2.0.0)"
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
index 7b14288..9665776 100644
--- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
+++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
@@ -10,12 +10,12 @@
package org.eclipse.jgit.http.test;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java
index 9a7c077..51a7a8d 100644
--- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java
+++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java
@@ -18,6 +18,7 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -88,18 +89,12 @@
import org.eclipse.jgit.transport.http.HttpConnectionFactory;
import org.eclipse.jgit.util.HttpSupport;
import org.eclipse.jgit.util.SystemReader;
-import org.hamcrest.Matchers;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class SmartClientSmartServerTest extends AllFactoriesHttpTestCase {
private static final String HDR_TRANSFER_ENCODING = "Transfer-Encoding";
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
private AdvertiseRefsHook advertiseRefsHook;
private Repository remoteRepository;
@@ -462,11 +457,12 @@
try (Repository dst = createBareRepository();
Transport t = Transport.open(dst, remoteURI)) {
assertFalse(dst.getObjectDatabase().has(A_txt));
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
+ Exception e = assertThrows(TransportException.class,
+ () -> t.fetch(NullProgressMonitor.INSTANCE,
+ Collections.singletonList(
+ new RefSpec(unreachableCommit.name()))));
+ assertTrue(e.getMessage().contains(
"want " + unreachableCommit.name() + " not valid"));
- t.fetch(NullProgressMonitor.INSTANCE, Collections
- .singletonList(new RefSpec(unreachableCommit.name())));
}
}
@@ -484,11 +480,11 @@
try (Repository dst = createBareRepository();
Transport t = Transport.open(dst, remoteURI)) {
assertFalse(dst.getObjectDatabase().has(A_txt));
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + A.name() + " not valid"));
- t.fetch(NullProgressMonitor.INSTANCE, Collections
- .singletonList(new RefSpec(A.name())));
+ Exception e = assertThrows(TransportException.class,
+ () -> t.fetch(NullProgressMonitor.INSTANCE,
+ Collections.singletonList(new RefSpec(A.name()))));
+ assertTrue(
+ e.getMessage().contains("want " + A.name() + " not valid"));
}
}
diff --git a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF
index 5c889f6..a622488 100644
--- a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF
@@ -30,7 +30,7 @@
org.eclipse.jgit.revwalk;version="[5.7.0,5.8.0)",
org.eclipse.jgit.transport;version="[5.7.0,5.8.0)",
org.eclipse.jgit.transport.resolver;version="[5.7.0,5.8.0)",
- org.junit;version="[4.12,5.0.0)"
+ org.junit;version="[4.13,5.0.0)"
Export-Package: org.eclipse.jgit.junit.http;version="5.7.0";
uses:="org.eclipse.jgit.transport,
org.eclipse.jgit.junit,
diff --git a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
index 871e329..531f3be 100644
--- a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
@@ -25,11 +25,11 @@
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util.io;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util.time;version="[5.7.0,5.8.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.rules;version="[4.12,5.0.0)",
- org.junit.runner;version="[4.12,5.0.0)",
- org.junit.runners;version="[4.12,5.0.0)",
- org.junit.runners.model;version="[4.12,5.0.0)",
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.rules;version="[4.13,5.0.0)",
+ org.junit.runner;version="[4.13,5.0.0)",
+ org.junit.runners;version="[4.13,5.0.0)",
+ org.junit.runners.model;version="[4.13,5.0.0)",
org.slf4j;version="[1.7.0,2.0.0)"
Export-Package: org.eclipse.jgit.junit;version="5.7.0";
uses:="org.eclipse.jgit.dircache,
diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
index d68c5c8..a5b3b1f 100644
--- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
+++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/TestRepository.java
@@ -973,7 +973,7 @@
try {
lck.write(bin);
} catch (IOException ioe) {
- throw new ObjectWritingException("Can't write " + p);
+ throw new ObjectWritingException("Can't write " + p, ioe);
}
if (!lck.commit())
throw new ObjectWritingException("Can't write " + p);
diff --git a/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF
index c4d3c90..ac7ee5f 100644
--- a/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF
@@ -47,7 +47,7 @@
org.eclipse.jgit.treewalk.filter;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.hamcrest.core;version="[1.1.0,2.0.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.rules;version="[4.12,5.0.0)",
- org.junit.runner;version="[4.12,5.0.0)",
- org.junit.runners;version="[4.12,5.0.0)"
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.rules;version="[4.13,5.0.0)",
+ org.junit.runner;version="[4.13,5.0.0)",
+ org.junit.runners;version="[4.13,5.0.0)"
diff --git a/org.eclipse.jgit.lfs.server.test/tst/org/eclipse/jgit/lfs/server/fs/DownloadTest.java b/org.eclipse.jgit.lfs.server.test/tst/org/eclipse/jgit/lfs/server/fs/DownloadTest.java
index d295414..8d32f9e 100644
--- a/org.eclipse.jgit.lfs.server.test/tst/org/eclipse/jgit/lfs/server/fs/DownloadTest.java
+++ b/org.eclipse.jgit.lfs.server.test/tst/org/eclipse/jgit/lfs/server/fs/DownloadTest.java
@@ -12,6 +12,7 @@
import static org.apache.http.HttpStatus.SC_NOT_FOUND;
import static org.apache.http.HttpStatus.SC_UNPROCESSABLE_ENTITY;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
import java.io.IOException;
import java.nio.file.Path;
@@ -22,15 +23,10 @@
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
import org.eclipse.jgit.lfs.test.LongObjectIdTestUtils;
import org.eclipse.jgit.util.FileUtils;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class DownloadTest extends LfsServerTest {
- @Rule
- public ExpectedException exception = ExpectedException.none();
-
@Test
public void testDownload() throws Exception {
String TEXT = "test";
@@ -49,10 +45,8 @@
Path f = Paths.get(getTempDirectory().toString(), "download");
String error = String.format(
"Invalid pathInfo: '/%s' does not match '/{SHA-256}'", id);
- exception.expect(RuntimeException.class);
- exception.expectMessage(
- formatErrorMessage(SC_UNPROCESSABLE_ENTITY, error));
- getContent(id, f);
+ assertThrows(formatErrorMessage(SC_UNPROCESSABLE_ENTITY, error),
+ RuntimeException.class, () -> getContent(id, f));
}
@Test
@@ -62,22 +56,18 @@
String id = putContent(TEXT).name().replace('f', 'z');
Path f = Paths.get(getTempDirectory().toString(), "download");
String error = String.format("Invalid id: %s", id);
- exception.expect(RuntimeException.class);
- exception.expectMessage(
- formatErrorMessage(SC_UNPROCESSABLE_ENTITY, error));
- getContent(id, f);
+ assertThrows(formatErrorMessage(SC_UNPROCESSABLE_ENTITY, error),
+ RuntimeException.class, () -> getContent(id, f));
}
@Test
- public void testDownloadNotFound()
- throws ClientProtocolException, IOException {
+ public void testDownloadNotFound() {
String TEXT = "test";
AnyLongObjectId id = LongObjectIdTestUtils.hash(TEXT);
Path f = Paths.get(getTempDirectory().toString(), "download");
String error = String.format("Object '%s' not found", id.getName());
- exception.expect(RuntimeException.class);
- exception.expectMessage(formatErrorMessage(SC_NOT_FOUND, error));
- getContent(id, f);
+ assertThrows(formatErrorMessage(SC_NOT_FOUND, error),
+ RuntimeException.class, () -> getContent(id, f));
}
@SuppressWarnings("boxing")
diff --git a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF
index e3fcf70..2682ba6 100644
--- a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF
@@ -18,7 +18,7 @@
org.eclipse.jgit.treewalk.filter;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.hamcrest.core;version="[1.1.0,2.0.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.runner;version="[4.12,5.0.0)",
- org.junit.runners;version="[4.12,5.0.0)"
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.runner;version="[4.13,5.0.0)",
+ org.junit.runners;version="[4.13,5.0.0)"
Export-Package: org.eclipse.jgit.lfs.test;version="5.7.0";x-friends:="org.eclipse.jgit.lfs.server.test"
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/LfsPointer.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/LfsPointer.java
index c4a51c7..55d2cfa 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/LfsPointer.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/LfsPointer.java
@@ -18,7 +18,6 @@
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
-import java.nio.charset.UnsupportedCharsetException;
import java.util.Locale;
import org.eclipse.jgit.annotations.Nullable;
@@ -110,7 +109,6 @@
ps.print(size + "\n"); //$NON-NLS-1$
} catch (UnsupportedEncodingException e) {
// should not happen, we are using a standard charset
- throw new UnsupportedCharsetException(UTF_8.name());
}
}
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/AbbreviatedLongObjectId.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/AbbreviatedLongObjectId.java
index a2bcc35..9016e53 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/AbbreviatedLongObjectId.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/AbbreviatedLongObjectId.java
@@ -121,8 +121,11 @@
final long c = hexUInt64(bs, ptr + 32, end);
final long d = hexUInt64(bs, ptr + 48, end);
return new AbbreviatedLongObjectId(end - ptr, a, b, c, d);
- } catch (ArrayIndexOutOfBoundsException e1) {
- throw new InvalidLongObjectIdException(bs, ptr, end - ptr);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ InvalidLongObjectIdException e1 = new InvalidLongObjectIdException(
+ bs, ptr, end - ptr);
+ e1.initCause(e);
+ throw e1;
}
}
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/LongObjectId.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/LongObjectId.java
index 000e9b2..15b3ca4 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/LongObjectId.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/LongObjectId.java
@@ -223,9 +223,11 @@
final long c = RawParseUtils.parseHexInt64(bs, p + 32);
final long d = RawParseUtils.parseHexInt64(bs, p + 48);
return new LongObjectId(a, b, c, d);
- } catch (ArrayIndexOutOfBoundsException e1) {
- throw new InvalidLongObjectIdException(bs, p,
- Constants.LONG_OBJECT_ID_STRING_LENGTH);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ InvalidLongObjectIdException e1 = new InvalidLongObjectIdException(
+ bs, p, Constants.LONG_OBJECT_ID_STRING_LENGTH);
+ e1.initCause(e);
+ throw e1;
}
}
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/MutableLongObjectId.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/MutableLongObjectId.java
index 368f6af..012e4ae 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/MutableLongObjectId.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/lib/MutableLongObjectId.java
@@ -213,9 +213,11 @@
w2 = RawParseUtils.parseHexInt64(bs, p + 16);
w3 = RawParseUtils.parseHexInt64(bs, p + 32);
w4 = RawParseUtils.parseHexInt64(bs, p + 48);
- } catch (ArrayIndexOutOfBoundsException e1) {
- throw new InvalidLongObjectIdException(bs, p,
- Constants.LONG_OBJECT_ID_STRING_LENGTH);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ InvalidLongObjectIdException e1 = new InvalidLongObjectIdException(
+ bs, p, Constants.LONG_OBJECT_ID_STRING_LENGTH);
+ e1.initCause(e);
+ throw e1;
}
}
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml
index 17a732b..8da6001 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml
@@ -47,4 +47,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.apache.commons.codec"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target
index 3cfe1b3..f49adf9 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.10" sequenceNumber="1579097942">
+<target name="jgit-4.10" sequenceNumber="1580289401">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.tpd
index 19ebf13..fc18203 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.tpd
@@ -1,7 +1,7 @@
target "jgit-4.10" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/2018-12/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target
index b42ae57..e68ab63 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.11" sequenceNumber="1579098001">
+<target name="jgit-4.11" sequenceNumber="1580289407">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.tpd
index b54e177..dd1f624 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.tpd
@@ -1,7 +1,7 @@
target "jgit-4.11" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/2019-03/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target
index 3b27528..e83924c 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.12" sequenceNumber="1579098008">
+<target name="jgit-4.12" sequenceNumber="1580289407">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.tpd
index fe5a8d6..bf32ed9 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.tpd
@@ -1,7 +1,7 @@
target "jgit-4.12" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/2019-06/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target
index c87f25d..c79f206 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.13" sequenceNumber="1579098020">
+<target name="jgit-4.13" sequenceNumber="1580289407">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.tpd
index caeae9c..e46a5df 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.tpd
@@ -1,7 +1,7 @@
target "jgit-4.13" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/2019-09/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target
index 92e6794..39f52ac 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.14-staging" sequenceNumber="1579098018">
+<target name="jgit-4.14-staging" sequenceNumber="1580289404">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.tpd
index 0b61b90..d1f0d49 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.tpd
@@ -1,7 +1,7 @@
target "jgit-4.14-staging" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/staging/2019-12/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target
index c77b6fc..4d862e2 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.6" sequenceNumber="1579098032">
+<target name="jgit-4.6" sequenceNumber="1580289424">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.tpd
index 895f37c..eb3f96d 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.tpd
@@ -1,7 +1,7 @@
target "jgit-4.6" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/neon/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target
index 5fbe5e9..780b668a 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.7" sequenceNumber="1579098024">
+<target name="jgit-4.7" sequenceNumber="1580289413">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.tpd
index 19a733b..cb98e4c 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.tpd
@@ -1,7 +1,7 @@
target "jgit-4.7" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/oxygen/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target
index c4c5799..596cd69 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.8" sequenceNumber="1579098020">
+<target name="jgit-4.8" sequenceNumber="1580289407">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.tpd
index 1aad52a..e0d886a 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.tpd
@@ -1,7 +1,7 @@
target "jgit-4.8" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/photon/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target
index de451fd..7da901f 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="jgit-4.9" sequenceNumber="1579098020">
+<target name="jgit-4.9" sequenceNumber="1580289407">
<locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@@ -29,8 +29,8 @@
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
- <unit id="javaewah" version="1.1.6.v20160919-1400"/>
- <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+ <unit id="javaewah" version="1.1.7.v20200107-0831"/>
+ <unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
@@ -41,22 +41,24 @@
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
- <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
- <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
- <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
+ <unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
+ <unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
+ <unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
- <unit id="org.apache.httpcomponents.httpclient" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
- <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
- <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
+ <unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
+ <unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
+ <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
+ <unit id="org.assertj" version="3.14.0.v20200120-1926"/>
+ <unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
@@ -68,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
- <unit id="org.junit" version="4.12.0.v201504281640"/>
- <unit id="org.junit.source" version="4.12.0.v201504281640"/>
+ <unit id="org.junit" version="4.13.0.v20200128-1312"/>
+ <unit id="org.junit.source" version="4.13.0.v20200128-1312"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@@ -82,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
- <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/repository"/>
+ <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.tpd
index 9ab5a59..32321d8 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.tpd
@@ -1,7 +1,7 @@
target "jgit-4.9" with source configurePhase
include "projects/jetty-9.4.x.tpd"
-include "orbit/R20191126223242-2019-12.tpd"
+include "orbit/staging-2020-03.tpd"
location "http://download.eclipse.org/releases/2018-09/" {
org.eclipse.osgi lazy
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/staging-2020-03.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/staging-2020-03.tpd
new file mode 100644
index 0000000..9269a64
--- /dev/null
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/staging-2020-03.tpd
@@ -0,0 +1,67 @@
+target "staging-2020-03" with source configurePhase
+// see http://download.eclipse.org/tools/orbit/downloads/
+
+location "https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository" {
+ com.google.gson [2.8.2.v20180104-1110,2.8.2.v20180104-1110]
+ com.google.gson.source [2.8.2.v20180104-1110,2.8.2.v20180104-1110]
+ com.jcraft.jsch [0.1.55.v20190404-1902,0.1.55.v20190404-1902]
+ com.jcraft.jsch.source [0.1.55.v20190404-1902,0.1.55.v20190404-1902]
+ com.jcraft.jzlib [1.1.1.v201205102305,1.1.1.v201205102305]
+ com.jcraft.jzlib.source [1.1.1.v201205102305,1.1.1.v201205102305]
+ javaewah [1.1.7.v20200107-0831,1.1.7.v20200107-0831]
+ javaewah.source [1.1.7.v20200107-0831,1.1.7.v20200107-0831]
+ javax.servlet [3.1.0.v201410161800,3.1.0.v201410161800]
+ javax.servlet.source [3.1.0.v201410161800,3.1.0.v201410161800]
+ net.bytebuddy.byte-buddy [1.9.0.v20181107-1410,1.9.0.v20181107-1410]
+ net.bytebuddy.byte-buddy-agent [1.9.0.v20181106-1534,1.9.0.v20181106-1534]
+ net.bytebuddy.byte-buddy-agent.source [1.9.0.v20181106-1534,1.9.0.v20181106-1534]
+ net.bytebuddy.byte-buddy.source [1.9.0.v20181107-1410,1.9.0.v20181107-1410]
+ net.i2p.crypto.eddsa [0.3.0.v20181102-1323,0.3.0.v20181102-1323]
+ net.i2p.crypto.eddsa.source [0.3.0.v20181102-1323,0.3.0.v20181102-1323]
+ org.apache.ant [1.10.7.v20190926-0324,1.10.7.v20190926-0324]
+ org.apache.ant.source [1.10.7.v20190926-0324,1.10.7.v20190926-0324]
+ org.apache.commons.codec [1.13.0.v20200108-0001,1.13.0.v20200108-0001]
+ org.apache.commons.codec.source [1.13.0.v20200108-0001,1.13.0.v20200108-0001]
+ org.apache.commons.compress [1.19.0.v20200106-2343,1.19.0.v20200106-2343]
+ org.apache.commons.compress.source [1.19.0.v20200106-2343,1.19.0.v20200106-2343]
+ org.apache.commons.logging [1.2.0.v20180409-1502,1.2.0.v20180409-1502]
+ org.apache.commons.logging.source [1.2.0.v20180409-1502,1.2.0.v20180409-1502]
+ org.apache.httpcomponents.httpclient [4.5.10.v20200114-1512,4.5.10.v20200114-1512]
+ org.apache.httpcomponents.httpclient.source [4.5.10.v20200114-1512,4.5.10.v20200114-1512]
+ org.apache.httpcomponents.httpcore [4.4.12.v20200108-1212,4.4.12.v20200108-1212]
+ org.apache.httpcomponents.httpcore.source [4.4.12.v20200108-1212,4.4.12.v20200108-1212]
+ org.apache.log4j [1.2.15.v201012070815,1.2.15.v201012070815]
+ org.apache.log4j.source [1.2.15.v201012070815,1.2.15.v201012070815]
+ org.apache.sshd.osgi [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
+ org.apache.sshd.osgi.source [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
+ org.apache.sshd.sftp [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
+ org.apache.sshd.sftp.source [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
+ org.assertj [3.14.0.v20200120-1926,3.14.0.v20200120-1926]
+ org.assertj.source [3.14.0.v20200120-1926,3.14.0.v20200120-1926]
+ org.bouncycastle.bcpg [1.64.0.v20191109-0815,1.64.0.v20191109-0815]
+ org.bouncycastle.bcpg.source [1.64.0.v20191109-0815,1.64.0.v20191109-0815]
+ org.bouncycastle.bcpkix [1.64.0.v20191109-0815,1.64.0.v20191109-0815]
+ org.bouncycastle.bcpkix.source [1.64.0.v20191109-0815,1.64.0.v20191109-0815]
+ org.bouncycastle.bcprov [1.64.0.v20191109-0815,1.64.0.v20191109-0815]
+ org.bouncycastle.bcprov.source [1.64.0.v20191109-0815,1.64.0.v20191109-0815]
+ org.hamcrest [1.1.0.v20090501071000,1.1.0.v20090501071000]
+ org.hamcrest.core [1.3.0.v20180420-1519,1.3.0.v20180420-1519]
+ org.hamcrest.core.source [1.3.0.v20180420-1519,1.3.0.v20180420-1519]
+ org.hamcrest.library [1.3.0.v20180524-2246,1.3.0.v20180524-2246]
+ org.hamcrest.library.source [1.3.0.v20180524-2246,1.3.0.v20180524-2246]
+ org.junit [4.13.0.v20200128-1312,4.13.0.v20200128-1312]
+ org.junit.source [4.13.0.v20200128-1312,4.13.0.v20200128-1312]
+ org.kohsuke.args4j [2.33.0.v20160323-2218,2.33.0.v20160323-2218]
+ org.kohsuke.args4j.source [2.33.0.v20160323-2218,2.33.0.v20160323-2218]
+ org.mockito [2.23.0.v20190527-1420,2.23.0.v20190527-1420]
+ org.mockito.source [2.23.0.v20190527-1420,2.23.0.v20190527-1420]
+ org.objenesis [2.6.0.v20180420-1519,2.6.0.v20180420-1519]
+ org.objenesis.source [2.6.0.v20180420-1519,2.6.0.v20180420-1519]
+ org.slf4j.api [1.7.2.v20121108-1250,1.7.2.v20121108-1250]
+ org.slf4j.api.source [1.7.2.v20121108-1250,1.7.2.v20121108-1250]
+ org.slf4j.impl.log4j12 [1.7.2.v20131105-2200,1.7.2.v20131105-2200]
+ org.slf4j.impl.log4j12.source [1.7.2.v20131105-2200,1.7.2.v20131105-2200]
+ org.tukaani.xz [1.8.0.v20180207-1613,1.8.0.v20180207-1613]
+ org.tukaani.xz.source [1.8.0.v20180207-1613,1.8.0.v20180207-1613]
+}
+
diff --git a/org.eclipse.jgit.packaging/pom.xml b/org.eclipse.jgit.packaging/pom.xml
index ae77778..35caa3e 100644
--- a/org.eclipse.jgit.packaging/pom.xml
+++ b/org.eclipse.jgit.packaging/pom.xml
@@ -22,7 +22,7 @@
<name>JGit Tycho Parent</name>
<properties>
- <tycho-version>1.5.1</tycho-version>
+ <tycho-version>1.6.0</tycho-version>
<tycho-extras-version>${tycho-version}</tycho-extras-version>
<target-platform>jgit-4.6</target-platform>
</properties>
diff --git a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
index b48c1e5..a7a11b4 100644
--- a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
@@ -26,7 +26,7 @@
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util.io;version="[5.7.0,5.8.0)",
org.hamcrest.core;bundle-version="[1.1.0,2.0.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.rules;version="[4.12,5.0.0)",
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.rules;version="[4.13,5.0.0)",
org.kohsuke.args4j;version="[2.33.0,3.0.0)"
Require-Bundle: org.tukaani.xz;bundle-version="[1.3.0,2.0.0)"
diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/BlameTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/BlameTest.java
index 006039b..ea30433 100644
--- a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/BlameTest.java
+++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/BlameTest.java
@@ -9,6 +9,7 @@
*/
package org.eclipse.jgit.pgm;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import org.eclipse.jgit.api.Git;
@@ -17,24 +18,18 @@
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.revwalk.RevCommit;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class BlameTest extends CLIRepositoryTestCase {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
@Test
public void testBlameNoHead() throws Exception {
try (Git git = new Git(db)) {
writeTrashFile("inIndex.txt", "index");
git.add().addFilepattern("inIndex.txt").call();
}
- thrown.expect(Die.class);
- thrown.expectMessage("no such ref: HEAD");
- execute("git blame inIndex.txt");
+ assertThrows("no such ref: HEAD", Die.class,
+ () -> execute("git blame inIndex.txt"));
}
@Test
@@ -68,9 +63,8 @@
git.commit().setMessage("initial commit").call();
}
writeTrashFile("onlyInWorkingTree.txt", "not in repo");
- thrown.expect(Die.class);
- thrown.expectMessage("no such path 'onlyInWorkingTree.txt' in HEAD");
- execute("git blame onlyInWorkingTree.txt");
+ assertThrows("no such path 'onlyInWorkingTree.txt' in HEAD", Die.class,
+ () -> execute("git blame onlyInWorkingTree.txt"));
}
@Test
@@ -78,9 +72,8 @@
try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call();
}
- thrown.expect(Die.class);
- thrown.expectMessage("no such path 'does_not_exist.txt' in HEAD");
- execute("git blame does_not_exist.txt");
+ assertThrows("no such path 'does_not_exist.txt' in HEAD", Die.class,
+ () -> execute("git blame does_not_exist.txt"));
}
@Test
@@ -88,9 +81,8 @@
try (Git git = new Git(db)) {
git.commit().setMessage("initial commit").call();
}
- thrown.expect(Die.class);
- thrown.expectMessage("no such path 'sub/does_not_exist.txt' in HEAD");
- execute("git blame sub/does_not_exist.txt");
+ assertThrows("no such path 'sub/does_not_exist.txt' in HEAD", Die.class,
+ () -> execute("git blame sub/does_not_exist.txt"));
}
@Test
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java
index 455abcd..98724bf 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Checkout.java
@@ -100,7 +100,7 @@
.format(CLIText.get().pathspecDidNotMatch, name), e);
} catch (RefAlreadyExistsException e) {
throw die(MessageFormat
- .format(CLIText.get().branchAlreadyExists, name));
+ .format(CLIText.get().branchAlreadyExists, name), e);
} catch (CheckoutConflictException e) {
StringBuilder builder = new StringBuilder();
builder.append(CLIText.get().checkoutConflict);
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
index 243e99f..8f80d6d 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
@@ -110,7 +110,7 @@
outw.println(CLIText.get().clonedEmptyRepository);
} catch (InvalidRemoteException e) {
throw die(MessageFormat.format(CLIText.get().doesNotExist,
- sourceUri));
+ sourceUri), e);
} finally {
if (db != null)
db.close();
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java
index cbb5d84..f570f7f 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java
@@ -42,7 +42,7 @@
db = key.open(true /* must exist */);
} catch (RepositoryNotFoundException notFound) {
throw die(MessageFormat.format(CLIText.get().notAGitRepository,
- dstGitdir.getPath()));
+ dstGitdir.getPath()), notFound);
} catch (IOException e) {
throw die(e.getMessage(), e);
}
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Tag.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Tag.java
index 8c39886..b408b78 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Tag.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Tag.java
@@ -74,7 +74,7 @@
command.call();
} catch (RefAlreadyExistsException e) {
throw die(MessageFormat.format(
- CLIText.get().tagAlreadyExists, tagName));
+ CLIText.get().tagAlreadyExists, tagName), e);
}
}
} else {
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java
index 69c8eb5..36103f2 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java
@@ -50,7 +50,7 @@
up.upload(ins, outs, errs);
} catch (RepositoryNotFoundException notFound) {
throw die(MessageFormat.format(CLIText.get().notAGitRepository,
- srcGitdir.getPath()));
+ srcGitdir.getPath()), notFound);
} catch (IOException e) {
throw die(e.getMessage(), e);
}
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildCommitGraph.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildCommitGraph.java
index ddd48da..8d884c1 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildCommitGraph.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/RebuildCommitGraph.java
@@ -235,7 +235,9 @@
try {
lck.write(content);
} catch (IOException ioe) {
- throw new ObjectWritingException(MessageFormat.format(CLIText.get().cantWrite, file));
+ throw new ObjectWritingException(
+ MessageFormat.format(CLIText.get().cantWrite, file),
+ ioe);
}
if (!lck.commit())
throw new ObjectWritingException(MessageFormat.format(CLIText.get().cantWrite, file));
@@ -266,7 +268,9 @@
errw.println(MessageFormat.format(CLIText.get().skippingObject, type, name));
continue;
}
- throw new MissingObjectException(id, type);
+ MissingObjectException mue1 = new MissingObjectException(id, type);
+ mue1.initCause(mue);
+ throw mue1;
}
refs.put(name, new ObjectIdRef.Unpeeled(Ref.Storage.PACKED,
name, id));
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowPackDelta.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowPackDelta.java
index 6f0aba3..49f7ada 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowPackDelta.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowPackDelta.java
@@ -57,7 +57,7 @@
if (BinaryDelta.getResultSize(delta) != size)
throw die("Object " + obj.name() + " is not a delta"); //$NON-NLS-1$ //$NON-NLS-2$
} catch (ArrayIndexOutOfBoundsException bad) {
- throw die("Object " + obj.name() + " is not a delta"); //$NON-NLS-1$ //$NON-NLS-2$
+ throw die("Object " + obj.name() + " is not a delta", bad); //$NON-NLS-1$ //$NON-NLS-2$
}
outw.println(BinaryDelta.format(delta));
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java
index 07a1bb8..d860472 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java
@@ -101,8 +101,10 @@
try (ObjectReader curs = clp.getRepository().newObjectReader()) {
p.reset(curs, clp.getRevWalk().parseTree(id));
} catch (MissingObjectException | IncorrectObjectTypeException e) {
- throw new CmdLineException(clp,
+ CmdLineException cle = new CmdLineException(clp,
CLIText.format(CLIText.get().notATree), name);
+ cle.initCause(e);
+ throw cle;
} catch (IOException e) {
throw new CmdLineException(clp,
CLIText.format(CLIText.get().cannotReadBecause), name,
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java
index f521775..8b2bed36 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java
@@ -98,8 +98,10 @@
try {
c = clp.getRevWalk().parseCommit(id);
} catch (MissingObjectException | IncorrectObjectTypeException e) {
- throw new CmdLineException(clp,
+ CmdLineException cle = new CmdLineException(clp,
CLIText.format(CLIText.get().notACommit), name);
+ cle.initCause(e);
+ throw cle;
} catch (IOException e) {
throw new CmdLineException(clp,
CLIText.format(CLIText.get().cannotReadBecause), name,
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java
index fa96361..357886d 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java
@@ -70,8 +70,10 @@
try {
c = clp.getRevWalk().parseTree(id);
} catch (MissingObjectException | IncorrectObjectTypeException e) {
- throw new CmdLineException(clp,
+ CmdLineException cle = new CmdLineException(clp,
CLIText.format(CLIText.get().notATree), name);
+ cle.initCause(e);
+ throw cle;
} catch (IOException e) {
throw new CmdLineException(clp,
CLIText.format(CLIText.get().cannotReadBecause), name,
diff --git a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF
index 8fd1756..5bf2563 100644
--- a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF
@@ -24,6 +24,6 @@
org.eclipse.jgit.transport.ssh;version="[5.7.0,5.8.0)",
org.eclipse.jgit.transport.sshd;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.experimental.theories;version="[4.12,5.0.0)",
- org.junit.runner;version="[4.12,5.0.0)"
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.experimental.theories;version="[4.13,5.0.0)",
+ org.junit.runner;version="[4.13,5.0.0)"
diff --git a/org.eclipse.jgit.test/BUILD b/org.eclipse.jgit.test/BUILD
index 3d48796..b34ef2a 100644
--- a/org.eclipse.jgit.test/BUILD
+++ b/org.eclipse.jgit.test/BUILD
@@ -55,6 +55,7 @@
srcs = HELPERS,
resources = DATA,
deps = [
+ "//lib:assertj-core",
"//lib:jsch",
"//lib:junit",
"//lib:mockito",
diff --git a/org.eclipse.jgit.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.test/META-INF/MANIFEST.MF
index d8f6bcf..18f16d9 100644
--- a/org.eclipse.jgit.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.test/META-INF/MANIFEST.MF
@@ -17,6 +17,7 @@
org.apache.commons.compress.compressors.bzip2;version="[1.15.0,2.0)",
org.apache.commons.compress.compressors.gzip;version="[1.15.0,2.0)",
org.apache.commons.compress.compressors.xz;version="[1.15.0,2.0)",
+ org.assertj.core.api;version="[3.14.0,4.0.0)",
org.bouncycastle.util.encoders;version="[1.61.0,2.0.0)",
org.eclipse.jgit.annotations;version="[5.7.0,5.8.0)",
org.eclipse.jgit.api;version="[5.7.0,5.8.0)",
@@ -70,11 +71,12 @@
org.eclipse.jgit.util;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util.io;version="[5.7.0,5.8.0)",
org.eclipse.jgit.util.sha1;version="[5.7.0,5.8.0)",
- org.junit;version="[4.12,5.0.0)",
- org.junit.experimental.theories;version="[4.12,5.0.0)",
- org.junit.rules;version="[4.12,5.0.0)",
- org.junit.runner;version="[4.12,5.0.0)",
- org.junit.runners;version="[4.12,5.0.0)",
+ org.junit;version="[4.13,5.0.0)",
+ org.junit.experimental.theories;version="[4.13,5.0.0)",
+ org.junit.function;version="[4.13.0,5.0.0)",
+ org.junit.rules;version="[4.13,5.0.0)",
+ org.junit.runner;version="[4.13,5.0.0)",
+ org.junit.runners;version="[4.13,5.0.0)",
org.mockito;version="[2.23.0,3.0.0)",
org.mockito.invocation;version="[2.23.0,3.0.0)",
org.mockito.junit;version="[2.23.0,3.0.0)",
diff --git a/org.eclipse.jgit.test/pom.xml b/org.eclipse.jgit.test/pom.xml
index 60e6818..7ba19d4 100644
--- a/org.eclipse.jgit.test/pom.xml
+++ b/org.eclipse.jgit.test/pom.xml
@@ -66,6 +66,11 @@
</dependency>
<dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.23.0</version>
diff --git a/org.eclipse.jgit.test/src/org/eclipse/jgit/lib/MoreAsserts.java b/org.eclipse.jgit.test/src/org/eclipse/jgit/lib/MoreAsserts.java
deleted file mode 100644
index cd0a6f1..0000000
--- a/org.eclipse.jgit.test/src/org/eclipse/jgit/lib/MoreAsserts.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2019, Google LLC and others
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0 which is available at
- * https://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-package org.eclipse.jgit.lib;
-
-/** Assertion methods. */
-public class MoreAsserts {
- /**
- * Simple version of assertThrows that will be introduced in JUnit 4.13.
- *
- * @param expected
- * Expected throwable class
- * @param r
- * Runnable that is expected to throw an exception.
- * @return The thrown exception.
- */
- public static <T extends Throwable> T assertThrows(Class<T> expected,
- ThrowingRunnable r) {
- try {
- r.run();
- } catch (Throwable actual) {
- if (expected.isAssignableFrom(actual.getClass())) {
- @SuppressWarnings("unchecked")
- T toReturn = (T) actual;
- return toReturn;
- }
- throw new AssertionError("Expected " + expected.getSimpleName()
- + ", but got " + actual.getClass().getSimpleName(), actual);
- }
- throw new AssertionError(
- "Expected " + expected.getSimpleName() + " to be thrown");
- }
-
- public interface ThrowingRunnable {
- void run() throws Throwable;
- }
-
- private MoreAsserts() {
- }
-}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RenameBranchCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RenameBranchCommandTest.java
index 6f7ec9a..534ebd9 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RenameBranchCommandTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RenameBranchCommandTest.java
@@ -14,6 +14,7 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import org.eclipse.jgit.api.errors.RefAlreadyExistsException;
@@ -25,9 +26,7 @@
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.revwalk.RevCommit;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
/**
* Unit tests of {@link RenameBranchCommand}
@@ -40,9 +39,6 @@
private Git git;
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
@Override
@Before
public void setUp() throws Exception {
@@ -57,8 +53,8 @@
@Test
public void renameToExisting() throws Exception {
assertNotNull(git.branchCreate().setName("foo").call());
- thrown.expect(RefAlreadyExistsException.class);
- git.branchRename().setOldName("master").setNewName("foo").call();
+ assertThrows(RefAlreadyExistsException.class, () -> git.branchRename()
+ .setOldName("master").setNewName("foo").call());
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/SecurityManagerMissingPermissionsTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/SecurityManagerMissingPermissionsTest.java
new file mode 100644
index 0000000..a07f370
--- /dev/null
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/SecurityManagerMissingPermissionsTest.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2019 Alex Jitianu <alex_jitianu@sync.ro> and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Distribution License v. 1.0 which is available at
+ * https://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+package org.eclipse.jgit.api;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.security.Policy;
+import java.util.Collections;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.apache.log4j.WriterAppender;
+import org.eclipse.jgit.junit.RepositoryTestCase;
+import org.eclipse.jgit.util.FileUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests that using a SecurityManager does not result in errors logged.
+ */
+public class SecurityManagerMissingPermissionsTest extends RepositoryTestCase {
+
+ /**
+ * Collects all logging sent to the logging system.
+ */
+ private final StringWriter errorOutputWriter = new StringWriter();
+
+ /**
+ * Appender to intercept all logging sent to the logging system.
+ */
+ private WriterAppender appender;
+
+ private SecurityManager originalSecurityManager;
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+ originalSecurityManager = System.getSecurityManager();
+
+ appender = new WriterAppender(
+ new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN),
+ errorOutputWriter);
+
+ Logger.getRootLogger().addAppender(appender);
+
+ refreshPolicyAllPermission(Policy.getPolicy());
+ System.setSecurityManager(new SecurityManager());
+ super.setUp();
+ }
+
+ /**
+ * If a SecurityManager is active a lot of {@link java.io.FilePermission}
+ * errors are thrown and logged while initializing a repository.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testCreateNewRepos_MissingPermissions() throws Exception {
+ File wcTree = new File(getTemporaryDirectory(),
+ "CreateNewRepositoryTest_testCreateNewRepos");
+
+ File marker = new File(getTemporaryDirectory(), "marker");
+ Files.write(marker.toPath(), Collections.singletonList("Can write"));
+ assertTrue("Can write in test directory", marker.isFile());
+ FileUtils.delete(marker);
+ assertFalse("Can delete in test direcory", marker.exists());
+
+ Git git = Git.init().setBare(false)
+ .setDirectory(new File(wcTree.getAbsolutePath())).call();
+
+ addRepoToClose(git.getRepository());
+
+ assertEquals("", errorOutputWriter.toString());
+ }
+
+ @Override
+ @After
+ public void tearDown() throws Exception {
+ System.setSecurityManager(originalSecurityManager);
+ Logger.getRootLogger().removeAppender(appender);
+ super.tearDown();
+ }
+
+ /**
+ * Refresh the Java Security Policy.
+ *
+ * @param policy
+ * the policy object
+ *
+ * @throws IOException
+ * if the temporary file that contains the policy could not be
+ * created
+ */
+ private static void refreshPolicyAllPermission(Policy policy)
+ throws IOException {
+ // Starting with an all permissions policy.
+ String policyString = "grant { permission java.security.AllPermission; };";
+
+ // Do not use TemporaryFilesFactory, it will create a dependency cycle
+ Path policyFile = Files.createTempFile("testpolicy", ".txt");
+
+ try {
+ Files.write(policyFile, Collections.singletonList(policyString));
+ System.setProperty("java.security.policy",
+ policyFile.toUri().toURL().toString());
+ policy.refresh();
+ } finally {
+ try {
+ Files.delete(policyFile);
+ } catch (IOException e) {
+ // Do not log; the test tests for no logging having occurred
+ e.printStackTrace();
+ }
+ }
+ }
+
+}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java
index 3886c15..f8c7dae 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffEntryTest.java
@@ -13,9 +13,9 @@
import static org.eclipse.jgit.util.FileUtils.delete;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.io.File;
@@ -26,8 +26,8 @@
import org.eclipse.jgit.dircache.DirCache;
import org.eclipse.jgit.dircache.DirCacheEditor;
import org.eclipse.jgit.dircache.DirCacheEditor.PathEdit;
-import org.eclipse.jgit.internal.storage.file.FileRepository;
import org.eclipse.jgit.dircache.DirCacheEntry;
+import org.eclipse.jgit.internal.storage.file.FileRepository;
import org.eclipse.jgit.junit.JGitTestUtil;
import org.eclipse.jgit.junit.RepositoryTestCase;
import org.eclipse.jgit.lib.FileMode;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfigTest.java
index e612061..2df0ba1 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfigTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfigTest.java
@@ -40,23 +40,18 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThrows;
import org.eclipse.jgit.internal.JGitText;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class DfsBlockCacheConfigTest {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
@Test
public void blockSizeNotPowerOfTwoExpectsException() {
- thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage(is(JGitText.get().blockSizeNotPowerOf2));
-
- new DfsBlockCacheConfig().setBlockSize(1000);
+ assertThrows(JGitText.get().blockSizeNotPowerOf2,
+ IllegalArgumentException.class,
+ () -> new DfsBlockCacheConfig().setBlockSize(1000));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileReftableStackTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileReftableStackTest.java
index 770991e..72bff16 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileReftableStackTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileReftableStackTest.java
@@ -12,6 +12,7 @@
import static org.eclipse.jgit.lib.Ref.Storage.PACKED;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import java.io.File;
@@ -21,6 +22,7 @@
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
+
import org.eclipse.jgit.internal.storage.file.FileReftableStack.Segment;
import org.eclipse.jgit.internal.storage.reftable.MergedReftable;
import org.eclipse.jgit.internal.storage.reftable.RefCursor;
@@ -31,9 +33,7 @@
import org.eclipse.jgit.util.FileUtils;
import org.junit.After;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class FileReftableStackTest {
@@ -113,9 +113,6 @@
testCompaction(1024);
}
- @Rule
- public final ExpectedException thrown = ExpectedException.none();
-
@SuppressWarnings({ "resource", "unused" })
@Test
public void missingReftable() throws Exception {
@@ -143,9 +140,9 @@
}
}
}
- thrown.expect(FileNotFoundException.class);
- new FileReftableStack(new File(reftableDir, "refs"), reftableDir, null,
- () -> new Config());
+ assertThrows(FileNotFoundException.class,
+ () -> new FileReftableStack(new File(reftableDir, "refs"),
+ reftableDir, null, () -> new Config()));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPackRefsTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPackRefsTest.java
index 74f1aea..8baa3cc 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPackRefsTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcPackRefsTest.java
@@ -10,13 +10,13 @@
package org.eclipse.jgit.internal.storage.file;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
import java.io.File;
import java.io.IOException;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/ObjectDirectoryTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/ObjectDirectoryTest.java
index 97c5638..d269457 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/ObjectDirectoryTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/ObjectDirectoryTest.java
@@ -44,6 +44,7 @@
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import java.io.File;
@@ -67,15 +68,10 @@
import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS;
import org.junit.Assume;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class ObjectDirectoryTest extends RepositoryTestCase {
- @Rule
- public ExpectedException expectedEx = ExpectedException.none();
-
@Test
public void testConcurrentInsertionOfBlobsToTheSameNewFanOutDirectory()
throws Exception {
@@ -199,8 +195,7 @@
}
@Test
- public void testShallowFileCorrupt()
- throws Exception {
+ public void testShallowFileCorrupt() throws Exception {
FileRepository repository = createBareRepository();
ObjectDirectory dir = repository.getObjectDatabase();
@@ -210,11 +205,9 @@
UTF_8.name())) {
writer.println(commit);
}
-
- expectedEx.expect(IOException.class);
- expectedEx.expectMessage(MessageFormat
- .format(JGitText.get().badShallowLine, commit));
- dir.getShallowCommits();
+ assertThrows(
+ MessageFormat.format(JGitText.get().badShallowLine, commit),
+ IOException.class, () -> dir.getShallowCommits());
}
private Collection<Callable<ObjectId>> blobInsertersForTheSameFanOutDir(
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackInserterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackInserterTest.java
index 8e438bc..8c56480 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackInserterTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackInserterTest.java
@@ -45,15 +45,14 @@
import static java.util.Comparator.comparing;
import static java.util.stream.Collectors.toList;
-
import static org.eclipse.jgit.lib.Constants.OBJ_BLOB;
import static org.eclipse.jgit.lib.Constants.OBJ_COMMIT;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.lessThan;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java
index a6a8a17..49e8a7b 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java
@@ -19,6 +19,7 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -53,13 +54,9 @@
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.FileUtils;
import org.eclipse.jgit.util.IO;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class T0003_BasicTest extends SampleDataRepositoryTestCase {
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
@Test
public void test001_Initalize() {
@@ -311,10 +308,10 @@
// We won't create a tree entry with an empty filename
//
final TreeFormatter formatter = new TreeFormatter();
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage(JGitText.get().invalidTreeZeroLengthName);
- formatter.append("", FileMode.TREE,
- ObjectId.fromString("4b825dc642cb6eb9a060e54bf8d69288fbee4904"));
+ assertThrows(JGitText.get().invalidTreeZeroLengthName,
+ IllegalArgumentException.class,
+ () -> formatter.append("", FileMode.TREE, ObjectId.fromString(
+ "4b825dc642cb6eb9a060e54bf8d69288fbee4904")));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable/ReftableTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable/ReftableTest.java
index f73dfed..009914b 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable/ReftableTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable/ReftableTest.java
@@ -13,16 +13,16 @@
import static org.eclipse.jgit.lib.Constants.HEAD;
import static org.eclipse.jgit.lib.Constants.OBJECT_ID_LENGTH;
import static org.eclipse.jgit.lib.Constants.R_HEADS;
-import static org.eclipse.jgit.lib.MoreAsserts.assertThrows;
import static org.eclipse.jgit.lib.Ref.Storage.NEW;
import static org.eclipse.jgit.lib.Ref.Storage.PACKED;
import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/http/NetscapeCookieFileTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/http/NetscapeCookieFileTest.java
index 5a7a034..6c8c3ba 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/http/NetscapeCookieFileTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/http/NetscapeCookieFileTest.java
@@ -9,6 +9,10 @@
*/
package org.eclipse.jgit.internal.transport.http;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
@@ -27,10 +31,8 @@
import java.util.regex.Pattern;
import org.eclipse.jgit.internal.storage.file.LockFile;
-import org.eclipse.jgit.internal.transport.http.NetscapeCookieFile;
import org.eclipse.jgit.util.http.HttpCookiesMatcher;
import org.hamcrest.CoreMatchers;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -81,11 +83,10 @@
cookie = new HttpCookie("key3", "valueFromSet2");
cookiesExpectedMergedSet.add(cookie);
- Assert.assertThat(
- NetscapeCookieFile.mergeCookies(cookieSet1, cookieSet2),
+ assertThat(NetscapeCookieFile.mergeCookies(cookieSet1, cookieSet2),
HttpCookiesMatcher.containsInOrder(cookiesExpectedMergedSet));
- Assert.assertThat(NetscapeCookieFile.mergeCookies(cookieSet1, null),
+ assertThat(NetscapeCookieFile.mergeCookies(cookieSet1, null),
HttpCookiesMatcher.containsInOrder(cookieSet1));
}
@@ -110,8 +111,7 @@
String expectedExpiration = String
.valueOf(creationDate.getTime() + (cookie.getMaxAge() * 1000));
- Assert.assertThat(
- Files.readAllLines(tmpFile, StandardCharsets.US_ASCII),
+ assertThat(Files.readAllLines(tmpFile, StandardCharsets.US_ASCII),
CoreMatchers
.equalTo(Arrays.asList("mydomain.com\tTRUE\t/\tTRUE\t"
+ expectedExpiration + "\tkey2\tvalue")));
@@ -136,8 +136,7 @@
String expectedExpiration = String
.valueOf(creationDate.getTime() + (cookie.getMaxAge() * 1000));
- Assert.assertThat(
- Files.readAllLines(tmpFile, StandardCharsets.US_ASCII),
+ assertThat(Files.readAllLines(tmpFile, StandardCharsets.US_ASCII),
CoreMatchers.equalTo(
Arrays.asList("domain.com\tTRUE\t/my/path\tFALSE\t"
+ expectedExpiration + "\tkey2\tvalue2")));
@@ -154,7 +153,7 @@
// now imitate another process/thread holding the lock file
LockFile lockFile = new LockFile(tmpFile.toFile());
try {
- Assert.assertTrue("Could not acquire lock", lockFile.lock());
+ assertTrue("Could not acquire lock", lockFile.lock());
cookieFile.write(baseUrl);
} finally {
lockFile.unlock();
@@ -184,7 +183,7 @@
List<String> lines = Files.readAllLines(tmpFile,
StandardCharsets.US_ASCII);
- Assert.assertEquals("Expected 3 lines", 3, lines.size());
+ assertEquals("Expected 3 lines", 3, lines.size());
assertStringMatchesPatternWithInexactNumber(lines.get(0),
"some-domain1\tTRUE\t/some/path1\tFALSE\t(\\d*)\tkey1\tvalueFromSimple2",
JAN_01_2030_NOON, 1000);
@@ -202,12 +201,12 @@
long delta) {
java.util.regex.Matcher matcher = Pattern.compile(pattern)
.matcher(string);
- Assert.assertTrue("Given string '" + string + "' does not match '"
- + pattern + "'", matcher.matches());
+ assertTrue("Given string '" + string + "' does not match '" + pattern
+ + "'", matcher.matches());
// extract numeric value
Long actualNumericValue = Long.decode(matcher.group(1));
- Assert.assertTrue(
+ assertTrue(
"Value is supposed to be close to " + expectedNumericValue
+ " but is " + actualNumericValue + ".",
Math.abs(expectedNumericValue - actualNumericValue) <= delta);
@@ -238,8 +237,7 @@
}
Set<HttpCookie> actualCookies = new NetscapeCookieFile(tmpFile,
creationDate).getCookies(true);
- Assert.assertThat(actualCookies,
- HttpCookiesMatcher.containsInOrder(cookies));
+ assertThat(actualCookies, HttpCookiesMatcher.containsInOrder(cookies));
}
@Test
@@ -259,8 +257,7 @@
NetscapeCookieFile.write(writer, cookies, baseUrl, creationDate);
}
// compare original file with newly written one, they should not differ
- Assert.assertEquals(Files.readAllLines(tmpFile),
- Files.readAllLines(tmpFile2));
+ assertEquals(Files.readAllLines(tmpFile), Files.readAllLines(tmpFile2));
}
@Test
@@ -289,8 +286,7 @@
Set<HttpCookie> actualCookies = new NetscapeCookieFile(tmpFile, creationDate)
.getCookies(true);
- Assert.assertThat(actualCookies,
- HttpCookiesMatcher.containsInOrder(cookies));
+ assertThat(actualCookies, HttpCookiesMatcher.containsInOrder(cookies));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
index a80d8b3..9b56917 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
@@ -29,6 +29,7 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -58,7 +59,6 @@
import org.junit.After;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
/**
@@ -76,9 +76,6 @@
private static final String REFS_BACKUP = "+refs/heads/*:refs/remotes/backup/*";
@Rule
- public ExpectedException expectedEx = ExpectedException.none();
-
- @Rule
public TemporaryFolder tmp = new TemporaryFolder();
@After
@@ -721,24 +718,22 @@
}
@Test
- public void testIncludeInvalidName() throws ConfigInvalidException {
- expectedEx.expect(ConfigInvalidException.class);
- expectedEx.expectMessage(JGitText.get().invalidLineInConfigFile);
- parse("[include]\nbar\n");
+ public void testIncludeInvalidName() {
+ assertThrows(JGitText.get().invalidLineInConfigFile,
+ ConfigInvalidException.class, () -> parse("[include]\nbar\n"));
}
@Test
- public void testIncludeNoValue() throws ConfigInvalidException {
- expectedEx.expect(ConfigInvalidException.class);
- expectedEx.expectMessage(JGitText.get().invalidLineInConfigFile);
- parse("[include]\npath\n");
+ public void testIncludeNoValue() {
+ assertThrows(JGitText.get().invalidLineInConfigFile,
+ ConfigInvalidException.class, () -> parse("[include]\npath\n"));
}
@Test
- public void testIncludeEmptyValue() throws ConfigInvalidException {
- expectedEx.expect(ConfigInvalidException.class);
- expectedEx.expectMessage(JGitText.get().invalidLineInConfigFile);
- parse("[include]\npath=\n");
+ public void testIncludeEmptyValue() {
+ assertThrows(JGitText.get().invalidLineInConfigFile,
+ ConfigInvalidException.class,
+ () -> parse("[include]\npath=\n"));
}
@Test
@@ -1269,25 +1264,24 @@
}
@Test
- public void testTimeUnitInvalid() throws ConfigInvalidException {
- expectedEx.expect(IllegalArgumentException.class);
- expectedEx
- .expectMessage("Invalid time unit value: a.a=1 monttthhh");
- parseTime("1 monttthhh", DAYS);
+ public void testTimeUnitInvalid() {
+ assertThrows("Invalid time unit value: a.a=1 monttthhh",
+ IllegalArgumentException.class,
+ () -> parseTime("1 monttthhh", DAYS));
}
@Test
public void testTimeUnitInvalidWithSection() throws ConfigInvalidException {
Config c = parse("[a \"b\"]\na=1 monttthhh\n");
- expectedEx.expect(IllegalArgumentException.class);
- expectedEx.expectMessage("Invalid time unit value: a.b.a=1 monttthhh");
- c.getTimeUnit("a", "b", "a", 0, DAYS);
+ assertThrows("Invalid time unit value: a.b.a=1 monttthhh",
+ IllegalArgumentException.class,
+ () -> c.getTimeUnit("a", "b", "a", 0, DAYS));
}
@Test
- public void testTimeUnitNegative() throws ConfigInvalidException {
- expectedEx.expect(IllegalArgumentException.class);
- parseTime("-1", MILLISECONDS);
+ public void testTimeUnitNegative() {
+ assertThrows(IllegalArgumentException.class,
+ () -> parseTime("-1", MILLISECONDS));
}
@Test
@@ -1430,10 +1424,10 @@
}
@Test
- public void testInvalidGroupHeader() throws ConfigInvalidException {
- expectedEx.expect(ConfigInvalidException.class);
- expectedEx.expectMessage(JGitText.get().badGroupHeader);
- parse("[foo \"bar\" ]\nfoo=bar\n");
+ public void testInvalidGroupHeader() {
+ assertThrows(JGitText.get().badGroupHeader,
+ ConfigInvalidException.class,
+ () -> parse("[foo \"bar\" ]\nfoo=bar\n"));
}
@Test
@@ -1447,17 +1441,15 @@
}
@Test
- public void testCrCharContinuation() throws ConfigInvalidException {
- expectedEx.expect(ConfigInvalidException.class);
- expectedEx.expectMessage("Bad escape: \\u000d");
- parseEscapedValue("tr\\\rue");
+ public void testCrCharContinuation() {
+ assertThrows("Bad escape: \\u000d", ConfigInvalidException.class,
+ () -> parseEscapedValue("tr\\\rue"));
}
@Test
- public void testCrEOFContinuation() throws ConfigInvalidException {
- expectedEx.expect(ConfigInvalidException.class);
- expectedEx.expectMessage("Bad escape: \\u000d");
- parseEscapedValue("tr\\\r");
+ public void testCrEOFContinuation() {
+ assertThrows("Bad escape: \\u000d", ConfigInvalidException.class,
+ () -> parseEscapedValue("tr\\\r"));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
index 11ed8fd..5c44c9c 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
@@ -34,6 +34,7 @@
import static org.eclipse.jgit.util.RawParseUtils.decode;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;
import java.text.MessageFormat;
@@ -41,9 +42,7 @@
import org.eclipse.jgit.errors.CorruptObjectException;
import org.eclipse.jgit.internal.JGitText;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class ObjectCheckerTest {
private static final ObjectChecker SECRET_KEY_CHECKER = new ObjectChecker() {
@@ -84,9 +83,6 @@
private ObjectChecker checker;
- @Rule
- public final ExpectedException thrown = ExpectedException.none();
-
@Before
public void setUp() throws Exception {
checker = new ObjectChecker();
@@ -116,9 +112,9 @@
}
@Test
- public void testCheckBlobCorrupt() throws CorruptObjectException {
- thrown.expect(CorruptObjectException.class);
- SECRET_KEY_CHECKER.check(OBJ_BLOB, encodeASCII("key = \"secret_key\""));
+ public void testCheckBlobCorrupt() {
+ assertThrows(CorruptObjectException.class, () -> SECRET_KEY_CHECKER
+ .check(OBJ_BLOB, encodeASCII("key = \"secret_key\"")));
}
@Test
@@ -129,11 +125,9 @@
}
@Test
- public void testCheckBlobWithBlobObjectCheckerCorrupt()
- throws CorruptObjectException {
- thrown.expect(CorruptObjectException.class);
- SECRET_KEY_BLOB_CHECKER.check(OBJ_BLOB,
- encodeASCII("key = \"secret_key\""));
+ public void testCheckBlobWithBlobObjectCheckerCorrupt() {
+ assertThrows(CorruptObjectException.class, () -> SECRET_KEY_BLOB_CHECKER
+ .check(OBJ_BLOB, encodeASCII("key = \"secret_key\"")));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java
index 32dc7eb..cec69c4 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java
@@ -11,12 +11,12 @@
package org.eclipse.jgit.lib;
import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java
index b5ab9d2..054eb9c 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java
@@ -17,6 +17,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -44,36 +45,30 @@
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevWalk;
import org.eclipse.jgit.test.resources.SampleDataRepositoryTestCase;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class BundleWriterTest extends SampleDataRepositoryTestCase {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
@Test
public void testEmptyBundleFails() throws Exception {
Repository newRepo = createBareRepository();
- thrown.expect(TransportException.class);
- fetchFromBundle(newRepo, new byte[0]);
+ assertThrows(TransportException.class,
+ () -> fetchFromBundle(newRepo, new byte[0]));
}
@Test
public void testNonBundleFails() throws Exception {
Repository newRepo = createBareRepository();
- thrown.expect(TransportException.class);
- fetchFromBundle(newRepo, "Not a bundle file".getBytes(UTF_8));
+ assertThrows(TransportException.class, () -> fetchFromBundle(newRepo,
+ "Not a bundle file".getBytes(UTF_8)));
}
@Test
public void testGarbageBundleFails() throws Exception {
Repository newRepo = createBareRepository();
- thrown.expect(TransportException.class);
- fetchFromBundle(newRepo,
+ assertThrows(TransportException.class, () -> fetchFromBundle(newRepo,
(TransportBundle.V2_BUNDLE_SIGNATURE + '\n' + "Garbage")
- .getBytes(UTF_8));
+ .getBytes(UTF_8)));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java
index b55c91f..965a2fa 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java
@@ -10,8 +10,8 @@
package org.eclipse.jgit.transport;
import static org.eclipse.jgit.transport.ObjectIdMatcher.hasOnlyObjectIds;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java
index e16b84f..038ce71 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java
@@ -9,12 +9,13 @@
*/
package org.eclipse.jgit.transport;
+import static org.eclipse.jgit.transport.ObjectIdMatcher.hasOnlyObjectIds;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasItems;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.eclipse.jgit.transport.ObjectIdMatcher.hasOnlyObjectIds;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -27,15 +28,10 @@
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.revwalk.RevCommit;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class ProtocolV2ParserTest {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
private TestRepository<InMemoryRepository> testRepo;
@Before
@@ -236,8 +232,8 @@
ProtocolV2Parser parser = new ProtocolV2Parser(
ConfigBuilder.start().allowFilter().done());
- thrown.expect(PackProtocolException.class);
- parser.parseFetchRequest(pckIn);
+ assertThrows(PackProtocolException.class,
+ () -> parser.parseFetchRequest(pckIn));
}
@Test
@@ -247,8 +243,8 @@
ProtocolV2Parser parser = new ProtocolV2Parser(
ConfigBuilder.getDefault());
- thrown.expect(PackProtocolException.class);
- parser.parseFetchRequest(pckIn);
+ assertThrows(PackProtocolException.class,
+ () -> parser.parseFetchRequest(pckIn));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RequestValidatorTestCase.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RequestValidatorTestCase.java
index f15fa48..cc910b3 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RequestValidatorTestCase.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RequestValidatorTestCase.java
@@ -9,12 +9,15 @@
*/
package org.eclipse.jgit.transport;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.catchThrowableOfType;
+
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-import org.eclipse.jgit.errors.PackProtocolException;
+import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
import org.eclipse.jgit.errors.TransportException;
import org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector;
import org.eclipse.jgit.internal.storage.dfs.DfsRepositoryDescription;
@@ -25,17 +28,11 @@
import org.eclipse.jgit.revwalk.RevBlob;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.UploadPack.RequestValidator;
-import org.hamcrest.Matchers;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public abstract class RequestValidatorTestCase {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
private RevCommit reachableCommit;
private RevCommit tipAdvertisedCommit;
@@ -111,156 +108,165 @@
protected abstract boolean isUnreachableBlobValid();
@Test
- public void validateReachableCommitWithBitmaps()
- throws PackProtocolException, IOException {
- if (!isReachableCommitValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers
- .containsString(
- "want " + reachableCommit.name() + " not valid"));
-
- }
- createValidator().checkWants(getUploadPack(getRepoWithBitmaps()),
+ public void validateReachableCommitWithBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithBitmaps()),
Arrays.asList(reachableCommit));
- }
-
- @Test
- public void validateReachableCommitWithoutBitmaps()
- throws PackProtocolException, IOException {
if (!isReachableCommitValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + reachableCommit.name() + " not valid"));
-
+ assertTransportException(c,
+ "want " + reachableCommit.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithoutBitmaps()),
+ c.call();
+ }
+
+ @Test
+ public void validateReachableCommitWithoutBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithoutBitmaps()),
Arrays.asList(reachableCommit));
+ if (!isReachableCommitValid()) {
+ assertTransportException(c,
+ "want " + reachableCommit.name() + " not valid");
+ return;
+ }
+ c.call();
}
@Test
- public void validateAdvertisedTipWithBitmaps()
- throws PackProtocolException, IOException {
- if (!isAdvertisedTipValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + tipAdvertisedCommit.name() + " not valid"));
-
- }
- createValidator().checkWants(getUploadPack(getRepoWithBitmaps()),
+ public void validateAdvertisedTipWithBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithBitmaps()),
Arrays.asList(tipAdvertisedCommit));
- }
-
- @Test
- public void validateAdvertisedTipWithoutBitmaps()
- throws PackProtocolException, IOException {
if (!isAdvertisedTipValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + tipAdvertisedCommit.name() + " not valid"));
-
+ assertTransportException(c,
+ "want " + tipAdvertisedCommit.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithoutBitmaps()),
+ c.call();
+ }
+
+ @Test
+ public void validateAdvertisedTipWithoutBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithoutBitmaps()),
Arrays.asList(tipAdvertisedCommit));
+ if (!isAdvertisedTipValid()) {
+ assertTransportException(c,
+ "want " + tipAdvertisedCommit.name() + " not valid");
+ return;
+ }
+ c.call();
}
@Test
- public void validateUnadvertisedTipWithBitmaps()
- throws PackProtocolException, IOException {
- if (!isUnadvertisedTipCommitValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + tipUnadvertisedCommit.name() + " not valid"));
-
- }
- createValidator().checkWants(getUploadPack(getRepoWithBitmaps()),
+ public void validateUnadvertisedTipWithBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithBitmaps()),
Arrays.asList(tipUnadvertisedCommit));
- }
-
- @Test
- public void validateUnadvertisedTipWithoutBitmaps()
- throws PackProtocolException, IOException {
if (!isUnadvertisedTipCommitValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + tipUnadvertisedCommit.name() + " not valid"));
-
+ assertTransportException(c,
+ "want " + tipUnadvertisedCommit.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithoutBitmaps()),
+ c.call();
+ }
+
+ @Test
+ public void validateUnadvertisedTipWithoutBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithoutBitmaps()),
Arrays.asList(tipUnadvertisedCommit));
- }
-
- @Test
- public void validateUnreachableCommitWithBitmaps()
- throws PackProtocolException, IOException {
- if (!isUnreachableCommitValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + unreachableCommit.name() + " not valid"));
-
+ if (!isUnadvertisedTipCommitValid()) {
+ assertTransportException(c,
+ "want " + tipUnadvertisedCommit.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithBitmaps()),
- Arrays.asList(unreachableCommit));
+ c.call();
}
@Test
- public void validateUnreachableCommitWithoutBitmaps()
- throws PackProtocolException, IOException {
+ public void validateUnreachableCommitWithBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithBitmaps()),
+ Arrays.asList(unreachableCommit));
if (!isUnreachableCommitValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + unreachableCommit.name() + " not valid"));
-
+ assertTransportException(c,
+ "want " + unreachableCommit.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithoutBitmaps()),
- Arrays.asList(unreachableCommit));
+ c.call();
}
@Test
- public void validateReachableBlobWithBitmaps()
- throws PackProtocolException, IOException {
+ public void validateUnreachableCommitWithoutBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithoutBitmaps()),
+ Arrays.asList(unreachableCommit));
+ if (!isUnreachableCommitValid()) {
+ assertTransportException(c,
+ "want " + unreachableCommit.name() + " not valid");
+ return;
+ }
+ c.call();
+ }
+
+ @Test
+ public void validateReachableBlobWithBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithBitmaps()),
+ Arrays.asList(reachableBlob));
if (!isReachableBlobValid_withBitmaps()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + reachableBlob.name() + " not valid"));
+ assertTransportException(c,
+ "want " + reachableBlob.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithBitmaps()),
- Arrays.asList(reachableBlob));
+ c.call();
}
@Test
- public void validateReachableBlobWithoutBitmaps()
- throws PackProtocolException, IOException {
+ public void validateReachableBlobWithoutBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithoutBitmaps()),
+ Arrays.asList(reachableBlob));
if (!isReachableBlobValid_withoutBitmaps()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + reachableBlob.name() + " not valid"));
+ assertTransportException(c,
+ "want " + reachableBlob.name() + " not valid");
+ return;
}
- createValidator().checkWants(getUploadPack(getRepoWithoutBitmaps()),
- Arrays.asList(reachableBlob));
+ c.call();
}
@Test
- public void validateUnreachableBlobWithBitmaps()
- throws PackProtocolException, IOException {
- if (!isUnreachableBlobValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + unreachableBlob.name() + " not valid"));
- }
- createValidator().checkWants(getUploadPack(getRepoWithBitmaps()),
+ public void validateUnreachableBlobWithBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithBitmaps()),
Arrays.asList(unreachableBlob));
+ if (!isUnreachableBlobValid()) {
+ assertTransportException(c,
+ "want " + unreachableBlob.name() + " not valid");
+ return;
+ }
+ c.call();
}
@Test
- public void validateUnreachableBlobWithoutBitmaps()
- throws PackProtocolException, IOException {
- if (!isUnreachableBlobValid()) {
- thrown.expect(TransportException.class);
- thrown.expectMessage(Matchers.containsString(
- "want " + unreachableBlob.name() + " not valid"));
- }
- createValidator().checkWants(getUploadPack(getRepoWithoutBitmaps()),
+ public void validateUnreachableBlobWithoutBitmaps() throws Throwable {
+ ThrowingCallable c = () -> createValidator().checkWants(
+ getUploadPack(getRepoWithoutBitmaps()),
Arrays.asList(unreachableBlob));
+ if (!isUnreachableBlobValid()) {
+ assertTransportException(c,
+ "want " + unreachableBlob.name() + " not valid");
+ return;
+ }
+ c.call();
+ }
+
+ private void assertTransportException(ThrowingCallable c,
+ String messageContent) throws AssertionError {
+ assertThat(catchThrowableOfType(c, TransportException.class))
+ .hasMessageContaining(messageContent);
}
private UploadPack getUploadPack(Repository repository) throws IOException {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportHttpTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportHttpTest.java
index 7fe5b59..b84b6b2 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportHttpTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportHttpTest.java
@@ -9,6 +9,8 @@
*/
package org.eclipse.jgit.transport;
+import static org.hamcrest.MatcherAssert.assertThat;
+
import java.io.File;
import java.io.IOException;
import java.net.HttpCookie;
@@ -120,7 +122,7 @@
cookie.setMaxAge(1234);
expectedCookies.add(cookie);
- Assert.assertThat(
+ assertThat(
new NetscapeCookieFile(cookieFile.toPath())
.getCookies(true),
HttpCookiesMatcher.containsInOrder(expectedCookies, 5));
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackReachabilityTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackReachabilityTest.java
index 2c9712c..2711762 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackReachabilityTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackReachabilityTest.java
@@ -9,10 +9,10 @@
*/
package org.eclipse.jgit.transport;
-import static org.eclipse.jgit.lib.MoreAsserts.assertThrows;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import java.util.Collections;
@@ -32,9 +32,7 @@
import org.eclipse.jgit.transport.resolver.UploadPackFactory;
import org.junit.After;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
/**
* Test combinations of:
@@ -46,9 +44,6 @@
*/
public class UploadPackReachabilityTest {
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
private URIish uri;
private TestProtocol<Object> testProtocol;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackRefSortingForReachabilityTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackRefSortingForReachabilityTest.java
index 99fe214..37c8705 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackRefSortingForReachabilityTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackRefSortingForReachabilityTest.java
@@ -10,8 +10,8 @@
package org.eclipse.jgit.transport;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.contains;
-import static org.junit.Assert.assertThat;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java
index 108e5ed..ea86563 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java
@@ -1,6 +1,6 @@
package org.eclipse.jgit.transport;
-import static org.eclipse.jgit.lib.MoreAsserts.assertThrows;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.hasItems;
@@ -9,7 +9,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/LRUMapTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/LRUMapTest.java
index f6dd9ad..c9fd0c9 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/LRUMapTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/LRUMapTest.java
@@ -9,11 +9,12 @@
*/
package org.eclipse.jgit.util;
+import static org.hamcrest.MatcherAssert.assertThat;
+
import java.util.LinkedHashMap;
import java.util.Map;
import org.hamcrest.collection.IsIterableContainingInOrder;
-import org.junit.Assert;
import org.junit.Test;
public class LRUMapTest {
@@ -38,8 +39,7 @@
expectedMap.put(0, 0);
expectedMap.put(3, 3);
- Assert.assertThat(map.entrySet(),
- IsIterableContainingInOrder
- .contains(expectedMap.entrySet().toArray()));
+ assertThat(map.entrySet(), IsIterableContainingInOrder
+ .contains(expectedMap.entrySet().toArray()));
}
}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtils_LineMapTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtils_LineMapTest.java
index 7ea96dd..1c2d8d7 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtils_LineMapTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtils_LineMapTest.java
@@ -13,16 +13,12 @@
import static java.nio.charset.StandardCharsets.ISO_8859_1;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
import org.eclipse.jgit.errors.BinaryBlobException;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
public class RawParseUtils_LineMapTest {
- @Rule
- public ExpectedException exception = ExpectedException.none();
-
@Test
public void testEmpty() throws Exception {
@@ -62,8 +58,8 @@
@Test
public void testLineMapOrBinary() throws Exception {
final byte[] buf = "xxxfoo\nb\0ar".getBytes(ISO_8859_1);
- exception.expect(BinaryBlobException.class);
- RawParseUtils.lineMapOrBinary(buf, 3, buf.length);
+ assertThrows(BinaryBlobException.class,
+ () -> RawParseUtils.lineMapOrBinary(buf, 3, buf.length));
}
@Test
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/TimeoutOutputStreamTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/TimeoutOutputStreamTest.java
index 024f0f3..567880f 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/TimeoutOutputStreamTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/TimeoutOutputStreamTest.java
@@ -149,7 +149,9 @@
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
- throw new InterruptedIOException();
+ InterruptedIOException e1 = new InterruptedIOException();
+ e1.initCause(e);
+ throw e1;
}
}
}
@@ -202,7 +204,9 @@
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
- throw new InterruptedIOException();
+ InterruptedIOException e1 = new InterruptedIOException();
+ e1.initCause(e);
+ throw e1;
}
}
}
diff --git a/org.eclipse.jgit/resources/META-INF/services/org.eclipse.jgit.transport.SshSessionFactory b/org.eclipse.jgit/resources/META-INF/services/org.eclipse.jgit.transport.SshSessionFactory
new file mode 100644
index 0000000..1f88284
--- /dev/null
+++ b/org.eclipse.jgit/resources/META-INF/services/org.eclipse.jgit.transport.SshSessionFactory
@@ -0,0 +1 @@
+org.eclipse.jgit.transport.DefaultSshSessionFactory
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java
index 2525cbb..78afe18 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java
@@ -164,7 +164,7 @@
verifyDirectories(u);
} catch (URISyntaxException e) {
throw new InvalidRemoteException(
- MessageFormat.format(JGitText.get().invalidURL, uri));
+ MessageFormat.format(JGitText.get().invalidURL, uri), e);
}
setFetchType();
@SuppressWarnings("resource") // Closed by caller
@@ -185,8 +185,9 @@
repository.close();
}
cleanup();
- throw new InvalidRemoteException(MessageFormat.format(
- JGitText.get().invalidRemote, remote));
+ throw new InvalidRemoteException(
+ MessageFormat.format(JGitText.get().invalidRemote, remote),
+ e);
} catch (GitAPIException | RuntimeException e) {
if (repository != null) {
repository.close();
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java
index a4b9bcf..033dd60 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java
@@ -223,7 +223,7 @@
e.getMessage(), e);
} catch (URISyntaxException e) {
throw new InvalidRemoteException(MessageFormat.format(
- JGitText.get().invalidRemote, remote));
+ JGitText.get().invalidRemote, remote), e);
} catch (NotSupportedException e) {
throw new JGitInternalException(
JGitText.get().exceptionCaughtDuringExecutionOfFetchCommand,
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java
index 12517df..a4ca309 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/LsRemoteCommand.java
@@ -180,7 +180,7 @@
}
} catch (URISyntaxException e) {
throw new InvalidRemoteException(MessageFormat.format(
- JGitText.get().invalidRemote, remote));
+ JGitText.get().invalidRemote, remote), e);
} catch (NotSupportedException e) {
throw new JGitInternalException(
JGitText.get().exceptionCaughtDuringExecutionOfLsRemoteCommand,
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java
index b9b15eb..aa5a634 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java
@@ -152,8 +152,9 @@
}
} catch (URISyntaxException e) {
- throw new InvalidRemoteException(MessageFormat.format(
- JGitText.get().invalidRemote, remote));
+ throw new InvalidRemoteException(
+ MessageFormat.format(JGitText.get().invalidRemote, remote),
+ e);
} catch (TransportException e) {
throw new org.eclipse.jgit.api.errors.TransportException(
e.getMessage(), e);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
index fcfae65..fb6e5df 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityIndex.java
@@ -350,6 +350,7 @@
return (1 << idHashBits) * (idHashBits - 3) / idHashBits;
}
+ @SuppressWarnings("UnusedException")
private void grow() throws TableFullException {
if (idHashBits == 30)
throw new TableFullException();
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java
index bbaed37..fdc89cd 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java
@@ -3,41 +3,14 @@
* Copyright (C) 2008, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2008, Roger C. Soares <rogersoares@intelinet.com.br>
* Copyright (C) 2006, Shawn O. Pearce <spearce@spearce.org>
- * Copyright (C) 2010, Chrisian Halstrick <christian.halstrick@sap.com> and
- * other copyright owners as documented in the project's IP log.
+ * Copyright (C) 2010, Chrisian Halstrick <christian.halstrick@sap.com>
+ * Copyright (C) 2019-2020, Andre Bossert <andre.bossert@siemens.com>
*
* This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v1.0 which accompanies this
- * distribution, is reproduced below, and is available at
- * http://www.eclipse.org/org/documents/edl-v10.php
+ * terms of the Eclipse Distribution License v. 1.0 which is available at
+ * https://www.eclipse.org/org/documents/edl-v10.php.
*
- * 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 Eclipse Foundation, Inc. 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 THE COPYRIGHT OWNER OR CONTRIBUTORS 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.
+ * SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.dircache;
@@ -1504,29 +1477,9 @@
File tmpFile = File.createTempFile(
"._" + name, null, parentDir); //$NON-NLS-1$
- EolStreamType nonNullEolStreamType;
- if (checkoutMetadata.eolStreamType != null) {
- nonNullEolStreamType = checkoutMetadata.eolStreamType;
- } else if (opt.getAutoCRLF() == AutoCRLF.TRUE) {
- nonNullEolStreamType = EolStreamType.AUTO_CRLF;
- } else {
- nonNullEolStreamType = EolStreamType.DIRECT;
- }
- try (OutputStream channel = EolStreamTypeUtil.wrapOutputStream(
- new FileOutputStream(tmpFile), nonNullEolStreamType)) {
- if (checkoutMetadata.smudgeFilterCommand != null) {
- if (FilterCommandRegistry
- .isRegistered(checkoutMetadata.smudgeFilterCommand)) {
- runBuiltinFilterCommand(repo, checkoutMetadata, ol,
- channel);
- } else {
- runExternalFilterCommand(repo, entry, checkoutMetadata, ol,
- fs, channel);
- }
- } else {
- ol.copyTo(channel);
- }
- }
+ getContent(repo, entry.getPathString(), checkoutMetadata, ol, opt,
+ new FileOutputStream(tmpFile));
+
// The entry needs to correspond to the on-disk filesize. If the content
// was filtered (either by autocrlf handling or smudge filters) ask the
// filesystem again for the length. Otherwise the objectloader knows the
@@ -1565,11 +1518,69 @@
entry.setLastModified(fs.lastModifiedInstant(f));
}
+ /**
+ * Return filtered content for a specific object (blob). EOL handling and
+ * smudge-filter handling are applied in the same way as it would be done
+ * during a checkout.
+ *
+ * @param repo
+ * the repository
+ * @param path
+ * the path used to determine the correct filters for the object
+ * @param checkoutMetadata
+ * containing
+ * <ul>
+ * <li>smudgeFilterCommand to be run for smudging the object</li>
+ * <li>eolStreamType used for stream conversion (can be
+ * null)</li>
+ * </ul>
+ * @param ol
+ * the object loader to read raw content of the object
+ * @param opt
+ * the working tree options where only 'core.autocrlf' is used
+ * for EOL handling if 'checkoutMetadata.eolStreamType' is not
+ * valid
+ * @param os
+ * the output stream the filtered content is written to. The
+ * caller is responsible to close the stream.
+ * @throws IOException
+ *
+ * @since 5.7
+ */
+ public static void getContent(Repository repo, String path,
+ CheckoutMetadata checkoutMetadata, ObjectLoader ol,
+ WorkingTreeOptions opt, OutputStream os)
+ throws IOException {
+ EolStreamType nonNullEolStreamType;
+ if (checkoutMetadata.eolStreamType != null) {
+ nonNullEolStreamType = checkoutMetadata.eolStreamType;
+ } else if (opt.getAutoCRLF() == AutoCRLF.TRUE) {
+ nonNullEolStreamType = EolStreamType.AUTO_CRLF;
+ } else {
+ nonNullEolStreamType = EolStreamType.DIRECT;
+ }
+ try (OutputStream channel = EolStreamTypeUtil.wrapOutputStream(
+ os, nonNullEolStreamType)) {
+ if (checkoutMetadata.smudgeFilterCommand != null) {
+ if (FilterCommandRegistry
+ .isRegistered(checkoutMetadata.smudgeFilterCommand)) {
+ runBuiltinFilterCommand(repo, checkoutMetadata, ol,
+ channel);
+ } else {
+ runExternalFilterCommand(repo, path, checkoutMetadata, ol,
+ channel);
+ }
+ } else {
+ ol.copyTo(channel);
+ }
+ }
+ }
+
// Run an external filter command
- private static void runExternalFilterCommand(Repository repo,
- DirCacheEntry entry,
- CheckoutMetadata checkoutMetadata, ObjectLoader ol, FS fs,
+ private static void runExternalFilterCommand(Repository repo, String path,
+ CheckoutMetadata checkoutMetadata, ObjectLoader ol,
OutputStream channel) throws IOException {
+ FS fs = repo.getFS();
ProcessBuilder filterProcessBuilder = fs.runInShell(
checkoutMetadata.smudgeFilterCommand, new String[0]);
filterProcessBuilder.directory(repo.getWorkTree());
@@ -1588,12 +1599,12 @@
} catch (IOException | InterruptedException e) {
throw new IOException(new FilterFailedException(e,
checkoutMetadata.smudgeFilterCommand,
- entry.getPathString()));
+ path));
}
if (rc != 0) {
throw new IOException(new FilterFailedException(rc,
checkoutMetadata.smudgeFilterCommand,
- entry.getPathString(),
+ path,
result.getStdout().toByteArray(MAX_EXCEPTION_TEXT_SIZE),
RawParseUtils.decode(result.getStderr()
.toByteArray(MAX_EXCEPTION_TEXT_SIZE))));
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/ManifestParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/ManifestParser.java
index 023efd8..6a2c389 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/ManifestParser.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/ManifestParser.java
@@ -139,7 +139,7 @@
try {
xr = XMLReaderFactory.createXMLReader();
} catch (SAXException e) {
- throw new IOException(JGitText.get().noXMLParserAvailable);
+ throw new IOException(JGitText.get().noXMLParserAvailable, e);
}
xr.setContentHandler(this);
try {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java
index 98f61d1..c039aaf 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/gitrepo/RepoCommand.java
@@ -541,7 +541,7 @@
inputStream = new FileInputStream(manifestPath);
} catch (IOException e) {
throw new IllegalArgumentException(
- JGitText.get().pathNotConfigured);
+ JGitText.get().pathNotConfigured, e);
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/fsck/FsckPackParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/fsck/FsckPackParser.java
index ad7aebc..3b94984 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/fsck/FsckPackParser.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/fsck/FsckPackParser.java
@@ -290,9 +290,12 @@
ErrorType.MISMATCH_CRC);
}
} catch (MissingObjectException e) {
- throw new CorruptPackIndexException(MessageFormat
- .format(JGitText.get().missingCRC, entry.getName()),
+ CorruptPackIndexException cpe = new CorruptPackIndexException(
+ MessageFormat.format(JGitText.get().missingCRC,
+ entry.getName()),
ErrorType.MISSING_CRC);
+ cpe.initCause(e);
+ throw cpe;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfig.java
index bee2e01..6e7ad3e 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfig.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsBlockCacheConfig.java
@@ -236,7 +236,7 @@
JGitText.get().enumValueNotSupported3,
CONFIG_CORE_SECTION,
CONFIG_DFS_SECTION,
- CONFIG_KEY_STREAM_RATIO, v));
+ CONFIG_KEY_STREAM_RATIO, v), e);
}
}
return this;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
index 857c173..1695870 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
@@ -769,7 +769,8 @@
shallowCommitsIds.add(ObjectId.fromString(line));
} catch (IllegalArgumentException ex) {
throw new IOException(MessageFormat
- .format(JGitText.get().badShallowLine, line));
+ .format(JGitText.get().badShallowLine, line),
+ ex);
}
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
index 0de818a..b997338 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
@@ -71,13 +71,12 @@
*/
public class PackFile implements Iterable<PackIndex.MutableEntry> {
private final static Logger LOG = LoggerFactory.getLogger(PackFile.class);
- /** Sorts PackFiles to be most recently created to least recently created. */
- public static final Comparator<PackFile> SORT = new Comparator<PackFile>() {
- @Override
- public int compare(PackFile a, PackFile b) {
- return b.packLastModified.compareTo(a.packLastModified);
- }
- };
+
+ /**
+ * Sorts PackFiles to be most recently created to least recently created.
+ */
+ public static final Comparator<PackFile> SORT = (a, b) -> b.packLastModified
+ .compareTo(a.packLastModified);
private final File packFile;
@@ -1071,7 +1070,7 @@
} catch (DataFormatException e) {
throw new CorruptObjectException(MessageFormat.format(
JGitText.get().objectAtHasBadZlibStream, Long.valueOf(pos),
- getPackFile()));
+ getPackFile()), e);
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
index b636db6..fddd430 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
@@ -1035,7 +1035,10 @@
lck.waitForStatChange();
} catch (InterruptedException e) {
lck.unlock();
- throw new ObjectWritingException(MessageFormat.format(JGitText.get().interruptedWriting, name));
+ throw new ObjectWritingException(
+ MessageFormat.format(
+ JGitText.get().interruptedWriting, name),
+ e);
}
if (!lck.commit())
throw new ObjectWritingException(MessageFormat.format(JGitText.get().unableToWrite, name));
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/UnpackedObject.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/UnpackedObject.java
index 743badb..bf47d2c 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/UnpackedObject.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/UnpackedObject.java
@@ -149,8 +149,10 @@
}
return new LargeObject(type, size, path, id, wc.db);
} catch (ZipException badStream) {
- throw new CorruptObjectException(id,
+ CorruptObjectException coe = new CorruptObjectException(id,
JGitText.get().corruptObjectBadStream);
+ coe.initCause(badStream);
+ throw coe;
}
}
@@ -192,8 +194,10 @@
}
return size;
} catch (ZipException badStream) {
- throw new CorruptObjectException(id,
+ CorruptObjectException coe = new CorruptObjectException(id,
JGitText.get().corruptObjectBadStream);
+ coe.initCause(badStream);
+ throw coe;
}
}
@@ -205,8 +209,10 @@
try {
r = inf.inflate(buf);
} catch (DataFormatException e) {
- throw new CorruptObjectException(id,
+ CorruptObjectException coe = new CorruptObjectException(id,
JGitText.get().corruptObjectBadStream);
+ coe.initCause(e);
+ throw coe;
}
if (r != 0)
throw new CorruptObjectException(id,
@@ -277,8 +283,10 @@
remaining -= r;
return r;
} catch (ZipException badStream) {
- throw new CorruptObjectException(id,
+ CorruptObjectException coe = new CorruptObjectException(id,
JGitText.get().corruptObjectBadStream);
+ coe.initCause(badStream);
+ throw coe;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
index 33ffe07..e8f0e1f 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
@@ -142,43 +142,42 @@
private static final Map<WeakReference<PackWriter>, Boolean> instances =
new ConcurrentHashMap<>();
- private static final Iterable<PackWriter> instancesIterable = new Iterable<PackWriter>() {
+ private static final Iterable<PackWriter> instancesIterable = () -> new Iterator<PackWriter>() {
+
+ private final Iterator<WeakReference<PackWriter>> it = instances
+ .keySet().iterator();
+
+ private PackWriter next;
+
@Override
- public Iterator<PackWriter> iterator() {
- return new Iterator<PackWriter>() {
- private final Iterator<WeakReference<PackWriter>> it =
- instances.keySet().iterator();
- private PackWriter next;
-
- @Override
- public boolean hasNext() {
- if (next != null)
- return true;
- while (it.hasNext()) {
- WeakReference<PackWriter> ref = it.next();
- next = ref.get();
- if (next != null)
- return true;
- it.remove();
- }
- return false;
+ public boolean hasNext() {
+ if (next != null) {
+ return true;
+ }
+ while (it.hasNext()) {
+ WeakReference<PackWriter> ref = it.next();
+ next = ref.get();
+ if (next != null) {
+ return true;
}
+ it.remove();
+ }
+ return false;
+ }
- @Override
- public PackWriter next() {
- if (hasNext()) {
- PackWriter result = next;
- next = null;
- return result;
- }
- throw new NoSuchElementException();
- }
+ @Override
+ public PackWriter next() {
+ if (hasNext()) {
+ PackWriter result = next;
+ next = null;
+ return result;
+ }
+ throw new NoSuchElementException();
+ }
- @Override
- public void remove() {
- throw new UnsupportedOperationException();
- }
- };
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
}
};
@@ -1579,8 +1578,8 @@
if (pool.awaitTermination(60, TimeUnit.SECONDS))
break;
} catch (InterruptedException e) {
- throw new IOException(
- JGitText.get().packingCancelledDuringObjectsWriting);
+ throw new IOException(JGitText
+ .get().packingCancelledDuringObjectsWriting, e);
}
}
}
@@ -1604,7 +1603,8 @@
// Cross our fingers and just break out anyway.
//
throw new IOException(
- JGitText.get().packingCancelledDuringObjectsWriting);
+ JGitText.get().packingCancelledDuringObjectsWriting,
+ ie);
}
}
@@ -1645,7 +1645,7 @@
for (Future<?> f : futures)
f.cancel(true);
throw new IOException(
- JGitText.get().packingCancelledDuringObjectsWriting);
+ JGitText.get().packingCancelledDuringObjectsWriting, ie);
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java
index 20066be..d0e2441 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/submodule/SubmoduleValidator.java
@@ -165,9 +165,10 @@
}
}
} catch (ConfigInvalidException e) {
- throw new SubmoduleValidationException(
- JGitText.get().invalidGitModules,
- GITMODULES_PARSE);
+ SubmoduleValidationException sve = new SubmoduleValidationException(
+ JGitText.get().invalidGitModules, GITMODULES_PARSE);
+ sve.initCause(e);
+ throw sve;
}
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbbreviatedObjectId.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbbreviatedObjectId.java
index a5e4d78..dc5e5cc 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbbreviatedObjectId.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbbreviatedObjectId.java
@@ -114,8 +114,11 @@
final int d = hexUInt32(bs, ptr + 24, end);
final int e = hexUInt32(bs, ptr + 32, end);
return new AbbreviatedObjectId(end - ptr, a, b, c, d, e);
- } catch (ArrayIndexOutOfBoundsException e1) {
- throw new InvalidObjectIdException(bs, ptr, end - ptr);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ InvalidObjectIdException e1 = new InvalidObjectIdException(bs, ptr,
+ end - ptr);
+ e1.initCause(e);
+ throw e1;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java
index d502274..ffc742d 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java
@@ -601,7 +601,10 @@
throw new CorruptObjectException(id, JGitText.get().corruptObjectInvalidType);
}
} catch (ArrayIndexOutOfBoundsException bad) {
- throw new CorruptObjectException(id, JGitText.get().corruptObjectInvalidType);
+ CorruptObjectException coe = new CorruptObjectException(id,
+ JGitText.get().corruptObjectInvalidType);
+ coe.initCause(bad);
+ throw coe;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/DefaultTypedConfigGetter.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/DefaultTypedConfigGetter.java
index abc9b21..cc0b995 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/DefaultTypedConfigGetter.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/DefaultTypedConfigGetter.java
@@ -46,7 +46,7 @@
return StringUtils.toBoolean(n);
} catch (IllegalArgumentException err) {
throw new IllegalArgumentException(MessageFormat.format(
- JGitText.get().invalidBooleanValue, section, name, n));
+ JGitText.get().invalidBooleanValue, section, name, n), err);
}
}
@@ -152,7 +152,8 @@
return mul * Long.parseLong(n);
} catch (NumberFormatException nfe) {
throw new IllegalArgumentException(MessageFormat.format(
- JGitText.get().invalidIntegerValue, section, name, str));
+ JGitText.get().invalidIntegerValue, section, name, str),
+ nfe);
}
}
@@ -239,7 +240,10 @@
return wantUnit.convert(Long.parseLong(digits) * inputMul,
inputUnit);
} catch (NumberFormatException nfe) {
- throw notTimeUnit(section, subsection, unitName, valueString);
+ IllegalArgumentException iae = notTimeUnit(section, subsection,
+ unitName, valueString);
+ iae.initCause(nfe);
+ throw iae;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/MutableObjectId.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/MutableObjectId.java
index 86b306d..4a712ba 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/MutableObjectId.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/MutableObjectId.java
@@ -234,9 +234,11 @@
w3 = RawParseUtils.parseHexInt32(bs, p + 16);
w4 = RawParseUtils.parseHexInt32(bs, p + 24);
w5 = RawParseUtils.parseHexInt32(bs, p + 32);
- } catch (ArrayIndexOutOfBoundsException e1) {
- throw new InvalidObjectIdException(bs, p,
+ } catch (ArrayIndexOutOfBoundsException e) {
+ InvalidObjectIdException e1 = new InvalidObjectIdException(bs, p,
Constants.OBJECT_ID_STRING_LENGTH);
+ e1.initCause(e);
+ throw e1;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
index 11c0aef..269049f 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
@@ -213,9 +213,11 @@
final int d = RawParseUtils.parseHexInt32(bs, p + 24);
final int e = RawParseUtils.parseHexInt32(bs, p + 32);
return new ObjectId(a, b, c, d, e);
- } catch (ArrayIndexOutOfBoundsException e1) {
- throw new InvalidObjectIdException(bs, p,
+ } catch (ArrayIndexOutOfBoundsException e) {
+ InvalidObjectIdException e1 = new InvalidObjectIdException(bs, p,
Constants.OBJECT_ID_STRING_LENGTH);
+ e1.initCause(e);
+ throw e1;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
index 503e218..a7a832c 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
@@ -550,9 +550,11 @@
try {
pnum = Integer.parseInt(parentnum);
} catch (NumberFormatException e) {
- throw new RevisionSyntaxException(
+ RevisionSyntaxException rse = new RevisionSyntaxException(
JGitText.get().invalidCommitParentNumber,
revstr);
+ rse.initCause(e);
+ throw rse;
}
if (pnum != 0) {
RevCommit commit = (RevCommit) rev;
@@ -647,8 +649,10 @@
try {
dist = Integer.parseInt(distnum);
} catch (NumberFormatException e) {
- throw new RevisionSyntaxException(
+ RevisionSyntaxException rse = new RevisionSyntaxException(
JGitText.get().invalidAncestryLength, revstr);
+ rse.initCause(e);
+ throw rse;
}
} else
dist = 1;
@@ -707,7 +711,10 @@
remoteConfig = new RemoteConfig(getConfig(),
"origin"); //$NON-NLS-1$
} catch (URISyntaxException e) {
- throw new RevisionSyntaxException(revstr);
+ RevisionSyntaxException rse = new RevisionSyntaxException(
+ revstr);
+ rse.initCause(e);
+ throw rse;
}
String remoteBranchName = getConfig()
.getString(
@@ -874,8 +881,11 @@
try {
number = Integer.parseInt(time);
} catch (NumberFormatException nfe) {
- throw new RevisionSyntaxException(MessageFormat.format(
- JGitText.get().invalidReflogRevision, time));
+ RevisionSyntaxException rse = new RevisionSyntaxException(
+ MessageFormat.format(JGitText.get().invalidReflogRevision,
+ time));
+ rse.initCause(nfe);
+ throw rse;
}
assert number >= 0;
ReflogReader reader = getReflogReader(ref.getName());
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java
index a177c29..9210ec1 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java
@@ -33,6 +33,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
@@ -44,6 +45,8 @@
import java.util.SortedMap;
import java.util.TimeZone;
import java.util.TreeMap;
+import java.util.stream.Collectors;
+import java.time.Instant;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
@@ -288,6 +291,8 @@
* <p>
* This method is primarily meant for obtaining a "recursive directory
* listing" rooted under the specified bucket and prefix location.
+ * It returns the keys sorted in reverse order of LastModified time
+ * (freshest keys first).
*
* @param bucket
* name of the bucket whose objects should be listed.
@@ -311,7 +316,10 @@
do {
lp.list();
} while (lp.truncated);
- return lp.entries;
+
+ Comparator<KeyInfo> comparator = Comparator.comparingLong(KeyInfo::getLastModifiedSecs);
+ return lp.entries.stream().sorted(comparator.reversed())
+ .map(KeyInfo::getName).collect(Collectors.toList());
}
/**
@@ -620,8 +628,26 @@
return p;
}
+ /**
+ * KeyInfo enables sorting of keys by lastModified time
+ */
+ private static final class KeyInfo {
+ private final String name;
+ private final long lastModifiedSecs;
+ public KeyInfo(String aname, long lsecs) {
+ name = aname;
+ lastModifiedSecs = lsecs;
+ }
+ public String getName() {
+ return name;
+ }
+ public long getLastModifiedSecs() {
+ return lastModifiedSecs;
+ }
+ }
+
private final class ListParser extends DefaultHandler {
- final List<String> entries = new ArrayList<>();
+ final List<KeyInfo> entries = new ArrayList<>();
private final String bucket;
@@ -630,6 +656,8 @@
boolean truncated;
private StringBuilder data;
+ private String keyName;
+ private Instant keyLastModified;
ListParser(String bn, String p) {
bucket = bn;
@@ -641,7 +669,7 @@
if (prefix.length() > 0)
args.put("prefix", prefix); //$NON-NLS-1$
if (!entries.isEmpty())
- args.put("marker", prefix + entries.get(entries.size() - 1)); //$NON-NLS-1$
+ args.put("marker", prefix + entries.get(entries.size() - 1).getName()); //$NON-NLS-1$
for (int curAttempt = 0; curAttempt < maxAttempts; curAttempt++) {
final HttpURLConnection c = open("GET", bucket, "", args); //$NON-NLS-1$ //$NON-NLS-2$
@@ -650,12 +678,15 @@
case HttpURLConnection.HTTP_OK:
truncated = false;
data = null;
+ keyName = null;
+ keyLastModified = null;
final XMLReader xr;
try {
xr = XMLReaderFactory.createXMLReader();
} catch (SAXException e) {
- throw new IOException(JGitText.get().noXMLParserAvailable);
+ throw new IOException(
+ JGitText.get().noXMLParserAvailable, e);
}
xr.setContentHandler(this);
try (InputStream in = c.getInputStream()) {
@@ -682,8 +713,13 @@
public void startElement(final String uri, final String name,
final String qName, final Attributes attributes)
throws SAXException {
- if ("Key".equals(name) || "IsTruncated".equals(name)) //$NON-NLS-1$ //$NON-NLS-2$
+ if ("Key".equals(name) || "IsTruncated".equals(name) || "LastModified".equals(name)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
data = new StringBuilder();
+ }
+ if ("Contents".equals(name)) { //$NON-NLS-1$
+ keyName = null;
+ keyLastModified = null;
+ }
}
@Override
@@ -703,10 +739,16 @@
@Override
public void endElement(final String uri, final String name,
final String qName) throws SAXException {
- if ("Key".equals(name)) //$NON-NLS-1$
- entries.add(data.toString().substring(prefix.length()));
- else if ("IsTruncated".equals(name)) //$NON-NLS-1$
+ if ("Key".equals(name)) { //$NON-NLS-1$
+ keyName = data.toString().substring(prefix.length());
+ } else if ("IsTruncated".equals(name)) { //$NON-NLS-1$
truncated = StringUtils.equalsIgnoreCase("true", data.toString()); //$NON-NLS-1$
+ } else if ("LastModified".equals(name)) { //$NON-NLS-1$
+ keyLastModified = Instant.parse(data.toString());
+ } else if ("Contents".equals(name)) { //$NON-NLS-1$
+ entries.add(new KeyInfo(keyName, keyLastModified.getEpochSecond()));
+ }
+
data = null;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackConnection.java
index 8604244..1417fae 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackConnection.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackConnection.java
@@ -203,7 +203,9 @@
try {
id = ObjectId.fromString(line.substring(0, 40));
} catch (InvalidObjectIdException e) {
- throw invalidRefAdvertisementLine(line);
+ PackProtocolException ppe = invalidRefAdvertisementLine(line);
+ ppe.initCause(e);
+ throw ppe;
}
if (name.equals(".have")) { //$NON-NLS-1$
additionalHaves.add(id);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/DefaultSshSessionFactory.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/DefaultSshSessionFactory.java
index 063fb6b..afa0a11 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/DefaultSshSessionFactory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/DefaultSshSessionFactory.java
@@ -24,8 +24,10 @@
* <p>
* If user interactivity is required by SSH (e.g. to obtain a password), the
* connection will immediately fail.
+ *
+ * @since 5.7
*/
-class DefaultSshSessionFactory extends JschConfigSessionFactory {
+public class DefaultSshSessionFactory extends JschConfigSessionFactory {
/** {@inheritDoc} */
@Override
protected void configure(OpenSshConfig.Host hc, Session session) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java
index 93800d5..c992bb1 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java
@@ -286,7 +286,7 @@
try {
len = RawParseUtils.parseHexInt16(lineBuffer, 0);
} catch (ArrayIndexOutOfBoundsException err) {
- throw invalidHeader();
+ throw invalidHeader(err);
}
if (len == 0) {
@@ -320,6 +320,12 @@
+ (char) lineBuffer[2] + (char) lineBuffer[3]));
}
+ private IOException invalidHeader(Throwable cause) {
+ IOException ioe = invalidHeader();
+ ioe.initCause(cause);
+ return ioe;
+ }
+
/**
* IOException thrown by read when the configured input limit is exceeded.
*
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
index 8ca09f8..e505e17 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
@@ -1725,15 +1725,17 @@
* desired status to filter by.
* @return a copy of the command list containing only those commands with
* the desired status.
+ * @since 5.7
*/
- private List<ReceiveCommand> filterCommands(Result want) {
+ protected List<ReceiveCommand> filterCommands(Result want) {
return ReceiveCommand.filter(commands, want);
}
/**
* Execute commands to update references.
+ * @since 5.7
*/
- private void executeCommands() {
+ protected void executeCommands() {
List<ReceiveCommand> toApply = filterCommands(Result.NOT_ATTEMPTED);
if (toApply.isEmpty())
return;
@@ -2108,7 +2110,7 @@
} catch (InputOverLimitIOException e) {
String msg = JGitText.get().tooManyCommands;
fatalError(msg);
- throw new PackProtocolException(msg);
+ throw new PackProtocolException(msg, e);
} finally {
try {
close();
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/SshSessionFactory.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/SshSessionFactory.java
index 906c4ed..e6d2042 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/SshSessionFactory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/SshSessionFactory.java
@@ -13,6 +13,8 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
+import java.util.Iterator;
+import java.util.ServiceLoader;
import org.eclipse.jgit.errors.TransportException;
import org.eclipse.jgit.lib.Constants;
@@ -31,8 +33,16 @@
* SshSessionFactory for the duration of the period they are using the Session.
*/
public abstract class SshSessionFactory {
- private static SshSessionFactory INSTANCE = new DefaultSshSessionFactory();
+ private static SshSessionFactory INSTANCE = loadSshSessionFactory();
+ private static SshSessionFactory loadSshSessionFactory() {
+ ServiceLoader<SshSessionFactory> loader = ServiceLoader.load(SshSessionFactory.class);
+ Iterator<SshSessionFactory> iter = loader.iterator();
+ if(iter.hasNext()) {
+ return iter.next();
+ }
+ return null;
+ }
/**
* Get the currently configured JVM-wide factory.
* <p>
@@ -53,10 +63,11 @@
* default factory will be restored.s
*/
public static void setInstance(SshSessionFactory newFactory) {
- if (newFactory != null)
+ if (newFactory != null) {
INSTANCE = newFactory;
- else
- INSTANCE = new DefaultSshSessionFactory();
+ } else {
+ INSTANCE = loadSshSessionFactory();
+ }
}
/**
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TestProtocol.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TestProtocol.java
index 13b891f..c6ecb3a 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TestProtocol.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TestProtocol.java
@@ -140,7 +140,7 @@
int n = handles.size();
uri = new URIish(SCHEME + "://test/conn" + n); //$NON-NLS-1$
} catch (URISyntaxException e) {
- throw new IllegalStateException();
+ throw new IllegalStateException(e);
}
handles.put(uri, new Handle(req, remote));
return uri;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java
index 94f36d2..784f566 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java
@@ -23,6 +23,7 @@
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -241,11 +242,14 @@
@Override
Collection<String> getPackNames() throws IOException {
+ // s3.list returns most recently modified packs first.
+ // These are the packs most likely to contain missing refs.
+ final List<String> packList = s3.list(bucket, resolveKey("pack")); //$NON-NLS-1$
final HashSet<String> have = new HashSet<>();
- have.addAll(s3.list(bucket, resolveKey("pack"))); //$NON-NLS-1$
+ have.addAll(packList);
final Collection<String> packs = new ArrayList<>();
- for (String n : have) {
+ for (String n : packList) {
if (!n.startsWith("pack-") || !n.endsWith(".pack")) //$NON-NLS-1$ //$NON-NLS-2$
continue;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportBundleFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportBundleFile.java
index 155c115..04ebddb 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportBundleFile.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportBundleFile.java
@@ -113,7 +113,10 @@
try {
src = new FileInputStream(bundle);
} catch (FileNotFoundException err) {
- throw new TransportException(uri, JGitText.get().notFound);
+ TransportException te = new TransportException(uri,
+ JGitText.get().notFound);
+ te.initCause(err);
+ throw te;
}
return new BundleFetchConnection(this, src);
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java
index be17b44..403f98d 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java
@@ -143,7 +143,10 @@
.setFS(local != null ? local.getFS() : FS.DETECTED)
.setGitDir(remoteGitDir).build();
} catch (IOException err) {
- throw new TransportException(uri, JGitText.get().notAGitDirectory);
+ TransportException te = new TransportException(uri,
+ JGitText.get().notAGitDirectory);
+ te.initCause(err);
+ throw te;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
index 6ebb668..858d1f7 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
@@ -266,7 +266,10 @@
try {
val = parseHexByte(c1, c2);
} catch (ArrayIndexOutOfBoundsException e) {
- throw new URISyntaxException(s, JGitText.get().cannotParseGitURIish);
+ URISyntaxException use = new URISyntaxException(s,
+ JGitText.get().cannotParseGitURIish);
+ use.initCause(e);
+ throw use;
}
os[j++] = (byte) val;
i += 2;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
index 1880c8b..df9f11e 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
@@ -282,9 +282,12 @@
String REGEX_TRANS = "(.+)/(.+)/(.+)"; //$NON-NLS-1$
}
- static GeneralSecurityException securityError(String message) {
- return new GeneralSecurityException(
+ static GeneralSecurityException securityError(String message,
+ Throwable cause) {
+ GeneralSecurityException e = new GeneralSecurityException(
MessageFormat.format(JGitText.get().encryptionError, message));
+ e.initCause(cause);
+ return e;
}
/**
@@ -332,21 +335,21 @@
try {
size = Integer.parseInt(keySize);
} catch (Exception e) {
- throw securityError(X_KEY_SIZE + EMPTY + keySize);
+ throw securityError(X_KEY_SIZE + EMPTY + keySize, e);
}
final int iter;
try {
iter = Integer.parseInt(keyIter);
} catch (Exception e) {
- throw securityError(X_KEY_ITER + EMPTY + keyIter);
+ throw securityError(X_KEY_ITER + EMPTY + keyIter, e);
}
final byte[] salt;
try {
salt = Hex.decode(keySalt.replaceAll(REGEX_WS, EMPTY));
} catch (Exception e) {
- throw securityError(X_KEY_SALT + EMPTY + keySalt);
+ throw securityError(X_KEY_SALT + EMPTY + keySalt, e);
}
KeySpec keySpec = new PBEKeySpec(pass.toCharArray(), salt, iter, size);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java
index 02ca86b..2c3f3e2 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java
@@ -1159,7 +1159,7 @@
} catch (CharacterCodingException e) {
// This should so never happen.
throw new RuntimeException(MessageFormat.format(
- JGitText.get().unencodeableFile, getName()));
+ JGitText.get().unencodeableFile, getName()), e);
}
encodedNameLen = b.limit();
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
index cd6647c..4156318 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> and others
+ * Copyright (C) 2008, 2020 Shawn O. Pearce <spearce@spearce.org> and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
@@ -49,11 +49,15 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -200,20 +204,7 @@
public static final FileStoreAttributes FALLBACK_FILESTORE_ATTRIBUTES = new FileStoreAttributes(
FALLBACK_TIMESTAMP_RESOLUTION);
- private static final Map<FileStore, FileStoreAttributes> attributeCache = new ConcurrentHashMap<>();
-
- private static final SimpleLruCache<Path, FileStoreAttributes> attrCacheByPath = new SimpleLruCache<>(
- 100, 0.2f);
-
- private static AtomicBoolean background = new AtomicBoolean();
-
- private static Map<FileStore, Lock> locks = new ConcurrentHashMap<>();
-
- private static void setBackground(boolean async) {
- background.set(async);
- }
-
- private static final String javaVersionPrefix = SystemReader
+ private static final String JAVA_VERSION_PREFIX = SystemReader
.getInstance().getHostname() + '|'
+ System.getProperty("java.vendor") + '|' //$NON-NLS-1$
+ System.getProperty("java.version") + '|'; //$NON-NLS-1$
@@ -221,6 +212,44 @@
private static final Duration FALLBACK_MIN_RACY_INTERVAL = Duration
.ofMillis(10);
+ private static final Map<FileStore, FileStoreAttributes> attributeCache = new ConcurrentHashMap<>();
+
+ private static final SimpleLruCache<Path, FileStoreAttributes> attrCacheByPath = new SimpleLruCache<>(
+ 100, 0.2f);
+
+ private static final AtomicBoolean background = new AtomicBoolean();
+
+ private static final Map<FileStore, Lock> locks = new ConcurrentHashMap<>();
+
+ private static final AtomicInteger threadNumber = new AtomicInteger(1);
+
+ /**
+ * Don't use the default thread factory of the ForkJoinPool for the
+ * CompletableFuture; it runs without any privileges, which causes
+ * trouble if a SecurityManager is present.
+ * <p>
+ * Instead use normal daemon threads. They'll belong to the
+ * SecurityManager's thread group, or use the one of the calling thread,
+ * as appropriate.
+ * </p>
+ *
+ * @see java.util.concurrent.Executors#newCachedThreadPool()
+ */
+ private static final Executor FUTURE_RUNNER = new ThreadPoolExecutor(0,
+ 5, 30L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(),
+ runnable -> {
+ Thread t = new Thread(runnable, "FileStoreAttributeReader-" //$NON-NLS-1$
+ + threadNumber.getAndIncrement());
+ // Make sure these threads don't prevent application/JVM
+ // shutdown.
+ t.setDaemon(true);
+ return t;
+ });
+
+ private static void setBackground(boolean async) {
+ background.set(async);
+ }
+
/**
* Configures size and purge factor of the path-based cache for file
* system attributes. Caching of file system attributes avoids recurring
@@ -304,8 +333,7 @@
// Some earlier future might have set the value
// and removed itself since we checked for the
// value above. Hence check cache again.
- FileStoreAttributes c = attributeCache
- .get(s);
+ FileStoreAttributes c = attributeCache.get(s);
if (c != null) {
return Optional.of(c);
}
@@ -339,7 +367,7 @@
locks.remove(s);
}
return attributes;
- });
+ }, FUTURE_RUNNER);
f = f.exceptionally(e -> {
LOG.error(e.getLocalizedMessage(), e);
return Optional.empty();
@@ -450,6 +478,11 @@
LOG.debug("{}: end measure timestamp resolution {} in {}", //$NON-NLS-1$
Thread.currentThread(), s, dir);
return Optional.of(fsResolution);
+ } catch (SecurityException e) {
+ // Log it here; most likely deleteProbe() below will also run
+ // into a SecurityException, and then this one will be lost
+ // without trace.
+ LOG.warn(e.getLocalizedMessage(), e);
} catch (AccessDeniedException e) {
LOG.warn(e.getLocalizedMessage(), e); // see bug 548648
} catch (IOException e) {
@@ -595,7 +628,7 @@
} else {
storeKey = s.name();
}
- return javaVersionPrefix + storeKey;
+ return JAVA_VERSION_PREFIX + storeKey;
}
private static TimeUnit getUnit(long nanos) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java
index fa99087..4831fbb 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java
@@ -300,7 +300,8 @@
} catch (InterruptedException e) {
throw new IOException(
MessageFormat.format(JGitText.get().renameFileFailed,
- src.getAbsolutePath(), dst.getAbsolutePath()));
+ src.getAbsolutePath(), dst.getAbsolutePath()),
+ e);
}
}
throw new IOException(
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutInputStream.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutInputStream.java
index 1356136..1947b3b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutInputStream.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutInputStream.java
@@ -70,7 +70,7 @@
beginRead();
return super.read();
} catch (InterruptedIOException e) {
- throw readTimedOut();
+ throw readTimedOut(e);
} finally {
endRead();
}
@@ -89,7 +89,7 @@
beginRead();
return super.read(buf, off, cnt);
} catch (InterruptedIOException e) {
- throw readTimedOut();
+ throw readTimedOut(e);
} finally {
endRead();
}
@@ -102,7 +102,7 @@
beginRead();
return super.skip(cnt);
} catch (InterruptedIOException e) {
- throw readTimedOut();
+ throw readTimedOut(e);
} finally {
endRead();
}
@@ -116,8 +116,11 @@
myTimer.end();
}
- private InterruptedIOException readTimedOut() {
- return new InterruptedIOException(MessageFormat.format(
- JGitText.get().readTimedOut, Integer.valueOf(timeout)));
+ private InterruptedIOException readTimedOut(InterruptedIOException e) {
+ InterruptedIOException interrupted = new InterruptedIOException(
+ MessageFormat.format(JGitText.get().readTimedOut,
+ Integer.valueOf(timeout)));
+ interrupted.initCause(e);
+ return interrupted;
}
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutOutputStream.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutOutputStream.java
index 7532c42..3fbf6ff 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutOutputStream.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/io/TimeoutOutputStream.java
@@ -72,7 +72,7 @@
beginWrite();
dst.write(b);
} catch (InterruptedIOException e) {
- throw writeTimedOut();
+ throw writeTimedOut(e);
} finally {
endWrite();
}
@@ -91,7 +91,7 @@
beginWrite();
dst.write(buf, off, len);
} catch (InterruptedIOException e) {
- throw writeTimedOut();
+ throw writeTimedOut(e);
} finally {
endWrite();
}
@@ -104,7 +104,7 @@
beginWrite();
dst.flush();
} catch (InterruptedIOException e) {
- throw writeTimedOut();
+ throw writeTimedOut(e);
} finally {
endWrite();
}
@@ -117,7 +117,7 @@
beginWrite();
dst.close();
} catch (InterruptedIOException e) {
- throw writeTimedOut();
+ throw writeTimedOut(e);
} finally {
endWrite();
}
@@ -131,8 +131,11 @@
myTimer.end();
}
- private InterruptedIOException writeTimedOut() {
- return new InterruptedIOException(MessageFormat.format(
- JGitText.get().writeTimedOut, Integer.valueOf(timeout)));
+ private InterruptedIOException writeTimedOut(InterruptedIOException cause) {
+ InterruptedIOException e = new InterruptedIOException(
+ MessageFormat.format(JGitText.get().writeTimedOut,
+ Integer.valueOf(timeout)));
+ e.initCause(cause);
+ return e;
}
}
diff --git a/pom.xml b/pom.xml
index 2eeda67..d0a5c83 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,27 +155,27 @@
<apache-sshd-version>2.2.0</apache-sshd-version>
<jsch-version>0.1.55</jsch-version>
<jzlib-version>1.1.1</jzlib-version>
- <javaewah-version>1.1.6</javaewah-version>
- <junit-version>4.12</junit-version>
+ <javaewah-version>1.1.7</javaewah-version>
+ <junit-version>4.13</junit-version>
<test-fork-count>1C</test-fork-count>
<args4j-version>2.33</args4j-version>
- <commons-compress-version>1.18</commons-compress-version>
+ <commons-compress-version>1.19</commons-compress-version>
<osgi-core-version>4.3.1</osgi-core-version>
<servlet-api-version>3.1.0</servlet-api-version>
<jetty-version>9.4.25.v20191220</jetty-version>
- <japicmp-version>0.14.1</japicmp-version>
- <httpclient-version>4.5.6</httpclient-version>
- <httpcore-version>4.4.10</httpcore-version>
+ <japicmp-version>0.14.3</japicmp-version>
+ <httpclient-version>4.5.10</httpclient-version>
+ <httpcore-version>4.4.12</httpcore-version>
<slf4j-version>1.7.2</slf4j-version>
<log4j-version>1.2.15</log4j-version>
<maven-javadoc-plugin-version>3.1.1</maven-javadoc-plugin-version>
- <tycho-extras-version>1.5.1</tycho-extras-version>
+ <tycho-extras-version>1.6.0</tycho-extras-version>
<gson-version>2.8.2</gson-version>
<bouncycastle-version>1.64</bouncycastle-version>
<spotbugs-maven-plugin-version>3.1.12.2</spotbugs-maven-plugin-version>
<maven-project-info-reports-plugin-version>3.0.0</maven-project-info-reports-plugin-version>
<maven-jxr-plugin-version>3.0.0</maven-jxr-plugin-version>
- <maven-surefire-plugin-version>3.0.0-M3</maven-surefire-plugin-version>
+ <maven-surefire-plugin-version>3.0.0-M4</maven-surefire-plugin-version>
<maven-surefire-report-plugin-version>${maven-surefire-plugin-version}</maven-surefire-report-plugin-version>
<maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
@@ -298,7 +298,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
- <version>3.12.0</version>
+ <version>3.13.0</version>
<configuration>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
@@ -775,6 +775,11 @@
<version>${bouncycastle-version}</version>
</dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <version>3.14.0</version>
+ </dependency>
</dependencies>
</dependencyManagement>
@@ -831,9 +836,6 @@
<configuration>
<compilerId>javac-with-errorprone</compilerId>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
- <compilerArgs>
- <arg>-Xep:ExpectedExceptionChecker:ERROR</arg>
- </compilerArgs>
<excludes>
<exclude>org/eclipse/jgit/transport/InsecureCipherFactory.java</exclude>
</excludes>
diff --git a/tools/BUILD b/tools/BUILD
index e5931dc..2b20874 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -39,7 +39,6 @@
"-Xep:ElementsCountedInLoop:ERROR",
"-Xep:EqualsHashCode:ERROR",
"-Xep:EqualsIncompatibleType:ERROR",
- "-Xep:ExpectedExceptionChecker:ERROR",
"-Xep:Finally:WARN",
"-Xep:FloatingPointLiteralPrecision:ERROR",
"-Xep:FragmentInjection:ERROR",
@@ -79,6 +78,7 @@
"-Xep:TypeParameterShadowing:ERROR",
"-Xep:TypeParameterUnusedInFormals:WARN",
"-Xep:URLEqualsHashCode:ERROR",
+ "-Xep:UnusedException:ERROR",
"-Xep:UnsynchronizedOverridesSynchronized:ERROR",
"-Xep:WaitNotInLoop:ERROR",
],