* master:
Add benchmark for strategies how to move a file
Add getter for unpackErrorHandler in ReceivePack
Upgrade maven-project-info-reports-plugin to 3.1.0
Upgrade maven-shade-plugin to 3.2.4
ObjectDirectoryInserter: Open FileOutputStream in try-with-resource
ObjectDirectoryInserter: Remove redundant 'throws' declarations
ObjectDirectory: Further clean up insertUnpackedObject
Add Git#shutdown for releasing resources held by JGit process
ApplyCommand: use context lines to determine hunk location
GPG: don't prompt for a passphrase for unprotected keys
Fix typo in org.eclipse.jgit.ssh.jsch.test MANIFEST
Fix ProtectedMembersInFinalClass warning flagged by error prone
Use version range to define fragment host bundle version
ObjectDirectory: Explicitly handle NoSuchFileException
ObjectDirectory: Fail immediately when atomic move is not supported
Fix jgit packaging
Fix InvalidInlineTag error flagged by error prone
Fix BadComparable error flagged by error prone
Add tests for RawTextComparator.WS_IGNORE_CHANGE.hash()
Update Orbit to R20200529191137 for final Eclipse release 2020-06
Organize manifest of org.eclipse.jgit.pgm
Do not include log4j implementation in jgit
Decouple JSch from JGit Core
Decouple BouncyCastle from JGit Core
Verify that the user home directory is valid
WindowCache: conditional JMX setup
RawTextComparator.WS_IGNORE_CHANGE must not compare whitespace
Revert "PackBitmapIndex: Not buffer inflated bitmap in BasePackBitmapIndex"
Update jetty to 9.4.28.v20200408
Add 4.16 staging target platform
In-memory SSH keys for the "no files" sshd tests
Builder API to configure SshdSessionFactories
TransportHttp: abort on time-out or on SocketException
Ignore core.eol if core.autocrlf=input
Attributes: fix handling of text=auto in combination with eol
Bazel: Remove superfluous dependencies flagged by unused_deps
Log stack trace if CachingKeyPairProvider hits unexpected exception
Update Orbit to S20200519202422 and ant to 1.10.8
Include full IssuerFingerprint in GPG signature
Bazel: Fix src_sha1 of bcpg-jdk15on
Suppress API error for new method BitmapIndex.Bitmap#retrieveCompressed
Fix wrong @since tags added in dcb0265
PackBitmapIndex: Set distance threshold
PackBitmapIndex: Not buffer inflated bitmap in BasePackBitmapIndex
PackBitmapIndex: Remove convertedBitmaps in the Remapper
PackBitmapIndex: Reduce memory usage in GC
PackBitmapIndex: Add AddToBitmapWithCacheFilter class
PackBitmapIndex: Add util methods and builder to BitmapCommit
PackBitmapIndex: Move BitmapCommit to a top-level class
Refactor: Make retriveCompressed an method of the Bitmap class
Fix downloading LFS Object fails behind proxy
Allow for using custom s3 host with lfs server
ReceivePack: adding IterativeConnectivityChecker
Moving transport/internal -> internal/transport
Fix error occurring during checkout
Change-Id: I675cfb9eee956bab4903f28d8021115afc753dcd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
tags/v5.8.0.202006091008-r
@@ -209,48 +209,48 @@ maven_jar( | |||
sha1 = "3edcfe49d2c6053a70a2a47e4e1c2f94998a49cf", | |||
) | |||
JETTY_VER = "9.4.25.v20191220" | |||
JETTY_VER = "9.4.28.v20200408" | |||
maven_jar( | |||
name = "jetty-servlet", | |||
artifact = "org.eclipse.jetty:jetty-servlet:" + JETTY_VER, | |||
sha1 = "bee77d6a4f87dc90d5bc142cbd6cef470ec46aae", | |||
src_sha1 = "e8b09b6431fc9cfbff588698ac0262a745fe00e4", | |||
sha1 = "7df27a6d73e3094ad94ea4f32e3e6597cecbdf38", | |||
src_sha1 = "49da8455dd5760b7c5961df3b1e7d1490ff9723e", | |||
) | |||
maven_jar( | |||
name = "jetty-security", | |||
artifact = "org.eclipse.jetty:jetty-security:" + JETTY_VER, | |||
sha1 = "593ff5b5dfd5bf973184329f5d1209b9a411ec12", | |||
src_sha1 = "369f869a13a33d25535db3176a84945e94a3718a", | |||
sha1 = "d5fe6851f14d1375e4b4ab1818475bfd929cf517", | |||
src_sha1 = "204f19ac7e4df9f6f68df1910154d7667ecd78e8", | |||
) | |||
maven_jar( | |||
name = "jetty-server", | |||
artifact = "org.eclipse.jetty:jetty-server:" + JETTY_VER, | |||
sha1 = "5b352c9f9135a1c20e4808e5cb1d84fbddfdc460", | |||
src_sha1 = "0f3acc2abcdb86491a2c37074592860cb1100269", | |||
sha1 = "9c2cbd96426be38b1273ec87ae21e2696688a737", | |||
src_sha1 = "83454098deb880ecc7168252578f712c06a5504b", | |||
) | |||
maven_jar( | |||
name = "jetty-http", | |||
artifact = "org.eclipse.jetty:jetty-http:" + JETTY_VER, | |||
sha1 = "c3aa7da362f1a492667ce754ba16b2535b793668", | |||
src_sha1 = "70ef1436dc895eafe2cc24cf59af6e2d2874d963", | |||
sha1 = "dd56750ea7410c925f1fbae973c0a19cce5a0a68", | |||
src_sha1 = "1ef8d10cb5ce5694f12650cbb49b31008c673182", | |||
) | |||
maven_jar( | |||
name = "jetty-io", | |||
artifact = "org.eclipse.jetty:jetty-io:" + JETTY_VER, | |||
sha1 = "3eb34b5481012701de0ea9dfaf2bdf1dbb947b16", | |||
src_sha1 = "ad129617793088aaf69eab18a13c9bce02cb1195", | |||
sha1 = "adda6786588a922f834e9c33c7db5f1484310f44", | |||
src_sha1 = "4e7756e00b97b439d404e6a682bb1cdeb36fc887", | |||
) | |||
maven_jar( | |||
name = "jetty-util", | |||
artifact = "org.eclipse.jetty:jetty-util:" + JETTY_VER, | |||
sha1 = "fd8b642cc16728f1c36ca6a64653cb1b26ec0232", | |||
src_sha1 = "c84dc3026cc4aea013dc97b18228756816167745", | |||
sha1 = "118d2a44721885a04238aee21a5055dc1ab3818a", | |||
src_sha1 = "e2e6d7c90e4126645d2667014d02f0732c08c948", | |||
) | |||
BOUNCYCASTLE_VER = "1.65" | |||
@@ -259,14 +259,14 @@ maven_jar( | |||
name = "bcpg", | |||
artifact = "org.bouncycastle:bcpg-jdk15on:" + BOUNCYCASTLE_VER, | |||
sha1 = "f32fc02cc29c9fdcc35c0de4d16964f01777067c", | |||
src_sha1 = "35e87838bf9348b25aae07135ceccfbef6827e3c", | |||
src_sha1 = "508476d5383c7d086b400f5e7c5a8cf4dc8ac4e2", | |||
) | |||
maven_jar( | |||
name = "bcprov", | |||
artifact = "org.bouncycastle:bcprov-jdk15on:" + BOUNCYCASTLE_VER, | |||
sha1 = "320b989112f00a63a3bcfa5a98f31a4f865a20fa", | |||
src_sha1 = "ef2676604015c183bb29f8e17846cb3aa4b80c24", | |||
artifact = "org.bouncycastle:bcprov-jdk15on:1.65.01", | |||
sha1 = "0fbd478ea7b07acc3902b9585a37fd88393f8427", | |||
src_sha1 = "8f54635075628c69b6c037e800dd0b03ffb8dd51", | |||
) | |||
maven_jar( |
@@ -35,6 +35,7 @@ java_library( | |||
visibility = [ | |||
"//org.eclipse.jgit.ssh.apache:__pkg__", | |||
"//org.eclipse.jgit.ssh.apache.test:__pkg__", | |||
"//org.eclipse.jgit.ssh.jsch.test:__pkg__", | |||
], | |||
exports = ["@eddsa//jar"], | |||
) | |||
@@ -145,7 +146,9 @@ java_library( | |||
name = "jsch", | |||
visibility = [ | |||
"//org.eclipse.jgit:__pkg__", | |||
"//org.eclipse.jgit.test:__pkg__", | |||
"//org.eclipse.jgit.junit.ssh:__pkg__", | |||
"//org.eclipse.jgit.ssh.jsch:__pkg__", | |||
"//org.eclipse.jgit.ssh.jsch.test:__pkg__", | |||
], | |||
exports = ["@jsch//jar"], | |||
) | |||
@@ -154,6 +157,7 @@ java_library( | |||
name = "bcpg", | |||
visibility = [ | |||
"//org.eclipse.jgit:__pkg__", | |||
"//org.eclipse.jgit.gpg.bc:__pkg__", | |||
"//org.eclipse.jgit.test:__pkg__", | |||
], | |||
exports = ["@bcpg//jar"], | |||
@@ -163,6 +167,7 @@ java_library( | |||
name = "bcprov", | |||
visibility = [ | |||
"//org.eclipse.jgit:__pkg__", | |||
"//org.eclipse.jgit.gpg.bc:__pkg__", | |||
"//org.eclipse.jgit.test:__pkg__", | |||
], | |||
exports = ["@bcprov//jar"], | |||
@@ -172,6 +177,7 @@ java_library( | |||
name = "bcpkix", | |||
visibility = [ | |||
"//org.eclipse.jgit:__pkg__", | |||
"//org.eclipse.jgit.gpg.bc:__pkg__", | |||
"//org.eclipse.jgit.test:__pkg__", | |||
], | |||
exports = ["@bcpkix//jar"], | |||
@@ -181,6 +187,7 @@ java_library( | |||
name = "jzlib", | |||
visibility = [ | |||
"//org.eclipse.jgit:__pkg__", | |||
"//org.eclipse.jgit.ssh.jsch:__pkg__", | |||
"//org.eclipse.jgit.test:__pkg__", | |||
], | |||
exports = ["@jzlib//jar"], |
@@ -38,7 +38,7 @@ | |||
<dependency> | |||
<groupId>org.apache.ant</groupId> | |||
<artifactId>ant</artifactId> | |||
<version>1.10.7</version> | |||
<version>1.10.8</version> | |||
</dependency> | |||
</dependencies> | |||
@@ -0,0 +1,136 @@ | |||
/* | |||
* Copyright (C) 2020, Matthias Sohn <matthias.sohn@sap.com> 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.benchmarks; | |||
import java.io.IOException; | |||
import java.nio.file.Files; | |||
import java.nio.file.NoSuchFileException; | |||
import java.nio.file.Path; | |||
import java.nio.file.StandardCopyOption; | |||
import java.util.concurrent.TimeUnit; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.openjdk.jmh.annotations.Benchmark; | |||
import org.openjdk.jmh.annotations.BenchmarkMode; | |||
import org.openjdk.jmh.annotations.Measurement; | |||
import org.openjdk.jmh.annotations.Mode; | |||
import org.openjdk.jmh.annotations.OutputTimeUnit; | |||
import org.openjdk.jmh.annotations.Scope; | |||
import org.openjdk.jmh.annotations.Setup; | |||
import org.openjdk.jmh.annotations.State; | |||
import org.openjdk.jmh.annotations.TearDown; | |||
import org.openjdk.jmh.annotations.Warmup; | |||
import org.openjdk.jmh.runner.Runner; | |||
import org.openjdk.jmh.runner.RunnerException; | |||
import org.openjdk.jmh.runner.options.Options; | |||
import org.openjdk.jmh.runner.options.OptionsBuilder; | |||
@State(Scope.Thread) | |||
public class FileMoveBenchmark { | |||
int i; | |||
Path testDir; | |||
Path targetDir; | |||
@Setup | |||
public void setupBenchmark() throws IOException { | |||
testDir = Files.createTempDirectory("dir"); | |||
targetDir = testDir.resolve("target"); | |||
Files.createDirectory(targetDir); | |||
} | |||
@TearDown | |||
public void teardown() throws IOException { | |||
FileUtils.delete(testDir.toFile(), | |||
FileUtils.RECURSIVE | FileUtils.RETRY); | |||
} | |||
@Benchmark | |||
@BenchmarkMode({ Mode.AverageTime }) | |||
@OutputTimeUnit(TimeUnit.MICROSECONDS) | |||
@Warmup(iterations = 5, time = 1000, timeUnit = TimeUnit.MILLISECONDS) | |||
@Measurement(iterations = 5, time = 5000, timeUnit = TimeUnit.MILLISECONDS) | |||
public Path moveFileToExistingDir() throws IOException { | |||
i++; | |||
Path tmp = testDir.resolve("tmp" + i++); | |||
Files.createFile(tmp); | |||
Path targetDirectory = targetDir; | |||
Path targetFile = targetDirectory.resolve("tmp" + i); | |||
try { | |||
return Files.move(tmp, targetFile, StandardCopyOption.ATOMIC_MOVE); | |||
} catch (NoSuchFileException e) { | |||
Files.createDirectory(targetDirectory); | |||
return Files.move(tmp, targetFile, StandardCopyOption.ATOMIC_MOVE); | |||
} | |||
} | |||
@Benchmark | |||
@BenchmarkMode({ Mode.AverageTime }) | |||
@OutputTimeUnit(TimeUnit.MICROSECONDS) | |||
@Warmup(iterations = 5, time = 1000, timeUnit = TimeUnit.MILLISECONDS) | |||
@Measurement(iterations = 5, time = 5000, timeUnit = TimeUnit.MILLISECONDS) | |||
public Path moveFileToExistingDirExists() throws IOException { | |||
Path tmp = testDir.resolve("tmp" + i++); | |||
Files.createFile(tmp); | |||
Path targetDirectory = targetDir; | |||
Path targetFile = targetDir.resolve("tmp" + i); | |||
if (!targetDirectory.toFile().exists()) { | |||
Files.createDirectory(targetDirectory); | |||
} | |||
return Files.move(tmp, targetFile, StandardCopyOption.ATOMIC_MOVE); | |||
} | |||
@Benchmark | |||
@BenchmarkMode({ Mode.AverageTime }) | |||
@OutputTimeUnit(TimeUnit.MICROSECONDS) | |||
@Warmup(iterations = 5, time = 1000, timeUnit = TimeUnit.MILLISECONDS) | |||
@Measurement(iterations = 5, time = 5000, timeUnit = TimeUnit.MILLISECONDS) | |||
public Path moveFileToMissingDir() throws IOException { | |||
i++; | |||
Path tmp = testDir.resolve("tmp" + i); | |||
Files.createFile(tmp); | |||
Path targetDirectory = testDir.resolve("target" + i); | |||
Path targetFile = targetDirectory.resolve("tmp" + i); | |||
try { | |||
return Files.move(tmp, targetFile, StandardCopyOption.ATOMIC_MOVE); | |||
} catch (NoSuchFileException e) { | |||
Files.createDirectory(targetDirectory); | |||
return Files.move(tmp, targetFile, StandardCopyOption.ATOMIC_MOVE); | |||
} | |||
} | |||
@Benchmark | |||
@BenchmarkMode({ Mode.AverageTime }) | |||
@OutputTimeUnit(TimeUnit.MICROSECONDS) | |||
@Warmup(iterations = 5, time = 1000, timeUnit = TimeUnit.MILLISECONDS) | |||
@Measurement(iterations = 5, time = 5000, timeUnit = TimeUnit.MILLISECONDS) | |||
public Path moveFileToMissingDirExists() throws IOException { | |||
i++; | |||
Path tmp = testDir.resolve("tmp" + i); | |||
Files.createFile(tmp); | |||
Path targetDirectory = testDir.resolve("target" + i); | |||
Path targetFile = targetDirectory.resolve("tmp" + i); | |||
if (!targetDirectory.toFile().exists()) { | |||
Files.createDirectory(targetDirectory); | |||
} | |||
return Files.move(tmp, targetFile, StandardCopyOption.ATOMIC_MOVE); | |||
} | |||
public static void main(String[] args) throws RunnerException { | |||
Options opt = new OptionsBuilder() | |||
.include(FileMoveBenchmark.class | |||
.getSimpleName()) | |||
// .addProfiler(StackProfiler.class) | |||
// .addProfiler(GCProfiler.class) | |||
.forks(1).jvmArgs("-ea").build(); | |||
new Runner(opt).run(); | |||
} | |||
} |
@@ -0,0 +1,11 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<classpath> | |||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | |||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | |||
<classpathentry kind="src" path="tst"> | |||
<attributes> | |||
<attribute name="test" value="true"/> | |||
</attributes> | |||
</classpathentry> | |||
<classpathentry kind="output" path="bin"/> | |||
</classpath> |
@@ -0,0 +1,2 @@ | |||
/bin | |||
/target |
@@ -0,0 +1,28 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<projectDescription> | |||
<name>org.eclipse.jgit.gpg.bc.test</name> | |||
<comment></comment> | |||
<projects> | |||
</projects> | |||
<buildSpec> | |||
<buildCommand> | |||
<name>org.eclipse.jdt.core.javabuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
<buildCommand> | |||
<name>org.eclipse.pde.ManifestBuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
<buildCommand> | |||
<name>org.eclipse.pde.SchemaBuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
</buildSpec> | |||
<natures> | |||
<nature>org.eclipse.pde.PluginNature</nature> | |||
<nature>org.eclipse.jdt.core.javanature</nature> | |||
</natures> | |||
</projectDescription> |
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
encoding/<project>=UTF-8 |
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
line.separator=\n |
@@ -0,0 +1,399 @@ | |||
eclipse.preferences.version=1 | |||
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled | |||
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore | |||
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull | |||
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault | |||
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable | |||
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled | |||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | |||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate | |||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | |||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | |||
org.eclipse.jdt.core.compiler.compliance=1.8 | |||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | |||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | |||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | |||
org.eclipse.jdt.core.compiler.doc.comment.support=enabled | |||
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning | |||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | |||
org.eclipse.jdt.core.compiler.problem.autoboxing=warning | |||
org.eclipse.jdt.core.compiler.problem.comparingIdentical=error | |||
org.eclipse.jdt.core.compiler.problem.deadCode=error | |||
org.eclipse.jdt.core.compiler.problem.deprecation=warning | |||
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled | |||
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled | |||
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning | |||
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning | |||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | |||
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning | |||
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning | |||
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled | |||
org.eclipse.jdt.core.compiler.problem.fieldHiding=warning | |||
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning | |||
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error | |||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error | |||
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error | |||
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled | |||
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning | |||
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning | |||
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private | |||
org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning | |||
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error | |||
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore | |||
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore | |||
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTags=error | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private | |||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning | |||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled | |||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning | |||
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore | |||
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error | |||
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error | |||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore | |||
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning | |||
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error | |||
org.eclipse.jdt.core.compiler.problem.nullReference=error | |||
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error | |||
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning | |||
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning | |||
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore | |||
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error | |||
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning | |||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore | |||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore | |||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning | |||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning | |||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning | |||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error | |||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore | |||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore | |||
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled | |||
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error | |||
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled | |||
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled | |||
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled | |||
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore | |||
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning | |||
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled | |||
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning | |||
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning | |||
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning | |||
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning | |||
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning | |||
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error | |||
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled | |||
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore | |||
org.eclipse.jdt.core.compiler.problem.unusedImport=error | |||
org.eclipse.jdt.core.compiler.problem.unusedLabel=error | |||
org.eclipse.jdt.core.compiler.problem.unusedLocal=error | |||
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning | |||
org.eclipse.jdt.core.compiler.problem.unusedParameter=warning | |||
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled | |||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled | |||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled | |||
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error | |||
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore | |||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning | |||
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error | |||
org.eclipse.jdt.core.compiler.source=1.8 | |||
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_assignment=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 | |||
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 | |||
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 | |||
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_after_package=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_field=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_method=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_package=0 | |||
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 | |||
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false | |||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false | |||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false | |||
org.eclipse.jdt.core.formatter.comment.format_block_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_header=false | |||
org.eclipse.jdt.core.formatter.comment.format_html=true | |||
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_line_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_source_code=true | |||
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true | |||
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true | |||
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert | |||
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert | |||
org.eclipse.jdt.core.formatter.comment.line_length=80 | |||
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true | |||
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true | |||
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false | |||
org.eclipse.jdt.core.formatter.compact_else_if=true | |||
org.eclipse.jdt.core.formatter.continuation_indentation=2 | |||
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 | |||
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off | |||
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on | |||
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false | |||
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true | |||
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true | |||
org.eclipse.jdt.core.formatter.indent_empty_lines=false | |||
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true | |||
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true | |||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true | |||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false | |||
org.eclipse.jdt.core.formatter.indentation.size=4 | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.join_lines_in_comments=true | |||
org.eclipse.jdt.core.formatter.join_wrapped_lines=true | |||
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false | |||
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false | |||
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false | |||
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false | |||
org.eclipse.jdt.core.formatter.lineSplit=80 | |||
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false | |||
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false | |||
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 | |||
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 | |||
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true | |||
org.eclipse.jdt.core.formatter.tabulation.char=tab | |||
org.eclipse.jdt.core.formatter.tabulation.size=4 | |||
org.eclipse.jdt.core.formatter.use_on_off_tags=true | |||
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false | |||
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true | |||
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true | |||
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true |
@@ -0,0 +1,66 @@ | |||
eclipse.preferences.version=1 | |||
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true | |||
formatter_profile=_JGit Format | |||
formatter_settings_version=12 | |||
org.eclipse.jdt.ui.ignorelowercasenames=true | |||
org.eclipse.jdt.ui.importorder=java;javax;org;com; | |||
org.eclipse.jdt.ui.ondemandthreshold=99 | |||
org.eclipse.jdt.ui.staticondemandthreshold=99 | |||
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/> | |||
sp_cleanup.add_default_serial_version_id=true | |||
sp_cleanup.add_generated_serial_version_id=false | |||
sp_cleanup.add_missing_annotations=true | |||
sp_cleanup.add_missing_deprecated_annotations=true | |||
sp_cleanup.add_missing_methods=false | |||
sp_cleanup.add_missing_nls_tags=false | |||
sp_cleanup.add_missing_override_annotations=true | |||
sp_cleanup.add_missing_override_annotations_interface_methods=true | |||
sp_cleanup.add_serial_version_id=false | |||
sp_cleanup.always_use_blocks=true | |||
sp_cleanup.always_use_parentheses_in_expressions=false | |||
sp_cleanup.always_use_this_for_non_static_field_access=false | |||
sp_cleanup.always_use_this_for_non_static_method_access=false | |||
sp_cleanup.convert_functional_interfaces=false | |||
sp_cleanup.convert_to_enhanced_for_loop=false | |||
sp_cleanup.correct_indentation=false | |||
sp_cleanup.format_source_code=true | |||
sp_cleanup.format_source_code_changes_only=true | |||
sp_cleanup.insert_inferred_type_arguments=false | |||
sp_cleanup.make_local_variable_final=false | |||
sp_cleanup.make_parameters_final=false | |||
sp_cleanup.make_private_fields_final=true | |||
sp_cleanup.make_type_abstract_if_missing_method=false | |||
sp_cleanup.make_variable_declarations_final=false | |||
sp_cleanup.never_use_blocks=false | |||
sp_cleanup.never_use_parentheses_in_expressions=true | |||
sp_cleanup.on_save_use_additional_actions=true | |||
sp_cleanup.organize_imports=false | |||
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false | |||
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true | |||
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true | |||
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false | |||
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false | |||
sp_cleanup.remove_private_constructors=true | |||
sp_cleanup.remove_redundant_type_arguments=true | |||
sp_cleanup.remove_trailing_whitespaces=true | |||
sp_cleanup.remove_trailing_whitespaces_all=true | |||
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false | |||
sp_cleanup.remove_unnecessary_casts=true | |||
sp_cleanup.remove_unnecessary_nls_tags=true | |||
sp_cleanup.remove_unused_imports=false | |||
sp_cleanup.remove_unused_local_variables=false | |||
sp_cleanup.remove_unused_private_fields=true | |||
sp_cleanup.remove_unused_private_members=false | |||
sp_cleanup.remove_unused_private_methods=true | |||
sp_cleanup.remove_unused_private_types=true | |||
sp_cleanup.sort_members=false | |||
sp_cleanup.sort_members_all=false | |||
sp_cleanup.use_anonymous_class_creation=false | |||
sp_cleanup.use_blocks=false | |||
sp_cleanup.use_blocks_only_for_return_and_throw=false | |||
sp_cleanup.use_lambda=false | |||
sp_cleanup.use_parentheses_in_expressions=false | |||
sp_cleanup.use_this_for_non_static_field_access=false | |||
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true | |||
sp_cleanup.use_this_for_non_static_method_access=false | |||
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true |
@@ -0,0 +1,3 @@ | |||
eclipse.preferences.version=1 | |||
project.repository.kind=bugzilla | |||
project.repository.url=https\://bugs.eclipse.org/bugs |
@@ -0,0 +1,2 @@ | |||
commit.comment.template=${task.description} \n\nBug\: ${task.key} | |||
eclipse.preferences.version=1 |
@@ -0,0 +1,104 @@ | |||
ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error | |||
ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error | |||
ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error | |||
API_USE_SCAN_FIELD_SEVERITY=Error | |||
API_USE_SCAN_METHOD_SEVERITY=Error | |||
API_USE_SCAN_TYPE_SEVERITY=Error | |||
CLASS_ELEMENT_TYPE_ADDED_FIELD=Error | |||
CLASS_ELEMENT_TYPE_ADDED_METHOD=Error | |||
CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error | |||
CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error | |||
ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
FIELD_ELEMENT_TYPE_ADDED_VALUE=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error | |||
FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error | |||
FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error | |||
ILLEGAL_EXTEND=Warning | |||
ILLEGAL_IMPLEMENT=Warning | |||
ILLEGAL_INSTANTIATE=Warning | |||
ILLEGAL_OVERRIDE=Warning | |||
ILLEGAL_REFERENCE=Warning | |||
INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error | |||
INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
INVALID_ANNOTATION=Ignore | |||
INVALID_JAVADOC_TAG=Ignore | |||
INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error | |||
LEAK_EXTEND=Warning | |||
LEAK_FIELD_DECL=Warning | |||
LEAK_IMPLEMENT=Warning | |||
LEAK_METHOD_PARAM=Warning | |||
LEAK_METHOD_RETURN_TYPE=Warning | |||
METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error | |||
METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error | |||
METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error | |||
METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
MISSING_EE_DESCRIPTIONS=Warning | |||
TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error | |||
UNUSED_PROBLEM_FILTERS=Warning | |||
automatically_removed_unused_problem_filters=false | |||
changed_execution_env=Error | |||
eclipse.preferences.version=1 | |||
incompatible_api_component_version=Error | |||
incompatible_api_component_version_include_major_without_breaking_change=Disabled | |||
incompatible_api_component_version_include_minor_without_api_change=Disabled | |||
incompatible_api_component_version_report_major_without_breaking_change=Warning | |||
incompatible_api_component_version_report_minor_without_api_change=Ignore | |||
invalid_since_tag_version=Error | |||
malformed_since_tag=Error | |||
missing_since_tag=Error | |||
report_api_breakage_when_major_version_incremented=Disabled | |||
report_resolution_errors_api_component=Warning |
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
resolve.requirebundle=false |
@@ -0,0 +1,34 @@ | |||
compilers.f.unresolved-features=1 | |||
compilers.f.unresolved-plugins=1 | |||
compilers.incompatible-environment=1 | |||
compilers.p.build=1 | |||
compilers.p.build.bin.includes=1 | |||
compilers.p.build.encodings=2 | |||
compilers.p.build.java.compiler=2 | |||
compilers.p.build.java.compliance=1 | |||
compilers.p.build.missing.output=2 | |||
compilers.p.build.output.library=1 | |||
compilers.p.build.source.library=1 | |||
compilers.p.build.src.includes=1 | |||
compilers.p.deprecated=1 | |||
compilers.p.discouraged-class=1 | |||
compilers.p.internal=1 | |||
compilers.p.missing-packages=2 | |||
compilers.p.missing-version-export-package=2 | |||
compilers.p.missing-version-import-package=2 | |||
compilers.p.missing-version-require-bundle=2 | |||
compilers.p.no-required-att=0 | |||
compilers.p.no.automatic.module=1 | |||
compilers.p.not-externalized-att=2 | |||
compilers.p.service.component.without.lazyactivation=1 | |||
compilers.p.unknown-attribute=1 | |||
compilers.p.unknown-class=1 | |||
compilers.p.unknown-element=1 | |||
compilers.p.unknown-identifier=1 | |||
compilers.p.unknown-resource=1 | |||
compilers.p.unresolved-ex-points=0 | |||
compilers.p.unresolved-import=0 | |||
compilers.s.create-docs=false | |||
compilers.s.doc-folder=doc | |||
compilers.s.open-tags=1 | |||
eclipse.preferences.version=1 |
@@ -0,0 +1,14 @@ | |||
load( | |||
"@com_googlesource_gerrit_bazlets//tools:junit.bzl", | |||
"junit_tests", | |||
) | |||
junit_tests( | |||
name = "bc", | |||
srcs = glob(["tst/**/*.java"]), | |||
tags = ["bc"], | |||
deps = [ | |||
"//lib:junit", | |||
"//org.eclipse.jgit.gpg.bc:gpg-bc", | |||
], | |||
) |
@@ -0,0 +1,14 @@ | |||
Manifest-Version: 1.0 | |||
Bundle-ManifestVersion: 2 | |||
Bundle-Name: %Bundle-Name | |||
Automatic-Module-Name: org.eclipse.jgit.gpg.bc.test | |||
Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.test | |||
Bundle-Version: 5.8.0.qualifier | |||
Bundle-Vendor: %Bundle-Vendor | |||
Bundle-Localization: plugin | |||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | |||
Import-Package: org.eclipse.jgit.gpg.bc.internal;version="[5.8.0,5.9.0)", | |||
org.junit;version="[4.13,5.0.0)" | |||
Export-Package: org.eclipse.jgit.gpg.bc.internal;x-internal:=true | |||
Require-Bundle: org.hamcrest.core;bundle-version="[1.1.0,2.0.0)", | |||
org.hamcrest.library;bundle-version="[1.1.0,2.0.0)" |
@@ -0,0 +1,96 @@ | |||
<?xml version="1.0" encoding="ISO-8859-1" ?> | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml"> | |||
<head> | |||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> | |||
<title>Eclipse Distribution License - Version 1.0</title> | |||
<style type="text/css"> | |||
body { | |||
size: 8.5in 11.0in; | |||
margin: 0.25in 0.5in 0.25in 0.5in; | |||
tab-interval: 0.5in; | |||
} | |||
p { | |||
margin-left: auto; | |||
margin-top: 0.5em; | |||
margin-bottom: 0.5em; | |||
} | |||
p.list { | |||
margin-left: 0.5in; | |||
margin-top: 0.05em; | |||
margin-bottom: 0.05em; | |||
} | |||
.ubc-name { | |||
margin-left: 0.5in; | |||
white-space: pre; | |||
} | |||
</style> | |||
</head> | |||
<body lang="EN-US"> | |||
<p><b>Eclipse Distribution License - v 1.0</b></p> | |||
<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p> | |||
<p>All rights reserved.</p> | |||
<p>Redistribution and use in source and binary forms, with or without modification, | |||
are permitted provided that the following conditions are met: | |||
<ul><li>Redistributions of source code must retain the above copyright notice, | |||
this list of conditions and the following disclaimer. </li> | |||
<li>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. </li> | |||
<li>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. </li></ul> | |||
</p> | |||
<p>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.</p> | |||
<hr> | |||
<p><b>SHA-1 UbcCheck - MIT</b></p> | |||
<p>Copyright (c) 2017:</p> | |||
<div class="ubc-name"> | |||
Marc Stevens | |||
Cryptology Group | |||
Centrum Wiskunde & Informatica | |||
P.O. Box 94079, 1090 GB Amsterdam, Netherlands | |||
marc@marc-stevens.nl | |||
</div> | |||
<div class="ubc-name"> | |||
Dan Shumow | |||
Microsoft Research | |||
danshu@microsoft.com | |||
</div> | |||
<p>Permission is hereby granted, free of charge, to any person obtaining a copy | |||
of this software and associated documentation files (the "Software"), to deal | |||
in the Software without restriction, including without limitation the rights | |||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||
copies of the Software, and to permit persons to whom the Software is | |||
furnished to do so, subject to the following conditions: | |||
</p> | |||
<ul><li>The above copyright notice and this permission notice shall be included | |||
in all copies or substantial portions of the Software.</li></ul> | |||
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
SOFTWARE.</p> | |||
</body> | |||
</html> |
@@ -0,0 +1,5 @@ | |||
source.. = tst/ | |||
output.. = bin/ | |||
bin.includes = META-INF/,\ | |||
.,\ | |||
plugin.properties |
@@ -0,0 +1,2 @@ | |||
Bundle-Name=JGit Tests for GPG with bouncycastle | |||
Bundle-Vendor=Eclipse JGit |
@@ -0,0 +1,112 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!-- | |||
Copyright (C) 2018, Thomas Wolf <thomas.wolf@paranor.ch> 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 | |||
http://www.eclipse.org/org/documents/edl-v10.php. | |||
SPDX-License-Identifier: BSD-3-Clause | |||
--> | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit-parent</artifactId> | |||
<version>5.8.0-SNAPSHOT</version> | |||
</parent> | |||
<artifactId>org.eclipse.jgit.gpg.bc.test</artifactId> | |||
<name>JGit - BouncyCastle GPG Tests</name> | |||
<description> | |||
JUnit tests for the JGit GPG support based on BouncyCastle. | |||
</description> | |||
<properties> | |||
<maven.javadoc.skip>true</maven.javadoc.skip> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>junit</groupId> | |||
<artifactId>junit</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit.junit</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit.gpg.bc</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit.test</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
</dependencies> | |||
<profiles> | |||
<!-- Profile provides a property which enables long running tests. --> | |||
<profile> | |||
<id>test.long</id> | |||
<build> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-surefire-plugin</artifactId> | |||
<configuration> | |||
<argLine>@{argLine} -Djgit.test.long=true</argLine> | |||
</configuration> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
</profile> | |||
</profiles> | |||
<build> | |||
<sourceDirectory>src/</sourceDirectory> | |||
<testSourceDirectory>tst/</testSourceDirectory> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-jar-plugin</artifactId> | |||
<executions> | |||
<execution> | |||
<goals> | |||
<goal>test-jar</goal> | |||
</goals> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
<plugin> | |||
<artifactId>maven-surefire-plugin</artifactId> | |||
<configuration> | |||
<argLine>@{argLine} -Xmx1024m -Dfile.encoding=UTF-8 -Djava.io.tmpdir=${project.build.directory}</argLine> | |||
<includes> | |||
<include>**/*Test.java</include> | |||
<include>**/*Tests.java</include> | |||
</includes> | |||
</configuration> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
</project> |
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.lib.internal; | |||
package org.eclipse.jgit.gpg.bc.internal; | |||
import static org.junit.Assert.assertFalse; | |||
import static org.junit.Assert.assertTrue; |
@@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<classpath> | |||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | |||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | |||
<classpathentry kind="src" path="src"/> | |||
<classpathentry kind="src" path="resources"/> | |||
<classpathentry kind="output" path="bin"/> | |||
</classpath> |
@@ -0,0 +1,124 @@ | |||
#FindBugs User Preferences | |||
detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true | |||
detectorBadAppletConstructor=BadAppletConstructor|false | |||
detectorBadResultSetAccess=BadResultSetAccess|true | |||
detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true | |||
detectorBadUseOfReturnValue=BadUseOfReturnValue|true | |||
detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true | |||
detectorBooleanReturnNull=BooleanReturnNull|true | |||
detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true | |||
detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true | |||
detectorCheckTypeQualifiers=CheckTypeQualifiers|true | |||
detectorCloneIdiom=CloneIdiom|false | |||
detectorComparatorIdiom=ComparatorIdiom|true | |||
detectorConfusedInheritance=ConfusedInheritance|true | |||
detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true | |||
detectorCrossSiteScripting=CrossSiteScripting|true | |||
detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true | |||
detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true | |||
detectorDontUseEnum=DontUseEnum|true | |||
detectorDroppedException=DroppedException|true | |||
detectorDumbMethodInvocations=DumbMethodInvocations|true | |||
detectorDumbMethods=DumbMethods|true | |||
detectorDuplicateBranches=DuplicateBranches|true | |||
detectorEmptyZipFileEntry=EmptyZipFileEntry|true | |||
detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true | |||
detectorFinalizerNullsFields=FinalizerNullsFields|true | |||
detectorFindBadCast2=FindBadCast2|true | |||
detectorFindBadForLoop=FindBadForLoop|true | |||
detectorFindCircularDependencies=FindCircularDependencies|false | |||
detectorFindDeadLocalStores=FindDeadLocalStores|true | |||
detectorFindDoubleCheck=FindDoubleCheck|true | |||
detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true | |||
detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true | |||
detectorFindFinalizeInvocations=FindFinalizeInvocations|true | |||
detectorFindFloatEquality=FindFloatEquality|true | |||
detectorFindHEmismatch=FindHEmismatch|true | |||
detectorFindInconsistentSync2=FindInconsistentSync2|true | |||
detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true | |||
detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true | |||
detectorFindMaskedFields=FindMaskedFields|true | |||
detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true | |||
detectorFindNakedNotify=FindNakedNotify|true | |||
detectorFindNonSerializableStoreIntoSession=FindNonSerializableStoreIntoSession|true | |||
detectorFindNonSerializableValuePassedToWriteObject=FindNonSerializableValuePassedToWriteObject|true | |||
detectorFindNonShortCircuit=FindNonShortCircuit|true | |||
detectorFindNullDeref=FindNullDeref|true | |||
detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true | |||
detectorFindOpenStream=FindOpenStream|true | |||
detectorFindPuzzlers=FindPuzzlers|true | |||
detectorFindRefComparison=FindRefComparison|true | |||
detectorFindReturnRef=FindReturnRef|true | |||
detectorFindRunInvocations=FindRunInvocations|true | |||
detectorFindSelfComparison=FindSelfComparison|true | |||
detectorFindSelfComparison2=FindSelfComparison2|true | |||
detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true | |||
detectorFindSpinLoop=FindSpinLoop|true | |||
detectorFindSqlInjection=FindSqlInjection|true | |||
detectorFindTwoLockWait=FindTwoLockWait|true | |||
detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true | |||
detectorFindUnconditionalWait=FindUnconditionalWait|true | |||
detectorFindUninitializedGet=FindUninitializedGet|true | |||
detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true | |||
detectorFindUnreleasedLock=FindUnreleasedLock|true | |||
detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true | |||
detectorFindUnsyncGet=FindUnsyncGet|true | |||
detectorFindUselessControlFlow=FindUselessControlFlow|true | |||
detectorFormatStringChecker=FormatStringChecker|true | |||
detectorHugeSharedStringConstants=HugeSharedStringConstants|true | |||
detectorIDivResultCastToDouble=IDivResultCastToDouble|true | |||
detectorIncompatMask=IncompatMask|true | |||
detectorInconsistentAnnotations=InconsistentAnnotations|true | |||
detectorInefficientMemberAccess=InefficientMemberAccess|false | |||
detectorInefficientToArray=InefficientToArray|true | |||
detectorInfiniteLoop=InfiniteLoop|true | |||
detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true | |||
detectorInfiniteRecursiveLoop2=InfiniteRecursiveLoop2|false | |||
detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true | |||
detectorInitializationChain=InitializationChain|true | |||
detectorInstantiateStaticClass=InstantiateStaticClass|true | |||
detectorInvalidJUnitTest=InvalidJUnitTest|true | |||
detectorIteratorIdioms=IteratorIdioms|true | |||
detectorLazyInit=LazyInit|true | |||
detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true | |||
detectorMethodReturnCheck=MethodReturnCheck|true | |||
detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true | |||
detectorMutableLock=MutableLock|true | |||
detectorMutableStaticFields=MutableStaticFields|true | |||
detectorNaming=Naming|true | |||
detectorNumberConstructor=NumberConstructor|true | |||
detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true | |||
detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true | |||
detectorPublicSemaphores=PublicSemaphores|false | |||
detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true | |||
detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true | |||
detectorRedundantInterfaces=RedundantInterfaces|true | |||
detectorRepeatedConditionals=RepeatedConditionals|true | |||
detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true | |||
detectorSerializableIdiom=SerializableIdiom|true | |||
detectorStartInConstructor=StartInConstructor|true | |||
detectorStaticCalendarDetector=StaticCalendarDetector|true | |||
detectorStringConcatenation=StringConcatenation|true | |||
detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true | |||
detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true | |||
detectorSwitchFallthrough=SwitchFallthrough|true | |||
detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true | |||
detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true | |||
detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true | |||
detectorURLProblems=URLProblems|true | |||
detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true | |||
detectorUnnecessaryMath=UnnecessaryMath|true | |||
detectorUnreadFields=UnreadFields|true | |||
detectorUseObjectEquals=UseObjectEquals|false | |||
detectorUselessSubclassMethod=UselessSubclassMethod|false | |||
detectorVarArgsProblems=VarArgsProblems|true | |||
detectorVolatileUsage=VolatileUsage|true | |||
detectorWaitInLoop=WaitInLoop|true | |||
detectorWrongMapIterator=WrongMapIterator|true | |||
detectorXMLFactoryBypass=XMLFactoryBypass|true | |||
detector_threshold=2 | |||
effort=default | |||
excludefilter0=findBugs/FindBugsExcludeFilter.xml | |||
filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false | |||
filter_settings_neg=MALICIOUS_CODE,NOISE,I18N,SECURITY,EXPERIMENTAL| | |||
run_at_full_build=true |
@@ -0,0 +1,2 @@ | |||
/bin | |||
/target |
@@ -0,0 +1,34 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<projectDescription> | |||
<name>org.eclipse.jgit.gpg.bc</name> | |||
<comment></comment> | |||
<projects> | |||
</projects> | |||
<buildSpec> | |||
<buildCommand> | |||
<name>org.eclipse.jdt.core.javabuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
<buildCommand> | |||
<name>org.eclipse.pde.ManifestBuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
<buildCommand> | |||
<name>org.eclipse.pde.SchemaBuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
<buildCommand> | |||
<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> | |||
<arguments> | |||
</arguments> | |||
</buildCommand> | |||
</buildSpec> | |||
<natures> | |||
<nature>org.eclipse.pde.PluginNature</nature> | |||
<nature>org.eclipse.jdt.core.javanature</nature> | |||
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> | |||
</natures> | |||
</projectDescription> |
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
encoding/<project>=UTF-8 |
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
line.separator=\n |
@@ -0,0 +1,399 @@ | |||
eclipse.preferences.version=1 | |||
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled | |||
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore | |||
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jgit.annotations.NonNull | |||
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jgit.annotations.NonNullByDefault | |||
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jgit.annotations.Nullable | |||
org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled | |||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | |||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate | |||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | |||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | |||
org.eclipse.jdt.core.compiler.compliance=1.8 | |||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | |||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | |||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | |||
org.eclipse.jdt.core.compiler.doc.comment.support=enabled | |||
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning | |||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | |||
org.eclipse.jdt.core.compiler.problem.autoboxing=warning | |||
org.eclipse.jdt.core.compiler.problem.comparingIdentical=error | |||
org.eclipse.jdt.core.compiler.problem.deadCode=error | |||
org.eclipse.jdt.core.compiler.problem.deprecation=warning | |||
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled | |||
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled | |||
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning | |||
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning | |||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | |||
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning | |||
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning | |||
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled | |||
org.eclipse.jdt.core.compiler.problem.fieldHiding=warning | |||
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning | |||
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error | |||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error | |||
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error | |||
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled | |||
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning | |||
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning | |||
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled | |||
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private | |||
org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning | |||
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error | |||
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore | |||
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore | |||
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=error | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTags=error | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled | |||
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private | |||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning | |||
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled | |||
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning | |||
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore | |||
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error | |||
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error | |||
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning | |||
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning | |||
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error | |||
org.eclipse.jdt.core.compiler.problem.nullReference=error | |||
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error | |||
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=ignore | |||
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning | |||
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore | |||
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error | |||
org.eclipse.jdt.core.compiler.problem.potentialNullReference=error | |||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore | |||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore | |||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning | |||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning | |||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning | |||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error | |||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore | |||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore | |||
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled | |||
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error | |||
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled | |||
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled | |||
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled | |||
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore | |||
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning | |||
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled | |||
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning | |||
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning | |||
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning | |||
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning | |||
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning | |||
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error | |||
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled | |||
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled | |||
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore | |||
org.eclipse.jdt.core.compiler.problem.unusedImport=error | |||
org.eclipse.jdt.core.compiler.problem.unusedLabel=error | |||
org.eclipse.jdt.core.compiler.problem.unusedLocal=error | |||
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning | |||
org.eclipse.jdt.core.compiler.problem.unusedParameter=warning | |||
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled | |||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled | |||
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled | |||
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error | |||
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore | |||
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning | |||
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error | |||
org.eclipse.jdt.core.compiler.source=1.8 | |||
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_assignment=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 | |||
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 | |||
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 | |||
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 | |||
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 | |||
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_after_package=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_field=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_method=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_before_package=0 | |||
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 | |||
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 | |||
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line | |||
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line | |||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false | |||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false | |||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false | |||
org.eclipse.jdt.core.formatter.comment.format_block_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_header=false | |||
org.eclipse.jdt.core.formatter.comment.format_html=true | |||
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_line_comments=true | |||
org.eclipse.jdt.core.formatter.comment.format_source_code=true | |||
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true | |||
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true | |||
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert | |||
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert | |||
org.eclipse.jdt.core.formatter.comment.line_length=80 | |||
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true | |||
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true | |||
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false | |||
org.eclipse.jdt.core.formatter.compact_else_if=true | |||
org.eclipse.jdt.core.formatter.continuation_indentation=2 | |||
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 | |||
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off | |||
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on | |||
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false | |||
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true | |||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true | |||
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true | |||
org.eclipse.jdt.core.formatter.indent_empty_lines=false | |||
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true | |||
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true | |||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true | |||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false | |||
org.eclipse.jdt.core.formatter.indentation.size=4 | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert | |||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert | |||
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert | |||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert | |||
org.eclipse.jdt.core.formatter.join_lines_in_comments=true | |||
org.eclipse.jdt.core.formatter.join_wrapped_lines=true | |||
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false | |||
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false | |||
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false | |||
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false | |||
org.eclipse.jdt.core.formatter.lineSplit=80 | |||
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false | |||
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false | |||
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 | |||
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 | |||
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true | |||
org.eclipse.jdt.core.formatter.tabulation.char=tab | |||
org.eclipse.jdt.core.formatter.tabulation.size=4 | |||
org.eclipse.jdt.core.formatter.use_on_off_tags=true | |||
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false | |||
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true | |||
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true | |||
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true |
@@ -0,0 +1,66 @@ | |||
eclipse.preferences.version=1 | |||
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true | |||
formatter_profile=_JGit Format | |||
formatter_settings_version=12 | |||
org.eclipse.jdt.ui.ignorelowercasenames=true | |||
org.eclipse.jdt.ui.importorder=java;javax;org;com; | |||
org.eclipse.jdt.ui.ondemandthreshold=99 | |||
org.eclipse.jdt.ui.staticondemandthreshold=99 | |||
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/> | |||
sp_cleanup.add_default_serial_version_id=true | |||
sp_cleanup.add_generated_serial_version_id=false | |||
sp_cleanup.add_missing_annotations=true | |||
sp_cleanup.add_missing_deprecated_annotations=true | |||
sp_cleanup.add_missing_methods=false | |||
sp_cleanup.add_missing_nls_tags=false | |||
sp_cleanup.add_missing_override_annotations=true | |||
sp_cleanup.add_missing_override_annotations_interface_methods=true | |||
sp_cleanup.add_serial_version_id=false | |||
sp_cleanup.always_use_blocks=true | |||
sp_cleanup.always_use_parentheses_in_expressions=false | |||
sp_cleanup.always_use_this_for_non_static_field_access=false | |||
sp_cleanup.always_use_this_for_non_static_method_access=false | |||
sp_cleanup.convert_functional_interfaces=false | |||
sp_cleanup.convert_to_enhanced_for_loop=false | |||
sp_cleanup.correct_indentation=false | |||
sp_cleanup.format_source_code=true | |||
sp_cleanup.format_source_code_changes_only=true | |||
sp_cleanup.insert_inferred_type_arguments=false | |||
sp_cleanup.make_local_variable_final=false | |||
sp_cleanup.make_parameters_final=false | |||
sp_cleanup.make_private_fields_final=true | |||
sp_cleanup.make_type_abstract_if_missing_method=false | |||
sp_cleanup.make_variable_declarations_final=false | |||
sp_cleanup.never_use_blocks=false | |||
sp_cleanup.never_use_parentheses_in_expressions=true | |||
sp_cleanup.on_save_use_additional_actions=true | |||
sp_cleanup.organize_imports=false | |||
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false | |||
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true | |||
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true | |||
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false | |||
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false | |||
sp_cleanup.remove_private_constructors=true | |||
sp_cleanup.remove_redundant_type_arguments=true | |||
sp_cleanup.remove_trailing_whitespaces=true | |||
sp_cleanup.remove_trailing_whitespaces_all=true | |||
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false | |||
sp_cleanup.remove_unnecessary_casts=true | |||
sp_cleanup.remove_unnecessary_nls_tags=true | |||
sp_cleanup.remove_unused_imports=false | |||
sp_cleanup.remove_unused_local_variables=false | |||
sp_cleanup.remove_unused_private_fields=true | |||
sp_cleanup.remove_unused_private_members=false | |||
sp_cleanup.remove_unused_private_methods=true | |||
sp_cleanup.remove_unused_private_types=true | |||
sp_cleanup.sort_members=false | |||
sp_cleanup.sort_members_all=false | |||
sp_cleanup.use_anonymous_class_creation=false | |||
sp_cleanup.use_blocks=false | |||
sp_cleanup.use_blocks_only_for_return_and_throw=false | |||
sp_cleanup.use_lambda=false | |||
sp_cleanup.use_parentheses_in_expressions=false | |||
sp_cleanup.use_this_for_non_static_field_access=false | |||
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true | |||
sp_cleanup.use_this_for_non_static_method_access=false | |||
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true |
@@ -0,0 +1,3 @@ | |||
eclipse.preferences.version=1 | |||
project.repository.kind=bugzilla | |||
project.repository.url=https\://bugs.eclipse.org/bugs |
@@ -0,0 +1,2 @@ | |||
commit.comment.template=${task.description} \n\nBug\: ${task.key} | |||
eclipse.preferences.version=1 |
@@ -0,0 +1,104 @@ | |||
ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error | |||
ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error | |||
ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error | |||
API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error | |||
API_USE_SCAN_FIELD_SEVERITY=Error | |||
API_USE_SCAN_METHOD_SEVERITY=Error | |||
API_USE_SCAN_TYPE_SEVERITY=Error | |||
CLASS_ELEMENT_TYPE_ADDED_FIELD=Error | |||
CLASS_ELEMENT_TYPE_ADDED_METHOD=Error | |||
CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error | |||
CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error | |||
CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error | |||
CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error | |||
ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
FIELD_ELEMENT_TYPE_ADDED_VALUE=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error | |||
FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error | |||
FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error | |||
FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error | |||
ILLEGAL_EXTEND=Warning | |||
ILLEGAL_IMPLEMENT=Warning | |||
ILLEGAL_INSTANTIATE=Warning | |||
ILLEGAL_OVERRIDE=Warning | |||
ILLEGAL_REFERENCE=Warning | |||
INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error | |||
INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error | |||
INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error | |||
INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
INVALID_ANNOTATION=Ignore | |||
INVALID_JAVADOC_TAG=Ignore | |||
INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error | |||
LEAK_EXTEND=Warning | |||
LEAK_FIELD_DECL=Warning | |||
LEAK_IMPLEMENT=Warning | |||
LEAK_METHOD_PARAM=Warning | |||
LEAK_METHOD_RETURN_TYPE=Warning | |||
METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error | |||
METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error | |||
METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error | |||
METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error | |||
METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error | |||
MISSING_EE_DESCRIPTIONS=Warning | |||
TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error | |||
TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error | |||
UNUSED_PROBLEM_FILTERS=Warning | |||
automatically_removed_unused_problem_filters=false | |||
changed_execution_env=Error | |||
eclipse.preferences.version=1 | |||
incompatible_api_component_version=Error | |||
incompatible_api_component_version_include_major_without_breaking_change=Disabled | |||
incompatible_api_component_version_include_minor_without_api_change=Disabled | |||
incompatible_api_component_version_report_major_without_breaking_change=Warning | |||
incompatible_api_component_version_report_minor_without_api_change=Ignore | |||
invalid_since_tag_version=Error | |||
malformed_since_tag=Error | |||
missing_since_tag=Error | |||
report_api_breakage_when_major_version_incremented=Disabled | |||
report_resolution_errors_api_component=Warning |
@@ -0,0 +1,2 @@ | |||
eclipse.preferences.version=1 | |||
resolve.requirebundle=false |
@@ -0,0 +1,21 @@ | |||
load("@rules_java//java:defs.bzl", "java_library") | |||
package(default_visibility = ["//visibility:public"]) | |||
SRCS = glob(["src/**/*.java"]) | |||
RESOURCES = glob(["resources/**"]) | |||
java_library( | |||
name = "gpg-bc", | |||
srcs = SRCS, | |||
resource_strip_prefix = "org.eclipse.jgit.gpg.bc/resources", | |||
resources = RESOURCES, | |||
deps = [ | |||
"//lib:bcpg", | |||
"//lib:bcpkix", | |||
"//lib:bcprov", | |||
"//lib:slf4j-api", | |||
"//org.eclipse.jgit:jgit", | |||
], | |||
) |
@@ -0,0 +1,30 @@ | |||
Manifest-Version: 1.0 | |||
Bundle-ManifestVersion: 2 | |||
Bundle-Name: %Bundle-Name | |||
Automatic-Module-Name: org.eclipse.jgit.gpg.bc | |||
Bundle-SymbolicName: org.eclipse.jgit.gpg.bc;singleton:=true | |||
Fragment-Host: org.eclipse.jgit;bundle-version="[5.8.0,5.9.0)" | |||
Bundle-Vendor: %Bundle-Vendor | |||
Bundle-Localization: plugin | |||
Bundle-Version: 5.8.0.qualifier | |||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | |||
Import-Package: org.assertj.core.annotations;version="3.14.0", | |||
org.bouncycastle.bcpg;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.gpg;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.gpg.keybox;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.gpg.keybox.jcajce;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.jce.provider;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.openpgp;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.openpgp.operator;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.openpgp.operator.jcajce;version="[1.65.0,2.0.0)", | |||
org.bouncycastle.util.encoders;version="[1.65.0,2.0.0)", | |||
org.eclipse.jgit.annotations;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.api.errors;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.errors;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.lib;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.nls;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.transport;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.util;version="[5.8.0,5.9.0)", | |||
org.slf4j;version="[1.7.0,2.0.0)" | |||
Export-Package: org.eclipse.jgit.gpg.bc.internal;version="5.8.0"; | |||
x-friends:="org.eclipse.jgit.gpg.bc.test" |
@@ -0,0 +1,7 @@ | |||
Manifest-Version: 1.0 | |||
Bundle-ManifestVersion: 2 | |||
Bundle-Name: org.eclipse.jgit.gpg.bc - Sources | |||
Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.source | |||
Bundle-Vendor: Eclipse.org - JGit | |||
Bundle-Version: 5.8.0.qualifier | |||
Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="5.8.0.qualifier";roots="." |
@@ -0,0 +1,96 @@ | |||
<?xml version="1.0" encoding="ISO-8859-1" ?> | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml"> | |||
<head> | |||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> | |||
<title>Eclipse Distribution License - Version 1.0</title> | |||
<style type="text/css"> | |||
body { | |||
size: 8.5in 11.0in; | |||
margin: 0.25in 0.5in 0.25in 0.5in; | |||
tab-interval: 0.5in; | |||
} | |||
p { | |||
margin-left: auto; | |||
margin-top: 0.5em; | |||
margin-bottom: 0.5em; | |||
} | |||
p.list { | |||
margin-left: 0.5in; | |||
margin-top: 0.05em; | |||
margin-bottom: 0.05em; | |||
} | |||
.ubc-name { | |||
margin-left: 0.5in; | |||
white-space: pre; | |||
} | |||
</style> | |||
</head> | |||
<body lang="EN-US"> | |||
<p><b>Eclipse Distribution License - v 1.0</b></p> | |||
<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p> | |||
<p>All rights reserved.</p> | |||
<p>Redistribution and use in source and binary forms, with or without modification, | |||
are permitted provided that the following conditions are met: | |||
<ul><li>Redistributions of source code must retain the above copyright notice, | |||
this list of conditions and the following disclaimer. </li> | |||
<li>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. </li> | |||
<li>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. </li></ul> | |||
</p> | |||
<p>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.</p> | |||
<hr> | |||
<p><b>SHA-1 UbcCheck - MIT</b></p> | |||
<p>Copyright (c) 2017:</p> | |||
<div class="ubc-name"> | |||
Marc Stevens | |||
Cryptology Group | |||
Centrum Wiskunde & Informatica | |||
P.O. Box 94079, 1090 GB Amsterdam, Netherlands | |||
marc@marc-stevens.nl | |||
</div> | |||
<div class="ubc-name"> | |||
Dan Shumow | |||
Microsoft Research | |||
danshu@microsoft.com | |||
</div> | |||
<p>Permission is hereby granted, free of charge, to any person obtaining a copy | |||
of this software and associated documentation files (the "Software"), to deal | |||
in the Software without restriction, including without limitation the rights | |||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||
copies of the Software, and to permit persons to whom the Software is | |||
furnished to do so, subject to the following conditions: | |||
</p> | |||
<ul><li>The above copyright notice and this permission notice shall be included | |||
in all copies or substantial portions of the Software.</li></ul> | |||
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
SOFTWARE.</p> | |||
</body> | |||
</html> |
@@ -0,0 +1,7 @@ | |||
source.. = src/,\ | |||
resources/ | |||
output.. = bin/ | |||
bin.includes = META-INF/,\ | |||
.,\ | |||
plugin.properties,\ | |||
about.html |
@@ -0,0 +1,2 @@ | |||
Bundle-Name=JGit GPG support based on bouncycastle | |||
Bundle-Vendor=Eclipse JGit |
@@ -0,0 +1,223 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<!-- | |||
Copyright (C) 2020, Matthias Sohn <matthias.sohn@sap.com> 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 | |||
http://www.eclipse.org/org/documents/edl-v10.php. | |||
SPDX-License-Identifier: BSD-3-Clause | |||
--> | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit-parent</artifactId> | |||
<version>5.8.0-SNAPSHOT</version> | |||
</parent> | |||
<artifactId>org.eclipse.jgit.gpg.bc</artifactId> | |||
<name>JGit - BouncyCastle-based GPG support</name> | |||
<description> | |||
GPG support for JGit based on BouncyCastle | |||
</description> | |||
<properties> | |||
<translate-qualifier/> | |||
<source-bundle-manifest>${project.build.directory}/META-INF/SOURCE-MANIFEST.MF</source-bundle-manifest> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.bouncycastle</groupId> | |||
<artifactId>bcpg-jdk15on</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.bouncycastle</groupId> | |||
<artifactId>bcprov-jdk15on</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.bouncycastle</groupId> | |||
<artifactId>bcpkix-jdk15on</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.slf4j</groupId> | |||
<artifactId>slf4j-api</artifactId> | |||
</dependency> | |||
</dependencies> | |||
<build> | |||
<sourceDirectory>src/</sourceDirectory> | |||
<resources> | |||
<resource> | |||
<directory>.</directory> | |||
<includes> | |||
<include>plugin.properties</include> | |||
<include>about.html</include> | |||
</includes> | |||
</resource> | |||
<resource> | |||
<directory>resources/</directory> | |||
</resource> | |||
</resources> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-antrun-plugin</artifactId> | |||
<executions> | |||
<execution> | |||
<id>translate-source-qualifier</id> | |||
<phase>generate-resources</phase> | |||
<configuration> | |||
<target> | |||
<copy file="META-INF/SOURCE-MANIFEST.MF" tofile="${source-bundle-manifest}" overwrite="true" /> | |||
<replace file="${source-bundle-manifest}"> | |||
<replacefilter token=".qualifier" value=".${maven.build.timestamp}" /> | |||
</replace> | |||
</target> | |||
</configuration> | |||
<goals> | |||
<goal>run</goal> | |||
</goals> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-source-plugin</artifactId> | |||
<inherited>true</inherited> | |||
<executions> | |||
<execution> | |||
<id>attach-sources</id> | |||
<phase>process-classes</phase> | |||
<goals> | |||
<goal>jar</goal> | |||
</goals> | |||
<configuration> | |||
<archive> | |||
<manifestFile>${source-bundle-manifest}</manifestFile> | |||
</archive> | |||
</configuration> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
<plugin> | |||
<artifactId>maven-jar-plugin</artifactId> | |||
<configuration> | |||
<archive> | |||
<manifestFile>${bundle-manifest}</manifestFile> | |||
</archive> | |||
</configuration> | |||
</plugin> | |||
<!-- No previous version to compare to | |||
<plugin> | |||
<groupId>com.github.siom79.japicmp</groupId> | |||
<artifactId>japicmp-maven-plugin</artifactId> | |||
<version>${japicmp-version}</version> | |||
<configuration> | |||
<oldVersion> | |||
<dependency> | |||
<groupId>${project.groupId}</groupId> | |||
<artifactId>${project.artifactId}</artifactId> | |||
<version>${jgit-last-release-version}</version> | |||
</dependency> | |||
</oldVersion> | |||
<newVersion> | |||
<file> | |||
<path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path> | |||
</file> | |||
</newVersion> | |||
<parameter> | |||
<onlyModified>true</onlyModified> | |||
<includes> | |||
<include>org.eclipse.jgit.*</include> | |||
</includes> | |||
<accessModifier>public</accessModifier> | |||
<breakBuildOnModifications>false</breakBuildOnModifications> | |||
<breakBuildOnBinaryIncompatibleModifications>false</breakBuildOnBinaryIncompatibleModifications> | |||
<onlyBinaryIncompatible>false</onlyBinaryIncompatible> | |||
<includeSynthetic>false</includeSynthetic> | |||
<ignoreMissingClasses>false</ignoreMissingClasses> | |||
<skipPomModules>true</skipPomModules> | |||
</parameter> | |||
<skip>false</skip> | |||
</configuration> | |||
<executions> | |||
<execution> | |||
<phase>verify</phase> | |||
<goals> | |||
<goal>cmp</goal> | |||
</goals> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
--> | |||
</plugins> | |||
</build> | |||
<reporting> | |||
<plugins> | |||
<!-- No previous version to compare to | |||
<plugin> | |||
<groupId>com.github.siom79.japicmp</groupId> | |||
<artifactId>japicmp-maven-plugin</artifactId> | |||
<version>${japicmp-version}</version> | |||
<reportSets> | |||
<reportSet> | |||
<reports> | |||
<report>cmp-report</report> | |||
</reports> | |||
</reportSet> | |||
</reportSets> | |||
<configuration> | |||
<oldVersion> | |||
<dependency> | |||
<groupId>${project.groupId}</groupId> | |||
<artifactId>${project.artifactId}</artifactId> | |||
<version>${jgit-last-release-version}</version> | |||
</dependency> | |||
</oldVersion> | |||
<newVersion> | |||
<file> | |||
<path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path> | |||
</file> | |||
</newVersion> | |||
<parameter> | |||
<onlyModified>true</onlyModified> | |||
<includes> | |||
<include>org.eclipse.jgit.*</include> | |||
</includes> | |||
<accessModifier>public</accessModifier> | |||
<breakBuildOnModifications>false</breakBuildOnModifications> | |||
<breakBuildOnBinaryIncompatibleModifications>false</breakBuildOnBinaryIncompatibleModifications> | |||
<onlyBinaryIncompatible>false</onlyBinaryIncompatible> | |||
<includeSynthetic>false</includeSynthetic> | |||
<ignoreMissingClasses>false</ignoreMissingClasses> | |||
<skipPomModules>true</skipPomModules> | |||
</parameter> | |||
<skip>false</skip> | |||
</configuration> | |||
</plugin> | |||
--> | |||
</plugins> | |||
</reporting> | |||
</project> |
@@ -0,0 +1 @@ | |||
org.eclipse.jgit.gpg.bc.internal.BouncyCastleGpgSigner |
@@ -0,0 +1,11 @@ | |||
credentialPassphrase=Passphrase | |||
gpgFailedToParseSecretKey=Failed to parse secret key file in directory: {0}. Is the entered passphrase correct? | |||
gpgNoCredentialsProvider=missing credentials provider | |||
gpgNoKeyring=neither pubring.kbx nor secring.gpg files found | |||
gpgNoKeyInLegacySecring=no matching secret key found in legacy secring.gpg for key or user id: {0} | |||
gpgNoPublicKeyFound=Unable to find a public-key with key or user id: {0} | |||
gpgNoSecretKeyForPublicKey=unable to find associated secret key for public key: {0} | |||
gpgNotASigningKey=Secret key ({0}) is not suitable for signing | |||
gpgKeyInfo=GPG Key (fingerprint {0}) | |||
gpgSigningCancelled=Signing was cancelled | |||
unableToSignCommitNoSecretKey=Unable to sign commit. Signing key not available. |
@@ -0,0 +1,33 @@ | |||
package org.eclipse.jgit.gpg.bc.internal; | |||
import org.eclipse.jgit.nls.NLS; | |||
import org.eclipse.jgit.nls.TranslationBundle; | |||
/** | |||
* Externalized text messages for localization. | |||
*/ | |||
public final class BCText extends TranslationBundle { | |||
/** | |||
* Get an instance of this translation bundle. | |||
* | |||
* @return an instance of this translation bundle | |||
*/ | |||
public static BCText get() { | |||
return NLS.getBundleFor(BCText.class); | |||
} | |||
// @formatter:off | |||
/***/ public String credentialPassphrase; | |||
/***/ public String gpgFailedToParseSecretKey; | |||
/***/ public String gpgNoCredentialsProvider; | |||
/***/ public String gpgNoKeyring; | |||
/***/ public String gpgNoKeyInLegacySecring; | |||
/***/ public String gpgNoPublicKeyFound; | |||
/***/ public String gpgNoSecretKeyForPublicKey; | |||
/***/ public String gpgNotASigningKey; | |||
/***/ public String gpgKeyInfo; | |||
/***/ public String gpgSigningCancelled; | |||
/***/ public String unableToSignCommitNoSecretKey; | |||
} |
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.lib.internal; | |||
package org.eclipse.jgit.gpg.bc.internal; | |||
import java.nio.file.Path; | |||
@@ -1,5 +1,5 @@ | |||
/* | |||
* Copyright (C) 2018, Salesforce. and others | |||
* Copyright (C) 2018, 2020 Salesforce 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 | |||
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.lib.internal; | |||
package org.eclipse.jgit.gpg.bc.internal; | |||
import static java.nio.file.Files.exists; | |||
import static java.nio.file.Files.newInputStream; | |||
@@ -25,7 +25,9 @@ import java.nio.file.Paths; | |||
import java.security.NoSuchAlgorithmException; | |||
import java.security.NoSuchProviderException; | |||
import java.text.MessageFormat; | |||
import java.util.ArrayList; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
import java.util.Locale; | |||
import java.util.stream.Collectors; | |||
import java.util.stream.Stream; | |||
@@ -57,7 +59,6 @@ import org.bouncycastle.util.encoders.Hex; | |||
import org.eclipse.jgit.annotations.NonNull; | |||
import org.eclipse.jgit.api.errors.CanceledException; | |||
import org.eclipse.jgit.errors.UnsupportedCredentialItem; | |||
import org.eclipse.jgit.internal.JGitText; | |||
import org.eclipse.jgit.util.FS; | |||
import org.eclipse.jgit.util.StringUtils; | |||
import org.eclipse.jgit.util.SystemReader; | |||
@@ -68,7 +69,7 @@ import org.slf4j.LoggerFactory; | |||
* Locates GPG keys from either <code>~/.gnupg/private-keys-v1.d</code> or | |||
* <code>~/.gnupg/secring.gpg</code> | |||
*/ | |||
class BouncyCastleGpgKeyLocator { | |||
public class BouncyCastleGpgKeyLocator { | |||
/** Thrown if a keybox file exists but doesn't contain an OpenPGP key. */ | |||
private static class NoOpenPgpKeyException extends Exception { | |||
@@ -77,6 +78,13 @@ class BouncyCastleGpgKeyLocator { | |||
} | |||
/** Thrown if we try to read an encrypted private key without password. */ | |||
private static class EncryptedPgpKeyException extends RuntimeException { | |||
private static final long serialVersionUID = 1L; | |||
} | |||
private static final Logger log = LoggerFactory | |||
.getLogger(BouncyCastleGpgKeyLocator.class); | |||
@@ -338,11 +346,11 @@ class BouncyCastleGpgKeyLocator { | |||
return key; | |||
} | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgNoSecretKeyForPublicKey, | |||
BCText.get().gpgNoSecretKeyForPublicKey, | |||
Long.toHexString(publicKey.getKeyID()))); | |||
} | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgNoPublicKeyFound, signingKey)); | |||
BCText.get().gpgNoPublicKeyFound, signingKey)); | |||
} catch (NoOpenPgpKeyException e) { | |||
// There are no OpenPGP keys in the keybox at all: try the | |||
// pubring.gpg, if it exists. | |||
@@ -370,7 +378,7 @@ class BouncyCastleGpgKeyLocator { | |||
} | |||
if (publicKey == null) { | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgNoPublicKeyFound, signingKey)); | |||
BCText.get().gpgNoPublicKeyFound, signingKey)); | |||
} | |||
// We found a public key, but didn't find the secret key in the | |||
// private key directory. Go try the secring.gpg. | |||
@@ -385,14 +393,14 @@ class BouncyCastleGpgKeyLocator { | |||
} | |||
if (publicKey != null) { | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgNoSecretKeyForPublicKey, | |||
BCText.get().gpgNoSecretKeyForPublicKey, | |||
Long.toHexString(publicKey.getKeyID()))); | |||
} else if (hasSecring) { | |||
// publicKey == null: user has _only_ pubring.gpg/secring.gpg. | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgNoKeyInLegacySecring, signingKey)); | |||
BCText.get().gpgNoKeyInLegacySecring, signingKey)); | |||
} else { | |||
throw new PGPException(JGitText.get().gpgNoKeyring); | |||
throw new PGPException(BCText.get().gpgNoKeyring); | |||
} | |||
} | |||
@@ -414,7 +422,7 @@ class BouncyCastleGpgKeyLocator { | |||
if (secretKey != null) { | |||
if (!secretKey.isSigningKey()) { | |||
throw new PGPException(MessageFormat | |||
.format(JGitText.get().gpgNotASigningKey, signingKey)); | |||
.format(BCText.get().gpgNotASigningKey, signingKey)); | |||
} | |||
return new BouncyCastleGpgKey(secretKey, secring); | |||
} | |||
@@ -434,22 +442,46 @@ class BouncyCastleGpgKeyLocator { | |||
PGPDigestCalculatorProvider calculatorProvider = new JcaPGPDigestCalculatorProviderBuilder() | |||
.build(); | |||
PBEProtectionRemoverFactory passphraseProvider = new JcePBEProtectionRemoverFactory( | |||
passphrasePrompt.getPassphrase(publicKey.getFingerprint(), | |||
userKeyboxPath)); | |||
try (Stream<Path> keyFiles = Files.walk(USER_SECRET_KEY_DIR)) { | |||
for (Path keyFile : keyFiles.filter(Files::isRegularFile) | |||
.collect(Collectors.toList())) { | |||
PGPSecretKey secretKey = attemptParseSecretKey(keyFile, | |||
calculatorProvider, passphraseProvider, publicKey); | |||
if (secretKey != null) { | |||
if (!secretKey.isSigningKey()) { | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgNotASigningKey, signingKey)); | |||
List<Path> allPaths = keyFiles.filter(Files::isRegularFile) | |||
.collect(Collectors.toCollection(ArrayList::new)); | |||
if (allPaths.isEmpty()) { | |||
return null; | |||
} | |||
PBEProtectionRemoverFactory passphraseProvider = p -> { | |||
throw new EncryptedPgpKeyException(); | |||
}; | |||
for (int attempts = 0; attempts < 2; attempts++) { | |||
// Second pass will traverse only the encrypted keys with a real | |||
// passphrase provider. | |||
Iterator<Path> pathIterator = allPaths.iterator(); | |||
while (pathIterator.hasNext()) { | |||
Path keyFile = pathIterator.next(); | |||
try { | |||
PGPSecretKey secretKey = attemptParseSecretKey(keyFile, | |||
calculatorProvider, passphraseProvider, | |||
publicKey); | |||
pathIterator.remove(); | |||
if (secretKey != null) { | |||
if (!secretKey.isSigningKey()) { | |||
throw new PGPException(MessageFormat.format( | |||
BCText.get().gpgNotASigningKey, | |||
signingKey)); | |||
} | |||
return new BouncyCastleGpgKey(secretKey, | |||
userKeyboxPath); | |||
} | |||
} catch (EncryptedPgpKeyException e) { | |||
// Ignore; we'll try again. | |||
} | |||
return new BouncyCastleGpgKey(secretKey, userKeyboxPath); | |||
} | |||
if (attempts > 0 || allPaths.isEmpty()) { | |||
break; | |||
} | |||
// allPaths contains only the encrypted keys now. | |||
passphraseProvider = new JcePBEProtectionRemoverFactory( | |||
passphrasePrompt.getPassphrase( | |||
publicKey.getFingerprint(), userKeyboxPath)); | |||
} | |||
passphrasePrompt.clear(); | |||
@@ -460,7 +492,7 @@ class BouncyCastleGpgKeyLocator { | |||
} catch (IOException e) { | |||
passphrasePrompt.clear(); | |||
throw new PGPException(MessageFormat.format( | |||
JGitText.get().gpgFailedToParseSecretKey, | |||
BCText.get().gpgFailedToParseSecretKey, | |||
USER_SECRET_KEY_DIR.toAbsolutePath()), e); | |||
} | |||
} |
@@ -1,5 +1,5 @@ | |||
/*- | |||
* Copyright (C) 2019, Salesforce. and others | |||
* Copyright (C) 2019, 2020 Salesforce 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 | |||
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.lib.internal; | |||
package org.eclipse.jgit.gpg.bc.internal; | |||
import java.net.URISyntaxException; | |||
import java.nio.file.Path; | |||
@@ -17,7 +17,6 @@ import org.bouncycastle.openpgp.PGPException; | |||
import org.bouncycastle.util.encoders.Hex; | |||
import org.eclipse.jgit.api.errors.CanceledException; | |||
import org.eclipse.jgit.errors.UnsupportedCredentialItem; | |||
import org.eclipse.jgit.internal.JGitText; | |||
import org.eclipse.jgit.transport.CredentialItem.CharArrayType; | |||
import org.eclipse.jgit.transport.CredentialItem.InformationalMessage; | |||
import org.eclipse.jgit.transport.CredentialsProvider; | |||
@@ -79,23 +78,32 @@ class BouncyCastleGpgKeyPassphrasePrompt implements AutoCloseable { | |||
throws PGPException, CanceledException, UnsupportedCredentialItem, | |||
URISyntaxException { | |||
if (passphrase == null) { | |||
passphrase = new CharArrayType(JGitText.get().credentialPassphrase, | |||
passphrase = new CharArrayType(BCText.get().credentialPassphrase, | |||
true); | |||
} | |||
if (credentialsProvider == null) { | |||
throw new PGPException(JGitText.get().gpgNoCredentialsProvider); | |||
throw new PGPException(BCText.get().gpgNoCredentialsProvider); | |||
} | |||
if (passphrase.getValue() == null | |||
&& !credentialsProvider.get(createURI(keyLocation), | |||
new InformationalMessage( | |||
MessageFormat.format(JGitText.get().gpgKeyInfo, | |||
MessageFormat.format(BCText.get().gpgKeyInfo, | |||
Hex.toHexString(keyFingerprint))), | |||
passphrase)) { | |||
throw new CanceledException(JGitText.get().gpgSigningCancelled); | |||
throw new CanceledException(BCText.get().gpgSigningCancelled); | |||
} | |||
return passphrase.getValue(); | |||
} | |||
/** | |||
* Determines whether a passphrase was already obtained. | |||
* | |||
* @return {@code true} if a passphrase is already set, {@code false} | |||
* otherwise | |||
*/ | |||
public boolean hasPassphrase() { | |||
return passphrase != null && passphrase.getValue() != null; | |||
} | |||
} |
@@ -1,5 +1,5 @@ | |||
/* | |||
* Copyright (C) 2018, Salesforce. and others | |||
* Copyright (C) 2018, 2020, Salesforce 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 | |||
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.lib.internal; | |||
package org.eclipse.jgit.gpg.bc.internal; | |||
import java.io.ByteArrayOutputStream; | |||
import java.io.IOException; | |||
@@ -25,6 +25,7 @@ import org.bouncycastle.openpgp.PGPPrivateKey; | |||
import org.bouncycastle.openpgp.PGPSecretKey; | |||
import org.bouncycastle.openpgp.PGPSignature; | |||
import org.bouncycastle.openpgp.PGPSignatureGenerator; | |||
import org.bouncycastle.openpgp.PGPSignatureSubpacketGenerator; | |||
import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentSignerBuilder; | |||
import org.bouncycastle.openpgp.operator.jcajce.JcePBESecretKeyDecryptorBuilder; | |||
import org.eclipse.jgit.annotations.NonNull; | |||
@@ -32,7 +33,6 @@ import org.eclipse.jgit.annotations.Nullable; | |||
import org.eclipse.jgit.api.errors.CanceledException; | |||
import org.eclipse.jgit.api.errors.JGitInternalException; | |||
import org.eclipse.jgit.errors.UnsupportedCredentialItem; | |||
import org.eclipse.jgit.internal.JGitText; | |||
import org.eclipse.jgit.lib.CommitBuilder; | |||
import org.eclipse.jgit.lib.GpgSignature; | |||
import org.eclipse.jgit.lib.GpgSigner; | |||
@@ -102,21 +102,41 @@ public class BouncyCastleGpgSigner extends GpgSigner { | |||
PGPSecretKey secretKey = gpgKey.getSecretKey(); | |||
if (secretKey == null) { | |||
throw new JGitInternalException( | |||
JGitText.get().unableToSignCommitNoSecretKey); | |||
BCText.get().unableToSignCommitNoSecretKey); | |||
} | |||
JcePBESecretKeyDecryptorBuilder decryptorBuilder = new JcePBESecretKeyDecryptorBuilder() | |||
.setProvider(BouncyCastleProvider.PROVIDER_NAME); | |||
PGPPrivateKey privateKey = null; | |||
if (!passphrasePrompt.hasPassphrase()) { | |||
// Either the key is not encrypted, or it was read from the | |||
// legacy secring.gpg. Try getting the private key without | |||
// passphrase first. | |||
try { | |||
privateKey = secretKey.extractPrivateKey( | |||
decryptorBuilder.build(new char[0])); | |||
} catch (PGPException e) { | |||
// Ignore and try again with passphrase below | |||
} | |||
} | |||
if (privateKey == null) { | |||
// Try using a passphrase | |||
char[] passphrase = passphrasePrompt.getPassphrase( | |||
secretKey.getPublicKey().getFingerprint(), | |||
gpgKey.getOrigin()); | |||
privateKey = secretKey | |||
.extractPrivateKey(decryptorBuilder.build(passphrase)); | |||
} | |||
char[] passphrase = passphrasePrompt.getPassphrase( | |||
secretKey.getPublicKey().getFingerprint(), | |||
gpgKey.getOrigin()); | |||
PGPPrivateKey privateKey = secretKey | |||
.extractPrivateKey(new JcePBESecretKeyDecryptorBuilder() | |||
.setProvider(BouncyCastleProvider.PROVIDER_NAME) | |||
.build(passphrase)); | |||
PGPSignatureGenerator signatureGenerator = new PGPSignatureGenerator( | |||
new JcaPGPContentSignerBuilder( | |||
secretKey.getPublicKey().getAlgorithm(), | |||
HashAlgorithmTags.SHA256).setProvider( | |||
BouncyCastleProvider.PROVIDER_NAME)); | |||
signatureGenerator.init(PGPSignature.BINARY_DOCUMENT, privateKey); | |||
PGPSignatureSubpacketGenerator subpacketGenerator = new PGPSignatureSubpacketGenerator(); | |||
subpacketGenerator.setIssuerFingerprint(false, | |||
secretKey.getPublicKey()); | |||
signatureGenerator | |||
.setHashedSubpackets(subpacketGenerator.generate()); | |||
ByteArrayOutputStream buffer = new ByteArrayOutputStream(); | |||
try (BCPGOutputStream out = new BCPGOutputStream( | |||
new ArmoredOutputStream(buffer))) { |
@@ -37,9 +37,7 @@ java_library( | |||
deps = [ | |||
"//lib:junit", | |||
"//lib:servlet-api", | |||
"//org.eclipse.jgit.http.server:jgit-servlet", | |||
"//org.eclipse.jgit:jgit", | |||
"//org.eclipse.jgit.junit.http:junit-http", | |||
"//org.eclipse.jgit.junit:junit", | |||
], | |||
) |
@@ -112,6 +112,10 @@ public class SmartClientSmartServerTest extends AllFactoriesHttpTestCase { | |||
private URIish authOnPostURI; | |||
private URIish slowURI; | |||
private URIish slowAuthURI; | |||
private RevBlob A_txt; | |||
private RevCommit A, B, unreachableCommit; | |||
@@ -152,6 +156,10 @@ public class SmartClientSmartServerTest extends AllFactoriesHttpTestCase { | |||
ServletContextHandler authOnPost = addAuthContext(gs, "pauth", "POST"); | |||
ServletContextHandler slow = addSlowContext(gs, "slow", false); | |||
ServletContextHandler slowAuth = addSlowContext(gs, "slowAuth", true); | |||
server.setUp(); | |||
remoteRepository = src.getRepository(); | |||
@@ -160,6 +168,8 @@ public class SmartClientSmartServerTest extends AllFactoriesHttpTestCase { | |||
redirectURI = toURIish(redirect, srcName); | |||
authURI = toURIish(auth, srcName); | |||
authOnPostURI = toURIish(authOnPost, srcName); | |||
slowURI = toURIish(slow, srcName); | |||
slowAuthURI = toURIish(slowAuth, srcName); | |||
A_txt = src.blob("A"); | |||
A = src.commit().add("A_txt", A_txt).create(); | |||
@@ -372,6 +382,43 @@ public class SmartClientSmartServerTest extends AllFactoriesHttpTestCase { | |||
return redirect; | |||
} | |||
private ServletContextHandler addSlowContext(GitServlet gs, String path, | |||
boolean auth) { | |||
ServletContextHandler slow = server.addContext('/' + path); | |||
slow.addFilter(new FilterHolder(new Filter() { | |||
@Override | |||
public void init(FilterConfig filterConfig) | |||
throws ServletException { | |||
// empty | |||
} | |||
// Simply delays the servlet for two seconds. Used for timeout | |||
// tests, which use a one-second timeout. | |||
@Override | |||
public void doFilter(ServletRequest request, | |||
ServletResponse response, FilterChain chain) | |||
throws IOException, ServletException { | |||
try { | |||
Thread.sleep(2000); | |||
} catch (InterruptedException e) { | |||
throw new IOException(e); | |||
} | |||
chain.doFilter(request, response); | |||
} | |||
@Override | |||
public void destroy() { | |||
// empty | |||
} | |||
}), "/*", EnumSet.of(DispatcherType.REQUEST)); | |||
slow.addServlet(new ServletHolder(gs), "/*"); | |||
if (auth) { | |||
return server.authBasic(slow); | |||
} | |||
return slow; | |||
} | |||
@Test | |||
public void testListRemote() throws IOException { | |||
assertEquals("http", remoteURI.getScheme()); | |||
@@ -488,6 +535,35 @@ public class SmartClientSmartServerTest extends AllFactoriesHttpTestCase { | |||
} | |||
} | |||
@Test | |||
public void testTimeoutExpired() throws Exception { | |||
try (Repository dst = createBareRepository(); | |||
Transport t = Transport.open(dst, slowURI)) { | |||
t.setTimeout(1); | |||
TransportException expected = assertThrows(TransportException.class, | |||
() -> t.fetch(NullProgressMonitor.INSTANCE, | |||
mirror(master))); | |||
assertTrue("Unexpected exception message: " + expected.toString(), | |||
expected.getMessage().contains("time")); | |||
} | |||
} | |||
@Test | |||
public void testTimeoutExpiredWithAuth() throws Exception { | |||
try (Repository dst = createBareRepository(); | |||
Transport t = Transport.open(dst, slowAuthURI)) { | |||
t.setTimeout(1); | |||
t.setCredentialsProvider(testCredentials); | |||
TransportException expected = assertThrows(TransportException.class, | |||
() -> t.fetch(NullProgressMonitor.INSTANCE, | |||
mirror(master))); | |||
assertTrue("Unexpected exception message: " + expected.toString(), | |||
expected.getMessage().contains("time")); | |||
assertFalse("Unexpected exception message: " + expected.toString(), | |||
expected.getMessage().contains("auth")); | |||
} | |||
} | |||
@Test | |||
public void testInitialClone_Small() throws Exception { | |||
try (Repository dst = createBareRepository(); |
@@ -3,5 +3,6 @@ | |||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | |||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | |||
<classpathentry kind="src" path="src"/> | |||
<classpathentry kind="src" path="resources"/> | |||
<classpathentry kind="output" path="bin"/> | |||
</classpath> |
@@ -8,10 +8,17 @@ java_library( | |||
srcs = glob(["src/**/*.java"]), | |||
resource_strip_prefix = "org.eclipse.jgit.junit.ssh/resources", | |||
resources = glob(["resources/**"]), | |||
visibility = [ | |||
"//org.eclipse.jgit.ssh.apache.test:__pkg__", | |||
"//org.eclipse.jgit.ssh.jsch.test:__pkg__", | |||
], | |||
deps = [ | |||
"//lib:jsch", | |||
"//lib:junit", | |||
"//lib:sshd-osgi", | |||
"//lib:sshd-sftp", | |||
# We want these deps to be provided_deps | |||
"//org.eclipse.jgit:jgit", | |||
"//org.eclipse.jgit.junit:junit", | |||
], | |||
) |
@@ -8,7 +8,8 @@ Bundle-Localization: plugin | |||
Bundle-Vendor: %Bundle-Vendor | |||
Bundle-ActivationPolicy: lazy | |||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | |||
Import-Package: org.apache.sshd.common;version="[2.4.0,2.5.0)", | |||
Import-Package: com.jcraft.jsch;version="0.1.55", | |||
org.apache.sshd.common;version="[2.4.0,2.5.0)", | |||
org.apache.sshd.common.config.keys;version="[2.4.0,2.5.0)", | |||
org.apache.sshd.common.file.virtualfs;version="[2.4.0,2.5.0)", | |||
org.apache.sshd.common.helpers;version="[2.4.0,2.5.0)", | |||
@@ -31,7 +32,15 @@ Import-Package: org.apache.sshd.common;version="[2.4.0,2.5.0)", | |||
org.apache.sshd.server.subsystem;version="[2.4.0,2.5.0)", | |||
org.apache.sshd.server.subsystem.sftp;version="[2.4.0,2.5.0)", | |||
org.eclipse.jgit.annotations;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.api;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.api.errors;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.errors;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.junit;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.lib;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.revwalk;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.transport;version="[5.8.0,5.9.0)", | |||
org.eclipse.jgit.util;version="[5.8.0,5.9.0)", | |||
org.junit;version="[4.13,5.0.0)", | |||
org.junit.experimental.theories;version="[4.13,5.0.0)", | |||
org.slf4j;version="[1.7.0,2.0.0)" | |||
Export-Package: org.eclipse.jgit.junit.ssh;version="5.8.0" |
@@ -1,4 +1,5 @@ | |||
source.. = src/ | |||
source.. = src/,\ | |||
resources/ | |||
output.. = bin/ | |||
bin.includes = META-INF/,\ | |||
.,\ |
@@ -39,6 +39,12 @@ | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.eclipse.jgit</groupId> | |||
<artifactId>org.eclipse.jgit.junit</artifactId> | |||
<version>${project.version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.sshd</groupId> | |||
<artifactId>sshd-osgi</artifactId> | |||
@@ -51,6 +57,16 @@ | |||
<version>${apache-sshd-version}</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.jcraft</groupId> | |||
<artifactId>jsch</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.jcraft</groupId> | |||
<artifactId>jzlib</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>junit</groupId> | |||
<artifactId>junit</artifactId> | |||
@@ -68,6 +84,9 @@ | |||
<include>plugin.properties</include> | |||
</includes> | |||
</resource> | |||
<resource> | |||
<directory>resources/</directory> | |||
</resource> | |||
</resources> | |||
<plugins> |
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.transport.ssh; | |||
package org.eclipse.jgit.junit.ssh; | |||
import static java.nio.charset.StandardCharsets.UTF_8; | |||
import static org.junit.Assert.assertArrayEquals; | |||
@@ -25,7 +25,6 @@ import java.util.Locale; | |||
import org.eclipse.jgit.api.errors.TransportException; | |||
import org.eclipse.jgit.transport.CredentialItem; | |||
import org.eclipse.jgit.transport.JschConfigSessionFactory; | |||
import org.junit.Test; | |||
import org.junit.experimental.theories.DataPoints; | |||
import org.junit.experimental.theories.Theory; | |||
@@ -140,6 +139,10 @@ public abstract class SshTestBase extends SshTestHarness { | |||
provider.getLog().size()); | |||
} | |||
private boolean isJsch() { | |||
return getSessionFactory().getType().equals("jsch"); | |||
} | |||
@Test | |||
public void testSshWithConfigEncryptedUnusedKeyInConfigFirst() | |||
throws Exception { | |||
@@ -148,7 +151,7 @@ public abstract class SshTestBase extends SshTestHarness { | |||
// JschConfigSessionFactory)); gives in bazel a failure with "Never | |||
// found parameters that satisfied method assumptions." | |||
// In maven it's fine!? | |||
if (getSessionFactory() instanceof JschConfigSessionFactory) { | |||
if (isJsch()) { | |||
return; | |||
} | |||
// Copy the encrypted test key from the bundle. | |||
@@ -258,7 +261,7 @@ public abstract class SshTestBase extends SshTestHarness { | |||
"IdentityFile " + privateKey1.getAbsolutePath()); | |||
List<LogEntry> messages = provider.getLog(); | |||
assertFalse("Expected user interaction", messages.isEmpty()); | |||
if (getSessionFactory() instanceof JschConfigSessionFactory) { | |||
if (isJsch()) { | |||
// JSch doesn't create a non-existing file. | |||
assertEquals("Expected to be asked about the key", 1, | |||
messages.size()); | |||
@@ -295,7 +298,7 @@ public abstract class SshTestBase extends SshTestHarness { | |||
"User " + TEST_USER, // | |||
"StrictHostKeyChecking accept-new", // | |||
"IdentityFile " + privateKey1.getAbsolutePath()); | |||
if (getSessionFactory() instanceof JschConfigSessionFactory) { | |||
if (isJsch()) { | |||
// JSch doesn't create new files. | |||
assertTrue("CredentialsProvider not called", | |||
provider.getLog().isEmpty()); | |||
@@ -772,10 +775,9 @@ public abstract class SshTestBase extends SshTestHarness { | |||
public void testSshKeys(String keyName) throws Exception { | |||
// JSch fails on ECDSA 384/521 keys. Compare | |||
// https://sourceforge.net/p/jsch/patches/10/ | |||
assumeTrue(!(getSessionFactory() instanceof JschConfigSessionFactory | |||
&& (keyName.contains("ed25519") | |||
|| keyName.startsWith("id_ecdsa_384") | |||
|| keyName.startsWith("id_ecdsa_521")))); | |||
assumeTrue(!(isJsch() && (keyName.contains("ed25519") | |||
|| keyName.startsWith("id_ecdsa_384") | |||
|| keyName.startsWith("id_ecdsa_521")))); | |||
File cloned = new File(getTemporaryDirectory(), "cloned"); | |||
String keyFileName = keyName + "_key"; | |||
File privateKey = new File(sshDir, keyFileName); |
@@ -1,5 +1,5 @@ | |||
/* | |||
* Copyright (C) 2018, Thomas Wolf <thomas.wolf@paranor.ch> and others | |||
* Copyright (C) 2018, 2020 Thomas Wolf <thomas.wolf@paranor.ch> 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 | |||
@@ -252,11 +252,24 @@ public class SshTestGitServer { | |||
.loadKeyPairIdentities(null, | |||
NamedResource.ofName(key.toString()), in, null) | |||
.iterator().next(); | |||
if (inFront) { | |||
hostKeys.add(0, pair); | |||
} else { | |||
hostKeys.add(pair); | |||
} | |||
addHostKey(pair, inFront); | |||
} | |||
} | |||
/** | |||
* Adds an additional host key to the server. | |||
* | |||
* @param key | |||
* {@link KeyPair} to add | |||
* @param inFront | |||
* whether to add the new key before other existing keys | |||
* @since 5.8 | |||
*/ | |||
public void addHostKey(@NonNull KeyPair key, boolean inFront) { | |||
if (inFront) { | |||
hostKeys.add(0, key); | |||
} else { | |||
hostKeys.add(key); | |||
} | |||
} | |||
@@ -322,6 +335,18 @@ public class SshTestGitServer { | |||
.resolvePublicKey(null, PublicKeyEntryResolver.IGNORING); | |||
} | |||
/** | |||
* Sets the test user's public key on the server. | |||
* | |||
* @param key | |||
* to set | |||
* | |||
* @since 5.8 | |||
*/ | |||
public void setTestUserPublicKey(@NonNull PublicKey key) { | |||
this.testKey = key; | |||
} | |||
/** | |||
* Sets the lines the server sends before its server identification in the | |||
* initial protocol version exchange. |
@@ -7,7 +7,7 @@ | |||
* | |||
* SPDX-License-Identifier: BSD-3-Clause | |||
*/ | |||
package org.eclipse.jgit.transport.ssh; | |||
package org.eclipse.jgit.junit.ssh; | |||
import static java.nio.charset.StandardCharsets.US_ASCII; | |||
import static java.nio.charset.StandardCharsets.UTF_8; | |||
@@ -36,7 +36,6 @@ import org.eclipse.jgit.api.PushCommand; | |||
import org.eclipse.jgit.api.ResetCommand.ResetType; | |||
import org.eclipse.jgit.errors.UnsupportedCredentialItem; | |||
import org.eclipse.jgit.junit.RepositoryTestCase; | |||
import org.eclipse.jgit.junit.ssh.SshTestGitServer; | |||
import org.eclipse.jgit.lib.Constants; | |||
import org.eclipse.jgit.lib.Repository; | |||
import org.eclipse.jgit.revwalk.RevCommit; |
@@ -4,6 +4,7 @@ objectNotFound=Object ''{0}'' not found | |||
undefinedS3AccessKey=S3 configuration: 'accessKey' is undefined | |||
undefinedS3Bucket=S3 configuration: 'bucket' is undefined | |||
undefinedS3Region=S3 configuration: 'region' is undefined | |||
undefinedS3Hostname=S3 configuration: 'hostname' is undefined | |||
undefinedS3SecretKey=S3 configuration: 'secretKey' is undefined | |||
undefinedS3StorageClass=S3 configuration: 'storageClass' is undefined | |||
unparsableEndpoint=Unable to parse service endpoint: {0} |
@@ -33,6 +33,7 @@ public class LfsServerText extends TranslationBundle { | |||
/***/ public String undefinedS3AccessKey; | |||
/***/ public String undefinedS3Bucket; | |||
/***/ public String undefinedS3Region; | |||
/***/ public String undefinedS3Hostname; | |||
/***/ public String undefinedS3SecretKey; | |||
/***/ public String undefinedS3StorageClass; | |||
/***/ public String unparsableEndpoint; |