package snapshoot; import com.dx168.fastdex.build.snapshoot.api.DiffResultSet; import com.dx168.fastdex.build.snapshoot.file.FileSuffixFilter; import com.dx168.fastdex.build.snapshoot.file.ScanFilter; import com.dx168.fastdex.build.snapshoot.sourceset.JavaDirectorySnapshoot; import com.dx168.fastdex.build.snapshoot.sourceset.SourceSetSnapshoot; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import junit.framework.TestCase; import org.junit.Test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; /** * Created by tong on 17/3/31. */ public class BuildConfigAndRDiffTest extends TestCase { private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); @Test public void test() throws Throwable { // SourceSetSnapshoot sourceSetSnapshoot = new SourceSetSnapshoot(new File("/Users/tong/Projects/fastdex/sample/app"),"/Users/tong/Projects/fastdex/sample/app/src/main/java"); // // final File rDir = new File("/Users/tong/Projects/fastdex/sample/app/build/generated/source/r/debug"); // JavaDirectorySnapshoot rSnapshoot = new JavaDirectorySnapshoot(rDir){ // @Override // protected void walkFileTree(File directory, ScanFilter scanFilter) throws IOException { // visitFile(new File("/Users/tong/Projects/fastdex/sample/app/build/generated/source/r/debug/com/dx168/fastdex/sample/R.java").toPath(),null,scanFilter); // } // }; // // File buildConfigDir = new File("/Users/tong/Projects/fastdex/sample/app/build/generated/source/buildConfig/debug"); // JavaDirectorySnapshoot buildConfigSnapshoot = new JavaDirectorySnapshoot(buildConfigDir){ // @Override // protected void walkFileTree(File directory, ScanFilter scanFilter) throws IOException { // visitFile(new File("/Users/tong/Projects/fastdex/sample/app/build/generated/source/buildConfig/debug/com/dx168/fastdex/sample/BuildConfig.java").toPath(),null,scanFilter); // } // }; // sourceSetSnapshoot.addJavaDirectorySnapshoot(rSnapshoot); // sourceSetSnapshoot.addJavaDirectorySnapshoot(buildConfigSnapshoot); // // SourceSetSnapshoot oldSourceSetSnapshoot = (SourceSetSnapshoot) SourceSetSnapshoot.load(new File("/Users/tong/Projects/fastdex/sample/app/build/fastdex/Debug/sourceSets.json"),SourceSetSnapshoot.class); // DiffResultSet diffResultSet = sourceSetSnapshoot.diff(oldSourceSetSnapshoot); // // System.out.println(diffResultSet); // DiffResultSet diffResultSet2 = sourceSetSnapshoot.diff(oldSourceSetSnapshoot); } @Test public void test2() throws Throwable { // JavaDirectorySnapshoot snapshoot = new JavaDirectorySnapshoot(new File("/Users/tong/Projects/fastdex/sample/app/build/intermediates/classes/debug"),new FileSuffixFilter(".class")); // JavaDirectorySnapshoot oldSnapshoot = (JavaDirectorySnapshoot) JavaDirectorySnapshoot.load(new File("/Users/tong/Desktop/snapshoot.json"),JavaDirectorySnapshoot.class); // // DiffResultSet diffResultSet = snapshoot.diff(oldSnapshoot); // System.out.println(GSON.toJson(diffResultSet.changedDiffInfos)); // // snapshoot.serializeTo(new FileOutputStream("/Users/tong/Desktop/snapshoot.json")); } }