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 {
34
34
usvmInstrumentationCollector(" $usvmRepo :usvm-jvm-instrumentation-collectors:$usvmVersion " )
35
35
usvmInstrumentationRunner(" $usvmRepo :usvm-jvm-instrumentation:$usvmVersion " )
36
36
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