File tree Expand file tree Collapse file tree 2 files changed +55
-1
lines changed
src/main/kotlin/org/utbot/usvm/jc Expand file tree Collapse file tree 2 files changed +55
-1
lines changed Original file line number Diff line number Diff line change @@ -34,4 +34,41 @@ dependencies {
3434 usvmInstrumentationCollector(" $usvmRepo :usvm-jvm-instrumentation-collectors:$usvmVersion " )
3535 usvmInstrumentationRunner(" $usvmRepo :usvm-jvm-instrumentation:$usvmVersion " )
3636 usvmInstrumentationRunner(" $usvmRepo :usvm-jvm-instrumentation-collectors:$usvmVersion " )
37- }
37+ }
38+
39+ // TODO replace with runner from usvm (unavailable due to huge jar size)
40+ val usvmInstrumentationRunnerJarTask by tasks.register<Jar >(" usvmInstrumentationRunnerJar" ) {
41+ archiveBaseName.set(" usvm-jvm-instrumentation-runner" )
42+ archiveVersion.set(" " )
43+ duplicatesStrategy = DuplicatesStrategy .EXCLUDE
44+
45+ manifest {
46+ attributes(
47+ " Main-Class" to " org.usvm.instrumentation.rd.InstrumentedProcessKt" ,
48+ " Premain-Class" to " org.usvm.instrumentation.agent.Agent" ,
49+ " Can-Retransform-Classes" to " true" ,
50+ " Can-Redefine-Classes" to " true"
51+ )
52+ }
53+
54+ from(configurations.named(" usvmInstrumentationRunner" ).get().map {
55+ if (it.isDirectory) it else zipTree(it)
56+ })
57+ }
58+
59+ tasks.processResources {
60+ listOf (
61+ approximations,
62+ usvmApproximationsApi,
63+ usvmInstrumentationCollector,
64+ usvmInstrumentationRunnerJarTask,
65+ ).forEach { source ->
66+ from(source) {
67+ into(" lib" )
68+ rename {
69+ it.replace(" -$usvmVersion " , " " )
70+ .replace(" -$approximationsVersion " , " " )
71+ }
72+ }
73+ }
74+ }
Original file line number Diff line number Diff line change 1+ package org.utbot.usvm.jc
2+
3+ import org.utbot.common.JarUtils
4+
5+ object JcJars {
6+ val approximationsJar by lazy { extractUsvmJar(" approximations.jar" ) }
7+ val approximationsApiJar by lazy { extractUsvmJar(" usvm-jvm-api.jar" ) }
8+ val collectorsJar by lazy { extractUsvmJar(" usvm-jvm-instrumentation-collectors.jar" ) }
9+ val runnerJar by lazy { extractUsvmJar(" usvm-jvm-instrumentation-runner.jar" ) }
10+
11+ private fun extractUsvmJar (jarFileName : String ) = JarUtils .extractJarFileFromResources(
12+ jarFileName = jarFileName,
13+ jarResourcePath = " lib/$jarFileName " ,
14+ targetDirectoryName = " usvm"
15+ )
16+ }
17+
You can’t perform that action at this time.
0 commit comments