Podbicie do gradle 7.3, java 17

0

Aktualnie w projekcie mam gradle 5.6, podbijam go do 7.3 ale trafiłem na blokera, może ktoś doradzi w którą strone iść?

Some problems were found with the configuration of task ':api:TemplateServices-api:generateSwaggerCodeDocs' (type 'GenerateSwaggerCode').
  - In plugin 'org.hidetake.swagger.generator' type 'org.hidetake.gradle.swagger.generator.GenerateSwaggerCode' property 'adaptorFactory' is missing an input or output annotation.

    Reason: A property without annotation isn't considered during up-to-date checking.

    Possible solutions:
      1. Add an input or output annotation.
      2. Mark it as @Internal.

    Please refer to https://docs.gradle.org/7.3/userguide/validation_problems.html#missing_annotation for more details about this problem.
  - In plugin 'org.hidetake.swagger.generator' type 'org.hidetake.gradle.swagger.generator.GenerateSwaggerCode' property 'configFile' is annotated with @InputFile but missing a normalization strategy.

Tutaj coś znalazłem, że jest jakiś problem z gradle 7:
https://stackoverflow.com/questions/67137816/flutter-project-fails-to-build-when-gradle-gets-upgraded-error-type-flutterta

0

A podbiłeś plugin swaggera?
Spróbuj:

id 'org.hidetake.swagger.generator' version '2.19.2'
0

Próbowałem, ale cały czas coś krzyczy, gdy podnosze do wersji 2.19.2, krzyczy mi:

19:12:47.512 [Thread-0] ERROR i.s.c.v.g.html.StaticHtml2Codegen - Swagger object description is empty [TemplateServices-api]
19:12:47.775 [Thread-0] WARN  i.s.codegen.v3.utils.URLPathUtil - Not valid URL: /api
java.net.MalformedURLException: no protocol: /api
        at java.base/java.net.URL.<init>(URL.java:674)
        at java.base/java.net.URL.<init>(URL.java:569)
        at java.base/java.net.URL.<init>(URL.java:516)
        at io.swagger.codegen.v3.utils.URLPathUtil.getServerURL(URLPathUtil.java:31)
        at io.swagger.codegen.v3.utils.URLPathUtil.getScheme(URLPathUtil.java:77)
        at io.swagger.codegen.v3.DefaultGenerator.buildSupportFileBundle(DefaultGenerator.java:673)
        at io.swagger.codegen.v3.DefaultGenerator.generate(DefaultGenerator.java:725)
        at io.swagger.codegen.v3.cli.cmd.Generate.run(Generate.java:342)
        at java.base/java.lang.Thread.run(Thread.java:833)
Exception in thread "Thread-0" java.lang.RuntimeException: Could not generate supporting file 'SupportingFile:
        templateFile: index.mustache
        folder:
        destinationFilename: index.html
'
        at io.swagger.codegen.v3.DefaultGenerator.generateSupportingFiles(DefaultGenerator.java:604)
        at io.swagger.codegen.v3.DefaultGenerator.generate(DefaultGenerator.java:726)
        at io.swagger.codegen.v3.cli.cmd.Generate.run(Generate.java:342)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.github.jknack.handlebars.HandlebarsException: /handlebars/htmlDocs2/sample_java.mustache:1:10: java.lang.reflect.InaccessibleObjectException: Unable to make public boolean java.util.Collections$EmptyMap.isEmpty() acce
ssible: module java.base does not "opens java.util" to unnamed module @21b2e768
    /handlebars/htmlDocs2/sample_java.mustache:1:10
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
        at com.github.jknack.handlebars.context.MemberValueResolver.cache(MemberValueResolver.java:82)
        at com.github.jknack.handlebars.context.MemberValueResolver.resolve(MemberValueResolver.java:54)
        at com.github.jknack.handlebars.Context$CompositeValueResolver.resolve(Context.java:197)
        ...
        at com.github.jknack.handlebars.internal.BaseTemplate.apply(BaseTemplate.java:118)
        at com.github.jknack.handlebars.internal.ForwardingTemplate.apply(ForwardingTemplate.java:72)
        at io.swagger.codegen.v3.templates.HandlebarTemplateEngine.getRendered(HandlebarTemplateEngine.java:25)
        at io.swagger.codegen.v3.DefaultGenerator.generateSupportingFiles(DefaultGenerator.java:575)
        ... 3 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public boolean java.util.Collections$EmptyMap.isEmpty() accessible: module java.base does not "opens java.util" to unnamed module @21b2e768
        ... 74 more


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':api:TemplateServices-api:openApiGenerate'.
> Error while evaluating property 'configOptions' of task ':api:TemplateServices-api:openApiGenerate'
   > Failed to calculate the value of task ':api:TemplateServices-api:openApiGenerate' property 'configOptions'.
      > Failed to query the value of extension 'openApiGenerate' property 'configOptions'.
         > Cannot get the value of a property of type java.util.Map with value type java.lang.String as the source contains a value of type java.lang.Boolean.
2

Zrobiłem, ale to jakaś masakra była :D
Musiałem popodnosić kilka innych bibliotek do najnowszych lub takich kompatybilnych z gradle 7.3 (np. lomboka, spring-boot-gradle-plugin etc.), zmienić kilka plików w swaggerze, dodać np. argument do gradle przy uruchamianiu (org.gradle.jvmargs=--add-opens=java.util=ALL-UNNAMED)
No ogólnie było troche zabawy

1 użytkowników online, w tym zalogowanych: 0, gości: 1