Class TransformContext
- java.lang.Object
-
- com.ss.android.ugc.bytex.transformer.TransformContext
-
- All Implemented Interfaces:
GradleEnv,ClassFinder
public class TransformContext extends java.lang.Object implements GradleEnv, ClassFinder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTransformContext.State
-
Constructor Summary
Constructors Constructor Description TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, boolean isPluginIncremental)Deprecated.TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, boolean isPluginIncremental, boolean shouldSaveCache)Deprecated.TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, boolean isPluginIncremental, boolean shouldSaveCache, boolean useRawCache)Deprecated.TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, TransformOptions transformOptions)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.util.stream.Stream<FileCache>allFiles()java.io.FileandroidJar()java.io.FilebyteXBuildDir()org.objectweb.asm.tree.ClassNodefind(java.lang.String className)org.objectweb.asm.tree.ClassNodefind(java.lang.String className, int parsingOption)java.util.Collection<DirCache>getAllDirs()java.util.Collection<JarCache>getAllJars()java.util.Collection<java.io.File>getArtifact(Artifact artifact)java.util.List<FileData>getChangedFiles()java.io.FilegetGraphCache()Deprecated.com.android.build.api.transform.TransformInvocationgetInvocation()com.ss.android.ugc.bytex.transformer.location.LocatorgetLocator()java.io.FilegetOutputDir(java.lang.String affinity)java.io.FilegetOutputFile(com.android.build.api.transform.QualifiedContent content)java.io.FilegetOutputFile(com.android.build.api.transform.QualifiedContent content, boolean createIfNeed)static java.io.FilegetOutputTarget(java.io.File root, java.lang.String relativePath)java.io.FilegetProguardMappingFile()com.ss.android.ugc.bytex.transformer.TransformInputsgetTransformInputs()TransformOptionsgetTransformOptions()com.ss.android.ugc.bytex.transformer.TransformOutputsgetTransformOutputs()com.android.build.gradle.api.BaseVariantgetVariant()java.lang.StringgetVariantName()booleanisDaemonSingleUse()daemon是否在构建之后会被杀死,这个对于使用daemon缓存数据有作用 Whether the daemon will be killed after build finish, this is useful for using the daemon to cache databooleanisIncremental()booleanisReleaseBuild()java.lang.Class<?>loadClass(java.lang.String className)voidrelease()voidrequestNotIncremental()请求非增量运行,必须在traverse时机之前调用
beforeTraverse及之前生命周期可调用,否则报RuntimeExceptionbooleanrequestNotIncremental(java.lang.String relativePath)请求某个文件进行非增量
beforeTraverse及之前生命周期可调用,否则报RuntimeExceptionbooleanshouldSaveCache()
-
-
-
Constructor Detail
-
TransformContext
@Deprecated public TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, boolean isPluginIncremental)Deprecated.
-
TransformContext
@Deprecated public TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, boolean isPluginIncremental, boolean shouldSaveCache)Deprecated.
-
TransformContext
@Deprecated public TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, boolean isPluginIncremental, boolean shouldSaveCache, boolean useRawCache)Deprecated.
-
TransformContext
public TransformContext(com.android.build.api.transform.TransformInvocation invocation, org.gradle.api.Project project, com.android.build.gradle.AppExtension android, TransformOptions transformOptions)
-
-
Method Detail
-
getTransformInputs
public com.ss.android.ugc.bytex.transformer.TransformInputs getTransformInputs()
-
getAllDirs
public java.util.Collection<DirCache> getAllDirs()
-
getAllJars
public java.util.Collection<JarCache> getAllJars()
-
allFiles
public java.util.stream.Stream<FileCache> allFiles()
-
getTransformOutputs
public com.ss.android.ugc.bytex.transformer.TransformOutputs getTransformOutputs()
-
getOutputFile
public java.io.File getOutputFile(com.android.build.api.transform.QualifiedContent content) throws java.io.IOException- Throws:
java.io.IOException
-
getOutputFile
public java.io.File getOutputFile(com.android.build.api.transform.QualifiedContent content, boolean createIfNeed) throws java.io.IOException- Throws:
java.io.IOException
-
getOutputTarget
public static java.io.File getOutputTarget(java.io.File root, java.lang.String relativePath) throws java.io.IOException- Throws:
java.io.IOException
-
getOutputDir
public java.io.File getOutputDir(java.lang.String affinity) throws java.io.IOException- Throws:
java.io.IOException
-
isIncremental
public boolean isIncremental()
-
shouldSaveCache
public boolean shouldSaveCache()
-
getTransformOptions
public TransformOptions getTransformOptions()
-
requestNotIncremental
public void requestNotIncremental()
请求非增量运行,必须在traverse时机之前调用
beforeTraverse及之前生命周期可调用,否则报RuntimeException
-
requestNotIncremental
public boolean requestNotIncremental(java.lang.String relativePath)
请求某个文件进行非增量
beforeTraverse及之前生命周期可调用,否则报RuntimeException- Parameters:
relativePath- 文件的相对路径,比如 com/bytedance/Demo.class- Returns:
- 成功修改对应输入的状态,如果当前已经是非增量
-
isReleaseBuild
public boolean isReleaseBuild()
-
getInvocation
public com.android.build.api.transform.TransformInvocation getInvocation()
-
getVariantName
public java.lang.String getVariantName()
-
getVariant
public com.android.build.gradle.api.BaseVariant getVariant()
-
androidJar
public java.io.File androidJar() throws java.io.FileNotFoundException- Throws:
java.io.FileNotFoundException
-
byteXBuildDir
public java.io.File byteXBuildDir()
-
getArtifact
@Nonnull public java.util.Collection<java.io.File> getArtifact(@Nonnull Artifact artifact)- Specified by:
getArtifactin interfaceGradleEnv
-
getChangedFiles
public java.util.List<FileData> getChangedFiles()
-
getLocator
public com.ss.android.ugc.bytex.transformer.location.Locator getLocator()
-
getGraphCache
@Deprecated public java.io.File getGraphCache()
Deprecated.返回Transform的Graph缓存文件路径,增量编译需要读取和写入使用use AbsTransformFlow#getGraphCache instead
-
isDaemonSingleUse
public boolean isDaemonSingleUse()
daemon是否在构建之后会被杀死,这个对于使用daemon缓存数据有作用 Whether the daemon will be killed after build finish, this is useful for using the daemon to cache data- Returns:
- true 表示构建结束后会被杀死,类似于--no-daemon
-
getProguardMappingFile
public java.io.File getProguardMappingFile()
-
release
public void release()
-
find
public org.objectweb.asm.tree.ClassNode find(java.lang.String className, int parsingOption)- Specified by:
findin interfaceClassFinder
-
find
public org.objectweb.asm.tree.ClassNode find(java.lang.String className)
- Specified by:
findin interfaceClassFinder
-
loadClass
public java.lang.Class<?> loadClass(java.lang.String className)
- Specified by:
loadClassin interfaceClassFinder
-
-