[
https://issues.apache.org/jira/browse/CASSANDRA-18190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17735510#comment-17735510
]
Ekaterina Dimitrova edited comment on CASSANDRA-18190 at 6/21/23 2:13 AM:
--------------------------------------------------------------------------
Replacement of ant eclipse-warnings by a new task using the CheckerFramework is
happening as part of CASSANDRA-18239.
Thus, I upgraded ecj to the latest possible version that supports both JDK11
and 17 for the Java UDFs and removed ant eclipse-warnings (including
eclipse_compiler.properties). I do not entirely remove the ant target from
build.xml. I left a fake empty task to confuse Jenkins as there are ongoing
changes for trunk and cassandra-builds, so I decided to make changes there when
the concurrent changes related to moving in-tree the build scripts for trunk
are done. Though I removed the task from CircleCI as that was quick and easy. I
will open a follow-up task for Jenkins.
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 #2380
CI:
[https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=18190-udf]
PR: [https://github.com/apache/cassandra/pull/2429]
I also tested locally the fake task that it completes successfully without
running anything.
[~adelapena] , [~blerer] - anyone of you up for a review?
was (Author: e.dimitrova):
Replacement of ant eclipse-warnings by a new task using the CheckerFramework is
happening as part of CASSANDRA-18239.
Thus, I upgraded ecj to the latest possible version that supports both JDK11
and 17 for the Java UDFs and removed ant eclipse-warnings (including
eclipse_compiler.properties). I do not entirely remove the ant target from
build.xml. I left a fake empty task to confuse Jenkins as there are ongoing
changes for trunk and cassandra-builds, so I decided to make changes there when
the concurrent changes related to moving in-tree the build scripts for trunk
are done. Though I removed the task from CircleCI as that was quick and easy. I
will open a follow-up task for Jenkins.
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 #2380
CI:
[https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra?branch=18190-udf]
PR: [https://github.com/apache/cassandra/pull/2429]
[~adelapena] , [~blerer] - anyone of you up for a review?
> 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
> As agreed on the [dev mailing
> list|https://lists.apache.org/thread/8ok01odwx79crxw45cnfh0n1j4nsf9cp] we
> will replace eclipse-warnings in trunk with CheckerFramework equivalent one
> but better.
> So as part of this ticket we are removing ant eclipse-warnings task and
> upgrading ecj for 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]