summaryrefslogtreecommitdiffstats
path: root/jack
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2014-10-01 15:20:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-10-01 15:20:32 +0000
commite1e512319804727654a234ddb47c63a0ff4ba574 (patch)
tree73e3c4ed76d42a9743328874e3781be15e451527 /jack
parent20fd8082df89a5d745638e39cd794dd2cb35ccb6 (diff)
parent1a4c1b4e5fc7a64784ca24e5d5083ed7965381ef (diff)
downloadtoolchain_jack-e1e512319804727654a234ddb47c63a0ff4ba574.zip
toolchain_jack-e1e512319804727654a234ddb47c63a0ff4ba574.tar.gz
toolchain_jack-e1e512319804727654a234ddb47c63a0ff4ba574.tar.bz2
Merge "Separate system logging from user logging" into ub-jack
Diffstat (limited to 'jack')
-rw-r--r--jack/src/com/android/jack/backend/jayce/JayceFileImporter.java7
-rw-r--r--jack/src/com/android/jack/frontend/java/JackBatchCompiler.java11
-rw-r--r--jack/src/com/android/jack/ir/ast/JSession.java9
-rw-r--r--jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java15
-rw-r--r--jack/src/com/android/jack/jayce/JayceMethodLoader.java3
-rw-r--r--jack/src/com/android/jack/jayce/JayceReader.java10
-rw-r--r--jack/src/com/android/jack/preprocessor/PreProcessorApplier.java6
-rw-r--r--jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java2
-rw-r--r--jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java2
-rw-r--r--jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java2
-rw-r--r--jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java2
-rw-r--r--jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java2
-rw-r--r--jack/src/com/android/jack/shrob/shrink/FieldShrinker.java2
-rw-r--r--jack/src/com/android/jack/shrob/shrink/MethodShrinker.java2
-rw-r--r--jack/src/com/android/jack/shrob/shrink/TypeShrinker.java2
-rw-r--r--jack/src/com/android/jack/util/ExecuteFile.java7
-rw-r--r--jack/tests/com/android/jack/shrob/AbstractListingComparator.java2
17 files changed, 49 insertions, 37 deletions
diff --git a/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java b/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java
index a56afcc..6c8b9b7 100644
--- a/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java
+++ b/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java
@@ -41,6 +41,7 @@ import com.android.sched.vfs.VPath;
import java.util.List;
import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.annotation.Nonnull;
@@ -59,7 +60,7 @@ public class JayceFileImporter {
private final Tracer tracer = TracerFactory.getTracer();
@Nonnull
- private final java.util.logging.Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
@Nonnull
private final List<InputVDir> jayceContainers;
@@ -152,7 +153,7 @@ public class JayceFileImporter {
if (collisionPolicy == CollisionPolicy.FAIL) {
throw new TypeImportConflictException(declaredType, expectedLoadSource);
} else {
- logger.log(Level.INFO,
+ session.getUserLogger().log(Level.INFO,
"Type ''{0}'' from {1} has already been imported from {2}: "
+ "ignoring import", new Object[] {
Jack.getUserFriendlyFormatter().getName(declaredType),
@@ -183,7 +184,7 @@ public class JayceFileImporter {
throw new ResourceImportConflictException(newResource.getLocation(),
existingResource.getLocation());
} else {
- logger.log(Level.INFO,
+ session.getUserLogger().log(Level.INFO,
"Resource in {0} has already been imported from {1}: ignoring import", new Object[] {
newResource.getLocation().getDescription(),
existingResource.getLocation().getDescription()});
diff --git a/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java b/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java
index 0af6228..b0de3b6 100644
--- a/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java
+++ b/jack/src/com/android/jack/frontend/java/JackBatchCompiler.java
@@ -82,8 +82,7 @@ public class JackBatchCompiler extends Main {
private static final String USE_SINGLE_THREAD_SYSPROP = "jdt.compiler.useSingleThread";
@Nonnull
- private final java.util.logging.Logger jackLogger =
- LoggerFactory.getLogger();
+ private static final java.util.logging.Logger jackLogger = LoggerFactory.getLogger();
@Nonnull
private final JSession session;
@@ -133,7 +132,7 @@ public class JackBatchCompiler extends Main {
ClasspathLocation path = tmpPaths.get(0);
assert !(path instanceof ClasspathSourceJar);
if (path instanceof ClasspathDirectory) {
- jackLogger.log(
+ session.getUserLogger().log(
Level.WARNING,
"Invalid entry in classpath or bootclasspath: directories are " +
"not supported: \"{0}\"",
@@ -142,10 +141,10 @@ public class JackBatchCompiler extends Main {
assert path instanceof ClasspathJar;
File pathFile = new File(currentClasspathName);
if (pathFile.exists()) {
- jackLogger.log(Level.WARNING, "Invalid entry in classpath or bootclasspath: ''{0}''",
- currentClasspathName);
+ session.getUserLogger().log(Level.WARNING,
+ "Invalid entry in classpath or bootclasspath: ''{0}''", currentClasspathName);
} else {
- jackLogger.log(
+ session.getUserLogger().log(
Level.WARNING,
"Invalid entry in classpath or bootclasspath: " +
"missing file ''{0}''",
diff --git a/jack/src/com/android/jack/ir/ast/JSession.java b/jack/src/com/android/jack/ir/ast/JSession.java
index 6c82d41..dd74d1e 100644
--- a/jack/src/com/android/jack/ir/ast/JSession.java
+++ b/jack/src/com/android/jack/ir/ast/JSession.java
@@ -34,6 +34,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.logging.Logger;
import javax.annotation.Nonnull;
@@ -68,6 +69,9 @@ public class JSession extends JNode {
@Nonnull
private final List<Resource> resources = new ArrayList<Resource>();
+ @Nonnull
+ private final Logger userLogger = Logger.getLogger("Jack");
+
public JSession() {
super(SourceInfo.UNKNOWN);
topLevelPackage = new JPackage("", this, null);
@@ -98,6 +102,11 @@ public class JSession extends JNode {
}
@Nonnull
+ public Logger getUserLogger() {
+ return userLogger;
+ }
+
+ @Nonnull
public SourceInfoFactory getSourceInfoFactory() {
return sourceInfoFactory;
}
diff --git a/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java b/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java
index 3306c31..3bda605 100644
--- a/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java
+++ b/jack/src/com/android/jack/jayce/JayceClassOrInterfaceLoader.java
@@ -66,7 +66,7 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader {
CounterImpl.class, Counter.class);
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
@Nonnull
private final InputVFile source;
@@ -134,7 +134,8 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader {
JDefinedClassOrInterface loadClassOrInterface(@Nonnull JPackage enclosingPackage,
@Nonnull String simpleName) throws JayceFormatException, JayceVersionException, IOException {
- DeclaredTypeNode type = getNNode(NodeLevel.TYPES);
+ DeclaredTypeNode type =
+ getNNode(NodeLevel.TYPES, enclosingPackage.getSession().getUserLogger());
String expectedSignature = Jack.getLookupFormatter().getName(enclosingPackage, simpleName);
if (!type.getSignature().equals(expectedSignature)) {
@@ -149,7 +150,7 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader {
private JDefinedClassOrInterface create(@Nonnull JSession session)
throws JayceFormatException, JayceVersionException, IOException {
- DeclaredTypeNode type = getNNode(NodeLevel.TYPES);
+ DeclaredTypeNode type = getNNode(NodeLevel.TYPES, session.getUserLogger());
String packageQualifiedName = NamingTools.getPackageNameFromBinaryName(
NamingTools.getClassBinaryNameFromDescriptor(type.getSignature()));
@@ -159,13 +160,13 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader {
}
@Nonnull
- DeclaredTypeNode getNNode(@Nonnull NodeLevel minimumLevel) throws IOException,
- JayceFormatException, JayceVersionException {
+ DeclaredTypeNode getNNode(@Nonnull NodeLevel minimumLevel, @Nonnull Logger userLogger)
+ throws IOException, JayceFormatException, JayceVersionException {
DeclaredTypeNode type = nnode.get();
if (type == null || !type.getLevel().keep(minimumLevel)) {
InputStream in = new BufferedInputStream(source.openRead());
try {
- JayceReader reader = new JayceReader(in);
+ JayceReader reader = new JayceReader(in, userLogger);
NodeLevel loadLevel = defaultLoadLevel;
if (!loadLevel.keep(minimumLevel)) {
loadLevel = minimumLevel;
@@ -192,7 +193,7 @@ public class JayceClassOrInterfaceLoader extends AbtractClassOrInterfaceLoader {
structureLoaded = true;
DeclaredTypeNode type;
try {
- type = getNNode(NodeLevel.STRUCTURE);
+ type = getNNode(NodeLevel.STRUCTURE, loaded.getSession().getUserLogger());
} catch (IOException e) {
throw new JackLoadingException(getLocation(), e);
} catch (JackFileException e) {
diff --git a/jack/src/com/android/jack/jayce/JayceMethodLoader.java b/jack/src/com/android/jack/jayce/JayceMethodLoader.java
index 267ab7a..3b74b83 100644
--- a/jack/src/com/android/jack/jayce/JayceMethodLoader.java
+++ b/jack/src/com/android/jack/jayce/JayceMethodLoader.java
@@ -94,7 +94,8 @@ public class JayceMethodLoader extends AbstractMethodLoader {
JayceVersionException, IOException {
MethodNode methodNode = nnode.get();
if (methodNode == null || methodNode.getLevel() != NodeLevel.FULL) {
- DeclaredTypeNode declaredTypeNode = enclosingClassLoader.getNNode(NodeLevel.FULL);
+ DeclaredTypeNode declaredTypeNode = enclosingClassLoader.getNNode(NodeLevel.FULL,
+ loaded.getEnclosingType().getSession().getUserLogger());
methodNode = declaredTypeNode.getMethodNode(loaded);
}
return methodNode;
diff --git a/jack/src/com/android/jack/jayce/JayceReader.java b/jack/src/com/android/jack/jayce/JayceReader.java
index 877a0d8..4e05d09 100644
--- a/jack/src/com/android/jack/jayce/JayceReader.java
+++ b/jack/src/com/android/jack/jayce/JayceReader.java
@@ -17,11 +17,10 @@ package com.android.jack.jayce;
-import com.android.sched.util.log.LoggerFactory;
-
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
@@ -49,8 +48,10 @@ public class JayceReader extends JayceProcessor {
private final String readerClassName;
@CheckForNull
private final String emitterId;
+ @Nonnull
+ private final Logger userLogger;
- public JayceReader(@Nonnull InputStream in)
+ public JayceReader(@Nonnull InputStream in, @Nonnull Logger userLogger)
throws IOException, JayceFormatException {
this.in = in;
JayceHeader jayceHeader = new JayceHeader(in);
@@ -60,6 +61,7 @@ public class JayceReader extends JayceProcessor {
emitterId = jayceHeader.getEmitterId();
readerClassName =
"com.android.jack.jayce.v" + majorVersionString + ".io.JayceInternalReaderImpl";
+ this.userLogger = userLogger;
}
/**
@@ -98,7 +100,7 @@ public class JayceReader extends JayceProcessor {
+ "File version: " + majorVersion + "." + minorVersion + " - Current version: "
+ majorVersion + "." + currentMinor);
} else if (minorVersion < currentMinor) {
- LoggerFactory.getLogger().log(Level.WARNING,
+ userLogger.log(Level.WARNING,
"The version of the jack file is older than the current version but should be supported. "
+ "File version: {0}.{1} - Current version: {2}.{3}", new Object[] {
Integer.valueOf(majorVersion), Integer.valueOf(minorVersion),
diff --git a/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java b/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java
index a45c671..3701fb3 100644
--- a/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java
+++ b/jack/src/com/android/jack/preprocessor/PreProcessorApplier.java
@@ -34,6 +34,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.annotation.Nonnull;
@@ -44,6 +45,9 @@ import javax.annotation.Nonnull;
@Support(PreProcessor.class)
public class PreProcessorApplier implements RunnableSchedulable<JSession> {
+ @Nonnull
+ private static final Logger logger = LoggerFactory.getLogger();
+
@Override
public void run(@Nonnull JSession session) throws Exception {
InputStreamFile input = ThreadConfig.get(PreProcessor.FILE);
@@ -70,7 +74,7 @@ public class PreProcessorApplier implements RunnableSchedulable<JSession> {
try {
inputStream.close();
} catch (IOException e) {
- LoggerFactory.getLogger().log(Level.WARNING, "Failed to close input stream on '"
+ logger.log(Level.WARNING, "Failed to close input stream on '"
+ input.getLocation().getDescription() + "'", e);
}
}
diff --git a/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java b/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java
index 20f8946..d7970ba 100644
--- a/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java
+++ b/jack/src/com/android/jack/shrob/obfuscation/MappingApplier.java
@@ -73,7 +73,7 @@ public class MappingApplier {
private static final char[] END_PARAMETER_STOP_CHARS = new char[] {',', ')'};
@Nonnull
- protected final Logger logger = LoggerFactory.getLogger();
+ protected static final Logger logger = LoggerFactory.getLogger();
@Nonnull
private final TransformationRequest request;
diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java
index ccb25c0..ad376dc 100644
--- a/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java
+++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/FieldAnnotationRemover.java
@@ -43,7 +43,7 @@ public class FieldAnnotationRemover extends AnnotationRemover implements
RunnableSchedulable<JField> {
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
public FieldAnnotationRemover() {
super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_ANNOTATION).booleanValue(), ThreadConfig.get(
diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java
index 3cb58f4..f0fbbf9 100644
--- a/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java
+++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/MethodAnnotationRemover.java
@@ -43,7 +43,7 @@ public class MethodAnnotationRemover extends AnnotationRemover implements
RunnableSchedulable<JMethod> {
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
public MethodAnnotationRemover() {
super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_ANNOTATION).booleanValue(), ThreadConfig.get(
diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java
index a63a00c..007b71e 100644
--- a/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java
+++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/ParameterAnnotationRemover.java
@@ -61,7 +61,7 @@ public class ParameterAnnotationRemover extends AnnotationRemover implements
"Emit parameters annotations that are runtime invisible").addDefaultValue(Boolean.TRUE);
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
public ParameterAnnotationRemover() {
super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_PARAMETER_ANNOTATION).booleanValue(), ThreadConfig
diff --git a/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java b/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java
index 09ed4d5..335bd13 100644
--- a/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java
+++ b/jack/src/com/android/jack/shrob/obfuscation/annotation/TypeAnnotationRemover.java
@@ -43,7 +43,7 @@ public class TypeAnnotationRemover extends AnnotationRemover
implements RunnableSchedulable<JDefinedClassOrInterface> {
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
public TypeAnnotationRemover() {
super(ThreadConfig.get(EMIT_RUNTIME_VISIBLE_ANNOTATION).booleanValue(), ThreadConfig.get(
diff --git a/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java b/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java
index 60c5078..bcf410c 100644
--- a/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java
+++ b/jack/src/com/android/jack/shrob/shrink/FieldShrinker.java
@@ -41,7 +41,7 @@ import javax.annotation.Nonnull;
public class FieldShrinker implements RunnableSchedulable<JField> {
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
@Nonnull
private final com.android.sched.util.log.Tracer tracer = TracerFactory.getTracer();
diff --git a/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java b/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java
index 502eb6e..6f2d9ef 100644
--- a/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java
+++ b/jack/src/com/android/jack/shrob/shrink/MethodShrinker.java
@@ -41,7 +41,7 @@ import javax.annotation.Nonnull;
public class MethodShrinker implements RunnableSchedulable<JMethod> {
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
@Nonnull
private final com.android.sched.util.log.Tracer tracer = TracerFactory.getTracer();
diff --git a/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java b/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java
index 24e5ee7..4f09106 100644
--- a/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java
+++ b/jack/src/com/android/jack/shrob/shrink/TypeShrinker.java
@@ -52,7 +52,7 @@ import javax.annotation.Nonnull;
public class TypeShrinker implements RunnableSchedulable<JDefinedClassOrInterface> {
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
@Nonnull
private final com.android.sched.util.log.Tracer tracer = TracerFactory.getTracer();
diff --git a/jack/src/com/android/jack/util/ExecuteFile.java b/jack/src/com/android/jack/util/ExecuteFile.java
index a17155e..09bbbc5 100644
--- a/jack/src/com/android/jack/util/ExecuteFile.java
+++ b/jack/src/com/android/jack/util/ExecuteFile.java
@@ -59,7 +59,7 @@ public class ExecuteFile {
private boolean verbose;
@Nonnull
- private final Logger logger;
+ private static final Logger logger = LoggerFactory.getLogger();
public void setErr(@Nonnull File file) throws FileNotFoundException {
errStream = new FileOutputStream(file);
@@ -111,7 +111,6 @@ public class ExecuteFile {
System.arraycopy(args, 0, cmdLine, 1, args.length);
cmdLine[0] = exec.getAbsolutePath();
- logger = LoggerFactory.getLogger();
}
public ExecuteFile(@Nonnull String exec, @Nonnull String[] args) {
@@ -119,18 +118,15 @@ public class ExecuteFile {
System.arraycopy(args, 0, cmdLine, 1, args.length);
cmdLine[0] = exec;
- logger = LoggerFactory.getLogger();
}
public ExecuteFile(@Nonnull File exec) {
cmdLine = new String[1];
cmdLine[0] = exec.getAbsolutePath();
- logger = LoggerFactory.getLogger();
}
public ExecuteFile(@Nonnull String[] cmdLine) {
this.cmdLine = cmdLine.clone();
- logger = LoggerFactory.getLogger();
}
public ExecuteFile(@Nonnull String cmdLine) throws IOException {
@@ -152,7 +148,6 @@ public class ExecuteFile {
}
}
this.cmdLine = tokens.toArray(new String[0]);
- logger = LoggerFactory.getLogger();
}
public boolean run() {
diff --git a/jack/tests/com/android/jack/shrob/AbstractListingComparator.java b/jack/tests/com/android/jack/shrob/AbstractListingComparator.java
index 884ed73..a40855e 100644
--- a/jack/tests/com/android/jack/shrob/AbstractListingComparator.java
+++ b/jack/tests/com/android/jack/shrob/AbstractListingComparator.java
@@ -55,7 +55,7 @@ public abstract class AbstractListingComparator {
private boolean differenceFound = false;
@Nonnull
- private final Logger logger = LoggerFactory.getLogger();
+ private static final Logger logger = LoggerFactory.getLogger();
protected boolean differenceFound() {
return differenceFound;