1+ import com.github.gradle.node.npm.task.NpmTask
2+ import org.gradle.kotlin.dsl.register
3+
14plugins {
25 base
36 alias(libs.plugins.node)
47}
58
6- tasks.named( " npm_run_join " ) {
9+ tasks.assemble {
710 dependsOn(" npm_run_bundle" )
811}
12+
13+ val bundledDir = layout.projectDirectory.dir(" bundled" )
14+ val publicationFile = bundledDir.file(" modelix-openapi-specifications-${project.version} .tgz" )
15+
16+ val updateVersionTask = tasks.register<NpmTask >(" updatePackageVersion" ) {
17+ workingDir.set(bundledDir.asFile)
18+ npmCommand = listOf (" version" )
19+ args.set(listOf (
20+ project.version.toString(),
21+ " --allow-same-version"
22+ ))
23+ }
24+
25+ val npmPackTask =
26+ tasks.register<NpmTask >(" npmPack" ) {
27+ group = " build"
28+ dependsOn(" npm_run_bundle" )
29+ dependsOn(updateVersionTask)
30+
31+ workingDir.set(bundledDir.asFile)
32+ npmCommand = listOf (" pack" )
33+ }
34+
35+ val npmPublishTask =
36+ tasks.register<NpmTask >(" npmPublish" ) {
37+ group = " publishing"
38+ dependsOn(npmPackTask)
39+
40+ inputs.file(publicationFile)
41+
42+ workingDir.set(bundledDir.asFile)
43+ npmCommand.set(listOf (" publish" ))
44+ args.set(
45+ listOf (
46+ publicationFile.asFile.absolutePath,
47+ " --registry=https://artifacts.itemis.cloud/repository/npm-open/" ,
48+ " --//artifacts.itemis.cloud/repository/npm-open/:_authToken=${project.findProperty(
49+ " artifacts.itemis.cloud.npm.token" ,
50+ )} " ,
51+ ),
52+ )
53+ }
54+
55+ tasks.assemble {
56+ dependsOn(npmPackTask)
57+ }
58+
59+ tasks.publish {
60+ dependsOn(npmPublishTask)
61+ }
0 commit comments