1
1
import org.gradle.jvm.tasks.Jar
2
2
import org.jetbrains.compose.ExperimentalComposeLibrary
3
- import org.jetbrains.compose.compose
4
3
import org.jetbrains.kotlin.compose.compiler.gradle.ComposeFeatureFlag
5
4
import java.io.FileOutputStream
6
5
import java.nio.file.Files
7
- import org.jetbrains.compose.reload.ComposeHotRun
6
+ import org.jetbrains.compose.reload.gradle. ComposeHotRun
8
7
9
8
plugins {
10
9
alias(libs.plugins.kotlin.jvm)
@@ -78,7 +77,6 @@ dependencies {
78
77
implementation(libs.slf4j.api)
79
78
implementation(libs.slf4j.reload4j)
80
79
81
- implementation(libs.datastore.core)
82
80
implementation(libs.bouncycastle)
83
81
84
82
implementation(libs.ktor.client)
@@ -130,10 +128,6 @@ tasks.withType<JavaExec> {
130
128
})
131
129
}
132
130
133
- // https://github.com/JetBrains/compose-hot-reload
134
- composeCompiler {
135
- featureFlags.add(ComposeFeatureFlag .OptimizeNonSkippingGroups )
136
- }
137
131
tasks.withType<ComposeHotRun >().configureEach {
138
132
mainClass.set(" com.jetpackduba.gitnuro.MainKt" )
139
133
}
@@ -169,7 +163,7 @@ compose.desktop {
169
163
}
170
164
171
165
172
- task (" fatJarLinux" , type = Jar ::class ) {
166
+ tasks.register (" fatJarLinux" , type = Jar ::class ) {
173
167
val archSuffix = if (isLinuxAarch64) {
174
168
" arm_aarch64"
175
169
} else {
@@ -195,7 +189,7 @@ task("fatJarLinux", type = Jar::class) {
195
189
with (tasks.jar.get() as CopySpec )
196
190
}
197
191
198
- task (" rust_build" ) {
192
+ tasks.register (" rust_build" ) {
199
193
buildRust()
200
194
}
201
195
@@ -213,20 +207,20 @@ tasks.getByName("compileTestKotlin").doLast {
213
207
generateKotlinFromRs()
214
208
}
215
209
216
- task (" tasksList" ) {
210
+ tasks.register (" tasksList" ) {
217
211
println (" Tasks" )
218
212
tasks.forEach {
219
213
println (" - ${it.name} " )
220
214
}
221
215
}
222
216
223
- task (" rustTasks" ) {
217
+ tasks.register (" rustTasks" ) {
224
218
buildRust()
225
219
copyRustBuild()
226
220
generateKotlinFromRs()
227
221
}
228
222
229
- task (" rust_copyBuild" ) {
223
+ tasks.register (" rust_copyBuild" ) {
230
224
copyRustBuild()
231
225
}
232
226
@@ -248,44 +242,44 @@ fun generateKotlinFromRs() {
248
242
outDir,
249
243
)
250
244
251
- exec {
245
+ providers. exec {
252
246
println (" Generating Kotlin source files" )
253
247
254
248
workingDir = File (project.projectDir, " rs" )
255
249
commandLine = command
256
- }
250
+ }.result.get()
257
251
}
258
252
259
253
fun buildRust () {
260
- exec {
261
- println (" Build rs called" )
262
- val binary = if (currentOs() == OS .LINUX && useCross) {
263
- " cross"
264
- } else {
265
- " cargo"
266
- }
254
+ println (" Build rs called" )
255
+ val binary = if (currentOs() == OS .LINUX && useCross) {
256
+ " cross"
257
+ } else {
258
+ " cargo"
259
+ }
267
260
268
- val params = mutableListOf (
269
- binary, " build" ,
270
- )
261
+ val params = mutableListOf (
262
+ binary, " build" ,
263
+ )
271
264
272
- if (isRustRelease) {
273
- params.add(" --release" )
274
- }
265
+ if (isRustRelease) {
266
+ params.add(" --release" )
267
+ }
275
268
276
- if (currentOs() == OS .LINUX && useCross) {
277
- if (isLinuxAarch64) {
278
- params.add(" --target=$linuxArmTarget " )
279
- } else {
280
- params.add(" --target=$linuxX64Target " )
281
- }
282
- } else if (currentOs() == OS .MAC ) {
283
- params.add(" --target=x86_64-apple-darwin" )
269
+ if (currentOs() == OS .LINUX && useCross) {
270
+ if (isLinuxAarch64) {
271
+ params.add(" --target=$linuxArmTarget " )
272
+ } else {
273
+ params.add(" --target=$linuxX64Target " )
284
274
}
275
+ } else if (currentOs() == OS .MAC ) {
276
+ params.add(" --target=x86_64-apple-darwin" )
277
+ }
285
278
279
+ providers.exec {
286
280
workingDir = File (project.projectDir, " rs" )
287
281
commandLine = params
288
- }
282
+ }.result.get()
289
283
}
290
284
291
285
fun copyRustBuild () {
0 commit comments