File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,42 @@ dependencies {
22
22
23
23
generateTypeScript createTSGeneratorConfigForClient(" src/restclient.ts" , new File (" ${ project(":ui:component:model").projectDir} /src/typescript-generator-info.json" ), project(" :model" ))
24
24
generateTypeScript. dependsOn resolveTask(" :ui:component:model:generateTypeScript" )
25
+ generateTypeScript. onlyIf { countResourceClasses() > 0 }
26
+ npmBuild. onlyIf { countResourceClasses() > 0 }
27
+ tasks. register(' dummyRestClient' ) {
28
+ onlyIf { countResourceClasses() == 0 }
29
+ doLast {
30
+ file(" ${ projectDir} /src/restclient.ts" ). text = ' export class ApiClient {}'
31
+ }
32
+ }
33
+ generateTypeScript. finalizedBy dummyRestClient
34
+
35
+ def countResourceClasses () {
36
+ // Get the main source set's output classes directory
37
+ def classesDir = project(" :model" ). sourceSets. main. output. classesDirs
38
+ def count = 0
39
+
40
+ // Iterate through all class files
41
+ classesDir. files. each { dir ->
42
+ dir. eachFileRecurse { file ->
43
+ if (file. name. endsWith(' .class' )) {
44
+ // Convert file path to class name and check if it ends with "Resource"
45
+ def className = file. absolutePath
46
+ .substring(classesDir. asPath. length() + 1 )
47
+ .replace(File . separator, ' .' )
48
+ .replace(' .class' , ' ' )
49
+
50
+ if (className. endsWith(' Resource' )) {
51
+ count++
52
+ }
53
+
54
+ }
55
+ }
56
+ }
57
+
58
+ println " Total classes ending with 'Resource': $count "
59
+ return count
60
+ }
25
61
26
62
clean {
27
63
doLast {
You can’t perform that action at this time.
0 commit comments