diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
index 10ea2c9e5..def154171 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
@@ -63,4 +63,11 @@
version="0.0.0"
unpack="false"/>
+
+
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target
index c0eff7da4..76361d88f 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.3.target
@@ -1,7 +1,7 @@
-
+
@@ -53,6 +53,8 @@
+
+
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target
index c414f4152..8f7053d05 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.4.target
@@ -1,7 +1,7 @@
-
+
@@ -53,6 +53,8 @@
+
+
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target
index 45dec35ae..4909416f7 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.5.target
@@ -1,7 +1,7 @@
-
+
@@ -53,6 +53,8 @@
+
+
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd
index 5384a9a21..683a8c7ce 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20150124073747-Luna-SR2.tpd
@@ -32,4 +32,6 @@ location "http://download.eclipse.org/tools/orbit/downloads/drops/R2015012407374
javax.servlet.source [2.5.0.v201103041518,2.5.0.v201103041518]
org.tukaani.xz [1.3.0.v201308270617,1.3.0.v201308270617]
org.tukaani.xz.source [1.3.0.v201308270617,1.3.0.v201308270617]
+ org.slf4j.api [1.7.2.v20121108-1250,1.7.2.v20121108-1250]
+ org.slf4j.api.source [1.7.2.v20121108-1250,1.7.2.v20121108-1250]
}
\ No newline at end of file
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd
index d41a5f4df..415fdca5d 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20150202203538-Mars-M5.tpd
@@ -32,4 +32,6 @@ location "http://download.eclipse.org/tools/orbit/downloads/drops/S2015020220353
javax.servlet.source [2.5.0.v201103041518,2.5.0.v201103041518]
org.tukaani.xz [1.3.0.v201308270617,1.3.0.v201308270617]
org.tukaani.xz.source [1.3.0.v201308270617,1.3.0.v201308270617]
+ org.slf4j.api [1.7.2.v20121108-1250,1.7.2.v20121108-1250]
+ org.slf4j.api.source [1.7.2.v20121108-1250,1.7.2.v20121108-1250]
}
\ No newline at end of file
diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF
index eea13ec7b..55ef0605b 100644
--- a/org.eclipse.jgit/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit/META-INF/MANIFEST.MF
@@ -147,5 +147,6 @@ Require-Bundle: com.jcraft.jsch;bundle-version="[0.1.37,0.2.0)"
Import-Package: com.googlecode.javaewah;version="[0.7.9,0.8.0)",
javax.crypto,
javax.net.ssl,
+ org.slf4j;version="[1.7.0,2.0.0)",
org.xml.sax,
org.xml.sax.helpers
diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml
index 36a579ec2..6ca299ed5 100644
--- a/org.eclipse.jgit/pom.xml
+++ b/org.eclipse.jgit/pom.xml
@@ -83,6 +83,11 @@
org.apache.httpcomponents
httpclient
+
+
+ org.slf4j
+ slf4j-api
+
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
index adbe1f865..687408e19 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
@@ -52,8 +52,6 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -85,6 +83,8 @@ import org.eclipse.jgit.lib.RepositoryCache;
import org.eclipse.jgit.lib.RepositoryCache.FileKey;
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.FileUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Traditional file system based {@link ObjectDatabase}.
@@ -105,6 +105,9 @@ import org.eclipse.jgit.util.FileUtils;
* considered.
*/
public class ObjectDirectory extends FileObjectDatabase {
+ private final static Logger LOG = LoggerFactory
+ .getLogger(ObjectDirectory.class);
+
private static final PackList NO_PACKS = new PackList(
FileSnapshot.DIRTY, new PackFile[0]);
@@ -565,14 +568,8 @@ public class ObjectDirectory extends FileObjectDatabase {
// Don't remove the pack from the list, as the error may be
// transient.
}
- StringBuilder buf = new StringBuilder(MessageFormat.format(tmpl,
- p.getPackFile().getAbsolutePath()));
- StringWriter sw = new StringWriter();
- e.printStackTrace(new PrintWriter(sw));
- buf.append('\n');
- buf.append(sw.toString());
- // TODO instead of syserr we should use a logging framework
- System.err.println(buf.toString());
+ LOG.error(MessageFormat.format(tmpl,
+ p.getPackFile().getAbsolutePath()), e);
}
@Override
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
index 081bf87c5..875e12f57 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
@@ -69,6 +69,8 @@ import org.eclipse.jgit.internal.JGitText;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.util.ProcessResult.Status;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/** Abstraction to support various file system operations not in Java. */
public abstract class FS {
@@ -107,6 +109,8 @@ public abstract class FS {
}
}
+ private final static Logger LOG = LoggerFactory.getLogger(FS.class);
+
/** The auto-detected implementation selected for this operating system and JRE. */
public static final FS DETECTED = detect();
@@ -418,12 +422,12 @@ public abstract class FS {
* @return the one-line output of the command
*/
protected static String readPipe(File dir, String[] command, String encoding) {
- final boolean debug = Boolean.parseBoolean(SystemReader.getInstance()
- .getProperty("jgit.fs.debug")); //$NON-NLS-1$
+ final boolean debug = LOG.isDebugEnabled();
try {
- if (debug)
- System.err.println("readpipe " + Arrays.asList(command) + "," //$NON-NLS-1$ //$NON-NLS-2$
+ if (debug) {
+ LOG.debug("readpipe " + Arrays.asList(command) + "," //$NON-NLS-1$ //$NON-NLS-2$
+ dir);
+ }
final Process p = Runtime.getRuntime().exec(command, null, dir);
final BufferedReader lineRead = new BufferedReader(
new InputStreamReader(p.getInputStream(), encoding));
@@ -451,8 +455,9 @@ public abstract class FS {
is.close();
} catch (IOException e) {
// Just print on stderr for debugging
- if (debug)
- e.printStackTrace(System.err);
+ if (debug) {
+ LOG.debug("Caught exception in gobbler thread", e); //$NON-NLS-1$
+ }
gooblerFail.set(true);
}
}
@@ -462,13 +467,14 @@ public abstract class FS {
try {
r = lineRead.readLine();
if (debug) {
- System.err.println("readpipe may return '" + r + "'"); //$NON-NLS-1$ //$NON-NLS-2$
- System.err.println("(ignoring remaing output:"); //$NON-NLS-1$
+ LOG.debug("readpipe may return '" + r + "'"); //$NON-NLS-1$ //$NON-NLS-2$
+ LOG.debug("(ignoring remaing output:"); //$NON-NLS-1$
}
String l;
while ((l = lineRead.readLine()) != null) {
- if (debug)
- System.err.println(l);
+ if (debug) {
+ LOG.debug(l);
+ }
}
} finally {
p.getErrorStream().close();
@@ -482,20 +488,20 @@ public abstract class FS {
if (rc == 0 && r != null && r.length() > 0
&& !gooblerFail.get())
return r;
- if (debug)
- System.err.println("readpipe rc=" + rc); //$NON-NLS-1$
+ if (debug) {
+ LOG.debug("readpipe rc=" + rc); //$NON-NLS-1$
+ }
break;
} catch (InterruptedException ie) {
// Stop bothering me, I have a zombie to reap.
}
}
} catch (IOException e) {
- if (debug)
- System.err.println(e);
- // Ignore error (but report)
+ LOG.error("Caught exception in FS.readPipe()", e); //$NON-NLS-1$
+ }
+ if (debug) {
+ LOG.debug("readpipe returns null"); //$NON-NLS-1$
}
- if (debug)
- System.err.println("readpipe returns null"); //$NON-NLS-1$
return null;
}
diff --git a/pom.xml b/pom.xml
index d222dc2ba..128d79377 100644
--- a/pom.xml
+++ b/pom.xml
@@ -189,6 +189,7 @@
7.6.14.v20131031
2.6.1
4.1.3
+ 1.7.2
2.9.1
@@ -543,6 +544,11 @@
httpclient
${httpclient-version}
+
+ org.slf4j
+ slf4j-api
+ ${slf4j-version}
+