[ https://issues.apache.org/jira/browse/CASSANDRA-18190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17723291#comment-17723291 ]
Ekaterina Dimitrova edited comment on CASSANDRA-18190 at 5/16/23 9:30 PM: -------------------------------------------------------------------------- I finished the patch around Java UDFs and ecj in this [branch|https://github.com/ekaterinadimitrova2/cassandra/tree/18190-udf] I did not find a changelog so I looked into the changes here - https://github.com/eclipse-jdt/eclipse.jdt.core/compare/R4_6_maintenance...R4_27_maintenance We will be able to commit the patch to trunk when we drop JDK8 as the new version is JDK11+. All tests pass. I did minor changes: - added the new methods of ICompilationUnit to our implementation - ECJCompilationUnit. At this point I think keeping the unnamed module Is fine for us. - Bumped the version of CompilerOptions to 11 The compiler has added enablePreviewFeatures, enableJdtDebugCompileMode, ignoreUnnamedModuleForSplit which are false by default. I keep this as I do not believe we want to enable those. I also kept the ReportDeprecations untouched - it is enabled by default. CI looks good and fixes the two tests that were reported broken with JDK17 as our ECJ version was not supporting JDK17. (org.apache.cassandra.cql3.validation.entities.UFJavaTest, org.apache.cassandra.cql3.validation.entities.UFSecurityTest) CircleCI run #2352 (before I added those methods but that should not change anything) - https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=18190-ecj-udf [~jlewandowski], [~blerer] do you mind to check this part of the patch when you have time? It is not super urgent as we cannot commit it anyway before we drop JDK8. (CASSANDRA-18255) ---- About the eclipse-warnings - I had an offline discussion with [~jlewandowski] and other community members and it seems if we want to move on with ErrorProne we can do it as long as it does not leak into the distribution. [~jlewandowski] has a branch with preliminary patch we can use for test and comparison between ErrorProne and ecj eclipse-warnings. I will look into that and post some comparison here. was (Author: e.dimitrova): I finished the patch around Java UDFs and ecj in this [branch|https://github.com/ekaterinadimitrova2/cassandra/tree/18190-udf] I did not find a changelog so I looked into the changes here - https://github.com/eclipse-jdt/eclipse.jdt.core/compare/R4_6_maintenance...R4_27_maintenance We will be able to commit the patch to trunk when we drop JDK8 as the new version is JDK11+. All tests pass. I did minor changes: - added the new methods of ICompilationUnit to our implementation - ECJCompilationUnit. At this point I think keeping the unnamed module Is fine for us. - Bumped the version of CompilerOptions to 11 The compiler has added enablePreviewFeatures, enableJdtDebugCompileMode, ignoreUnnamedModuleForSplit which are false by default. I keep this as I do not believe we want to enable those. I also kept the ReportDeprecations untouched - it is enabled by default. CI looks good and fixes the two tests that were reported broken with JDK17 as our ECJ version was not supporting JDK17. (org.apache.cassandra.cql3.validation.entities.UFJavaTest, org.apache.cassandra.cql3.validation.entities.UFSecurityTest) CircleCI run #2352 (before I added those methods but that should not change anything) - https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=18190-ecj-udf [~jlewandowski], [~blerer] do you mind to check this part of the patch when you have time. It is not super urgent as we cannot commit it anyway before we drop JDK8. (CASSANDRA-18255) ---- About the eclipse-warnings - I had an offline discussion with [~jlewandowski] and other community members and it seems if we want to move on with ErrorProne we can do it as long as it does not leak into the distribution. [~jlewandowski] has a branch with preliminary patch we can use for test and comparison between ErrorProne and ecj eclipse-warnings. I will look into that and post some comparison here. > ECJ upgrade > ----------- > > Key: CASSANDRA-18190 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18190 > Project: Cassandra > Issue Type: Task > Components: Feature/UDF > Reporter: Ekaterina Dimitrova > Assignee: Ekaterina Dimitrova > Priority: Normal > Fix For: 5.x > > > During testing it was identified that we will need to update ECJ for the Java > UDF functions in order to bring Java 17 in. > It seems the compiler artifacts are moved from > [here|https://mvnrepository.com/artifact/org.eclipse.jdt.core.compiler/ecj ] > to [here|https://mvnrepository.com/artifact/org.eclipse.jdt/ecj] and there is > change of license from EPL1.0 to EPL2.0 too. But if I read correctly > [here|https://www.apache.org/legal/resolved.html#weak-copyleft-licenses] that > should not affect us > Further testing and review of all changes between artifacts to be done. > ECJ is used for the eclipse-warnings and Java UDFs -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org