[
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: [email protected]
For additional commands, e-mail: [email protected]