Shade in kotlin-build-common-test
This commit is contained in:
+8
-6
@@ -16,9 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.incremental.testingUtils
|
package org.jetbrains.kotlin.incremental.testingUtils
|
||||||
|
|
||||||
import com.google.common.collect.Sets
|
|
||||||
import com.google.common.hash.Hashing
|
|
||||||
import com.google.common.io.Files
|
|
||||||
import com.google.protobuf.ExtensionRegistry
|
import com.google.protobuf.ExtensionRegistry
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import org.jetbrains.kotlin.incremental.LocalFileKotlinClass
|
import org.jetbrains.kotlin.incremental.LocalFileKotlinClass
|
||||||
@@ -36,6 +33,7 @@ import java.io.File
|
|||||||
import java.io.PrintWriter
|
import java.io.PrintWriter
|
||||||
import java.io.StringWriter
|
import java.io.StringWriter
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
import java.util.zip.CRC32
|
||||||
import kotlin.comparisons.compareBy
|
import kotlin.comparisons.compareBy
|
||||||
|
|
||||||
// Set this to true if you want to dump all bytecode (test will fail in this case)
|
// Set this to true if you want to dump all bytecode (test will fail in this case)
|
||||||
@@ -45,7 +43,7 @@ fun assertEqualDirectories(expected: File, actual: File, forgiveExtraFiles: Bool
|
|||||||
val pathsInExpected = getAllRelativePaths(expected)
|
val pathsInExpected = getAllRelativePaths(expected)
|
||||||
val pathsInActual = getAllRelativePaths(actual)
|
val pathsInActual = getAllRelativePaths(actual)
|
||||||
|
|
||||||
val commonPaths = Sets.intersection(pathsInExpected, pathsInActual)
|
val commonPaths = pathsInExpected.intersect(pathsInActual)
|
||||||
val changedPaths = commonPaths
|
val changedPaths = commonPaths
|
||||||
.filter { DUMP_ALL || !Arrays.equals(File(expected, it).readBytes(), File(actual, it).readBytes()) }
|
.filter { DUMP_ALL || !Arrays.equals(File(expected, it).readBytes(), File(actual, it).readBytes()) }
|
||||||
.sorted()
|
.sorted()
|
||||||
@@ -71,7 +69,11 @@ fun assertEqualDirectories(expected: File, actual: File, forgiveExtraFiles: Bool
|
|||||||
Assert.assertEquals(expectedString, actualString)
|
Assert.assertEquals(expectedString, actualString)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun File.hash() = Files.hash(this, Hashing.crc32())
|
private fun File.checksumString(): String {
|
||||||
|
val crc32 = CRC32()
|
||||||
|
crc32.update(this.readBytes())
|
||||||
|
return java.lang.Long.toHexString(crc32.value)
|
||||||
|
}
|
||||||
|
|
||||||
private fun getDirectoryString(dir: File, interestingPaths: List<String>): String {
|
private fun getDirectoryString(dir: File, interestingPaths: List<String>): String {
|
||||||
val buf = StringBuilder()
|
val buf = StringBuilder()
|
||||||
@@ -93,7 +95,7 @@ private fun getDirectoryString(dir: File, interestingPaths: List<String>): Strin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
p.println(child.name, " ", child.hash())
|
p.println(child.name, " ", child.checksumString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -675,25 +675,28 @@
|
|||||||
<pathelement path="${bootstrap.reflect}"/>
|
<pathelement path="${bootstrap.reflect}"/>
|
||||||
<pathelement path="${bootstrap.kotlin.test}"/>
|
<pathelement path="${bootstrap.kotlin.test}"/>
|
||||||
<pathelement path="${idea.sdk}/lib/junit-4.12.jar"/>
|
<pathelement path="${idea.sdk}/lib/junit-4.12.jar"/>
|
||||||
<pathelement path="${idea.sdk}/lib/guava-17.0.jar"/>
|
|
||||||
<pathelement path="${kotlin-home}/lib/kotlin-build-common.jar"/>
|
<pathelement path="${kotlin-home}/lib/kotlin-build-common.jar"/>
|
||||||
<pathelement path="${kotlin-home}/lib/kotlin-compiler.jar"/>
|
<pathelement path="${kotlin-home}/lib/kotlin-compiler.jar"/>
|
||||||
<pathelement path="${protobuf.jar}"/>
|
<pathelement path="${protobuf.jar}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
</javac2>
|
</javac2>
|
||||||
|
|
||||||
<jar destfile="${kotlin-home}/lib/kotlin-build-common-test.jar">
|
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="dependencies/jarjar.jar"/>
|
||||||
|
|
||||||
|
<jarjar jarfile="${kotlin-home}/lib/kotlin-build-common-test.jar">
|
||||||
<fileset dir="${output}/classes/kotlin-build-common-test"/>
|
<fileset dir="${output}/classes/kotlin-build-common-test"/>
|
||||||
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
|
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
|
||||||
|
<zipfileset src="${protobuf.jar}"/>
|
||||||
|
<rule pattern="com.google.**" result="org.jetbrains.kotlin.com.google.@1"/>
|
||||||
|
<rule pattern="com.intellij.**" result="org.jetbrains.kotlin.com.intellij.@1"/>
|
||||||
|
|
||||||
<manifest>
|
<manifest>
|
||||||
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
|
<attribute name="Built-By" value="${manifest.impl.vendor}"/>
|
||||||
|
|
||||||
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
|
<attribute name="Implementation-Vendor" value="${manifest.impl.vendor}"/>
|
||||||
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.build.common}"/>
|
<attribute name="Implementation-Title" value="${manifest.impl.title.kotlin.build.common}"/>
|
||||||
<attribute name="Implementation-Version" value="${build.number}"/>
|
<attribute name="Implementation-Version" value="${build.number}"/>
|
||||||
</manifest>
|
</manifest>
|
||||||
</jar>
|
</jarjar>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="daemon-client">
|
<target name="daemon-client">
|
||||||
|
|||||||
Reference in New Issue
Block a user