提交 e6174132 编写于 作者: S superq_sky

Optimized log.

上级 03178da2
......@@ -57,7 +57,7 @@ public abstract class BasePlugin implements Plugin<Project> {
Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if ('preVariantWork' == method.name) {
checkVariantFactoryInvoked = true
Log.i 'Plugin', "Evaluating VirtualApk's configurations..."
Log.i 'VAPlugin', "Evaluating VirtualApk's configurations..."
boolean isBuildingPlugin = evaluateBuildingPlugin(appPlugin, project)
beforeCreateAndroidTasks(isBuildingPlugin)
}
......@@ -127,7 +127,7 @@ public abstract class BasePlugin implements Plugin<Project> {
}
// pluginTasks.each {
// Log.i 'Plugin', "pluginTask: ${it}"
// Log.i 'VAPlugin', "pluginTask: ${it}"
// }
boolean isBuildingPlugin = false
......@@ -135,7 +135,7 @@ public abstract class BasePlugin implements Plugin<Project> {
targetTasks.every {
String taskName = nameMatcher.find(it, pluginTasks)
if (taskName != null) {
// Log.i 'Plugin', "Found task name '${taskName}' by given name '${it}'"
// Log.i 'VAPlugin', "Found task name '${taskName}' by given name '${it}'"
isBuildingPlugin = true
return false
}
......
......@@ -8,6 +8,7 @@ import com.android.build.gradle.internal.publishing.AndroidArtifacts
import com.android.build.gradle.internal.transforms.ProGuardTransform
import com.android.build.gradle.tasks.ProcessAndroidResources
import com.didi.virtualapk.utils.FileUtil
import com.didi.virtualapk.utils.Log
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.component.ComponentIdentifier
......@@ -23,8 +24,9 @@ import org.gradle.api.artifacts.component.ProjectComponentIdentifier
*/
public class VAHostPlugin implements Plugin<Project> {
public static final String TAG = 'VAHostPlugin'
Project project
File vaHostDir;
File vaHostDir
@Override
public void apply(Project project) {
......@@ -33,7 +35,7 @@ public class VAHostPlugin implements Plugin<Project> {
//The target project must be a android application module
if (!project.plugins.hasPlugin('com.android.application')) {
System.err.println("application required!");
Log.e(TAG, "application required!")
return;
}
......@@ -83,9 +85,9 @@ public class VAHostPlugin implements Plugin<Project> {
FileUtil.saveFile(vaHostDir, "versions", {
List<String> deps = new ArrayList<String>()
println "Used compileClasspath: ${applicationVariant.name}"
Log.i TAG, "Used compileClasspath: ${applicationVariant.name}"
Set<ArtifactDependencyGraph.HashableResolvedArtifactResult> compileArtifacts = ArtifactDependencyGraph.getAllArtifacts(
applicationVariant.variantData.scope, AndroidArtifacts.ConsumedConfigType.COMPILE_CLASSPATH, null);
applicationVariant.variantData.scope, AndroidArtifacts.ConsumedConfigType.COMPILE_CLASSPATH, null)
compileArtifacts.each { ArtifactDependencyGraph.HashableResolvedArtifactResult artifact ->
ComponentIdentifier id = artifact.id.componentIdentifier
......
......@@ -53,7 +53,7 @@ class VAPlugin extends BasePlugin {
protected void beforeCreateAndroidTasks(boolean isBuildingPlugin) {
this.isBuildingPlugin = isBuildingPlugin
if (!isBuildingPlugin) {
Log.i 'Plugin', "Skipped all VirtualApk's configurations!"
Log.i 'VAPlugin', "Skipped all VirtualApk's configurations!"
return
}
stripClassAndResTransform = new StripClassAndResTransform(project)
......
......@@ -120,7 +120,7 @@ class HostJniLibsCollector {
@NonNull File file,
@NonNull String path,
@NonNull AarDependenceInfo aarDependenceInfo,
@NonNull ListMultimap<String, QualifiedContent> content) {
@NonNull ListMultimap<String, DependenceInfo> content) {
File[] children = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File f, String name) {
......
......@@ -6,6 +6,7 @@ import com.android.builder.model.AndroidLibrary
import com.android.utils.FileUtils
import com.didi.virtualapk.collector.res.ResourceEntry
import com.didi.virtualapk.collector.res.StyleableEntry
import com.didi.virtualapk.utils.Log
import com.google.common.collect.ArrayListMultimap
import com.google.common.collect.ListMultimap
import com.google.common.collect.Lists
......@@ -39,6 +40,7 @@ class AarDependenceInfo extends DependenceInfo {
@Override
File getJarFile() {
Log.i 'AarDependenceInfo', "Found [${library.resolvedCoordinates}]'s jar file: ${library.jarFile}"
return library.jarFile
}
......@@ -48,14 +50,17 @@ class AarDependenceInfo extends DependenceInfo {
}
File getAssetsFolder() {
Log.i 'AarDependenceInfo', "Found [${library.resolvedCoordinates}]'s assets folder: ${library.assetsFolder}"
return library.assetsFolder
}
File getJniFolder() {
Log.i 'AarDependenceInfo', "Found [${library.resolvedCoordinates}]'s jni folder: ${library.jniFolder}"
return library.jniFolder
}
Collection<File> getLocalJars() {
Log.i 'AarDependenceInfo', "Found [${library.resolvedCoordinates}]'s local jars: ${library.localJars}"
return library.localJars
}
......@@ -73,6 +78,7 @@ class AarDependenceInfo extends DependenceInfo {
rSymbol = FileUtils.join(intermediatesDir, TaskManager.DIR_BUNDLES, library.projectVariant, SdkConstants.FN_RESOURCE_TEXT)
}
if (rSymbol.exists()) {
Log.i 'AarDependenceInfo', "Found [${library.resolvedCoordinates}]'s symbol file: ${rSymbol}"
rSymbol.eachLine { line ->
if (!line.empty) {
def tokenizer = new StringTokenizer(line)
......@@ -101,6 +107,7 @@ class AarDependenceInfo extends DependenceInfo {
// module library
manifest = FileUtils.join(intermediatesDir, 'manifests', 'full', library.projectVariant, SdkConstants.ANDROID_MANIFEST_XML)
}
Log.i 'AarDependenceInfo', "Found [${library.resolvedCoordinates}]'s manifest file: ${manifest}"
def xmlManifest = new XmlParser().parse(manifest)
return xmlManifest.@package
}
......
package com.didi.virtualapk.collector.dependence
import com.android.builder.model.JavaLibrary
import com.didi.virtualapk.utils.Log
/**
* Represents a Jar library. This could be the output of a Java project.
......@@ -18,6 +19,7 @@ class JarDependenceInfo extends DependenceInfo {
@Override
File getJarFile() {
Log.i 'JarDependenceInfo', "Found [${library.resolvedCoordinates}]'s jar file: ${library.jarFile}"
return library.jarFile
}
......
......@@ -73,6 +73,7 @@ class PrepareDependenciesHooker extends GradleTaskHooker<AppPreBuildTask> {
dependencies.libraries.each {
def mavenCoordinates = it.resolvedCoordinates
if (hostDependencies.contains("${mavenCoordinates.groupId}:${mavenCoordinates.artifactId}")) {
Log.i 'PrepareDependenciesHooker', "Need strip aar: ${mavenCoordinates.groupId}:${mavenCoordinates.artifactId}:${mavenCoordinates.version}"
stripDependencies.add(
new AarDependenceInfo(
mavenCoordinates.groupId,
......@@ -81,6 +82,7 @@ class PrepareDependenciesHooker extends GradleTaskHooker<AppPreBuildTask> {
it))
} else {
Log.i 'PrepareDependenciesHooker', "Need retain aar: ${mavenCoordinates.groupId}:${mavenCoordinates.artifactId}:${mavenCoordinates.version}"
retainedAarLibs.add(
new AarDependenceInfo(
mavenCoordinates.groupId,
......@@ -93,6 +95,7 @@ class PrepareDependenciesHooker extends GradleTaskHooker<AppPreBuildTask> {
dependencies.javaLibraries.each {
def mavenCoordinates = it.resolvedCoordinates
if (hostDependencies.contains("${mavenCoordinates.groupId}:${mavenCoordinates.artifactId}")) {
Log.i 'PrepareDependenciesHooker', "Need strip jar: ${mavenCoordinates.groupId}:${mavenCoordinates.artifactId}:${mavenCoordinates.version}"
stripDependencies.add(
new JarDependenceInfo(
mavenCoordinates.groupId,
......@@ -100,6 +103,7 @@ class PrepareDependenciesHooker extends GradleTaskHooker<AppPreBuildTask> {
mavenCoordinates.version,
it))
} else {
Log.i 'PrepareDependenciesHooker', "Need retain jar: ${mavenCoordinates.groupId}:${mavenCoordinates.artifactId}:${mavenCoordinates.version}"
retainedJarLib.add(
new JarDependenceInfo(
mavenCoordinates.groupId,
......
......@@ -66,10 +66,10 @@ class StripClassAndResTransform extends Transform {
transformInvocation.inputs.each {
it.directoryInputs.each { directoryInput ->
// Log.i 'StripClassAndResTransform', "input dir: ${directoryInput.file.absoluteFile}"
Log.i 'StripClassAndResTransform', "input dir: ${directoryInput.file.absoluteFile}"
def destDir = transformInvocation.outputProvider.getContentLocation(
directoryInput.name, directoryInput.contentTypes, directoryInput.scopes, Format.DIRECTORY)
// Log.i 'StripClassAndResTransform', "output dir: ${destDir.absoluteFile}"
Log.i 'StripClassAndResTransform', "output dir: ${destDir.absoluteFile}"
directoryInput.file.traverse(type: FileType.FILES) {
def entryName = it.path.substring(directoryInput.file.path.length() + 1)
// Log.i 'StripClassAndResTransform', "found file: ${it.absoluteFile}"
......@@ -85,11 +85,12 @@ class StripClassAndResTransform extends Transform {
}
it.jarInputs.each { jarInput ->
// Log.i 'StripClassAndResTransform', "${name} jar: ${jarInput.file.absoluteFile}"
Log.i 'StripClassAndResTransform', "input jar: ${jarInput.file.absoluteFile}"
Set<String> jarEntries = HostClassAndResCollector.unzipJar(jarInput.file)
if (!stripEntries.containsAll(jarEntries)){
def dest = transformInvocation.outputProvider.getContentLocation(jarInput.name,
jarInput.contentTypes, jarInput.scopes, Format.JAR)
Log.i 'StripClassAndResTransform', "output jar: ${dest.absoluteFile}"
FileUtils.copyFile(jarInput.file, dest)
// Log.i 'StripClassAndResTransform', "Copied to jar: ${dest.absoluteFile}"
} else {
......
package com.didi.virtualapk.transform
import com.android.build.api.transform.*
import com.didi.virtualapk.utils.Log
public class TransformWrapper extends Transform {
......@@ -75,20 +76,20 @@ public class TransformWrapper extends Transform {
Collection<TransformInput> inputs = invocation.getInputs()
for (TransformInput input : inputs) {
for (DirectoryInput directoryInput : input.getDirectoryInputs()) {
println "input dir: ${directoryInput.getFile()}"
Log.i "${name}", "input dir: ${directoryInput.getFile()}"
}
for (JarInput jarInput : input.getJarInputs()) {
println "input jar: ${jarInput.getFile()}"
Log.i "${name}", "input jar: ${jarInput.getFile()}"
}
}
Collection<TransformInput> referencedInputs = invocation.getReferencedInputs();
for (TransformInput transformInput : referencedInputs) {
for (DirectoryInput directoryInput : transformInput.getDirectoryInputs()) {
println "referenced input dir: ${directoryInput.getFile()}"
Log.i "${name}", "referenced input dir: ${directoryInput.getFile()}"
}
for (JarInput jarInput : transformInput.getJarInputs()) {
println "referenced input jar: ${jarInput.getFile()}"
Log.i "${name}", "referenced input jar: ${jarInput.getFile()}"
}
}
......
......@@ -16,6 +16,8 @@
package com.didi.virtualapk.databinding.annotationprocessor;
import com.didi.virtualapk.utils.Log;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.Closeable;
......@@ -100,7 +102,7 @@ public class ProcessDataBinding extends AbstractProcessor {
writer.newLine();
}
System.out.print("Generated java source file: " + DATA_BINDER_MAPPER_PACKAGE + "." + className);
Log.i("ProcessDataBinding", "Generated java source file: " + DATA_BINDER_MAPPER_PACKAGE + "." + className);
} catch (Exception e) {
e.printStackTrace();
......
package com.didi.virtualapk.utils
package com.didi.virtualapk.utils;
public final class Log {
......@@ -7,8 +7,12 @@ public final class Log {
}
public static int i(String tag, String msg) {
println "[INFO][${tag}] ${msg}"
return 0
System.out.println("[INFO][" + tag + "] " + msg);
return 0;
}
public static int e(String tag, String msg) {
System.err.println("[ERROR][" + tag + "] " + msg);
return 0;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册