[ 
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 push 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

Reply via email to