Class TransformContext

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TransformContext.State  
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.android.build.gradle.AppExtension android  
      protected org.gradle.api.Project project  
    • 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)  
    • Field Detail

      • project

        protected org.gradle.api.Project project
      • android

        protected com.android.build.gradle.AppExtension android
    • 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()
      • 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:
        getArtifact in interface GradleEnv
      • 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:
        find in interface ClassFinder
      • find

        public org.objectweb.asm.tree.ClassNode find​(java.lang.String className)
        Specified by:
        find in interface ClassFinder
      • loadClass

        public java.lang.Class<?> loadClass​(java.lang.String className)
        Specified by:
        loadClass in interface ClassFinder