[ 
https://issues.apache.org/jira/browse/SOLR-17503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18020032#comment-18020032
 ] 

Gus Heck commented on SOLR-17503:
---------------------------------

Here is a regex I think will find any javax references that are not strictly 
jetty deps:
{code:java}
javax\.(?!naming|xml|accessibility|annotation|crypto|imageio|lang|management|net|print|rmi|script|security|sound|sql|swing|tools|transactions)
{code}
Based on the packages I see here: that's (hopefully) a list of javax packages 
that are continuing as part of the J2SE distributions: 
[https://docs.oracle.com/en/java/javase/21/docs/api/allpackages-index.html]

The following hits are found in a clean checkout of main (some of these like 
forbidden apis are good and should be retained/expanded)
{code:java}
Targets
    Occurrences of 
'javax\.(?!naming|xml|accessibility|annotation|crypto|imageio|lang|management|net|print|rmi|script|security|sound|sql|swing|tools|transactions)'
 in Project
Found occurrences in Project  (76 usages found)
    solr-root  (58 usages found)
        solr  (32 usages found)
            core  (3 usages found)
                main  (2 usages found)
                    org.apache.solr.security  (1 usage found)
                        CertAuthPlugin.java  (1 usage found)
                            doAuthenticate(HttpServletRequest, 
HttpServletResponse, FilterChain)  (1 usage found)
                                105 (X509Certificate[]) 
request.getAttribute("javax.servlet.request.X509Certificate");
                    org.apache.solr.servlet  (1 usage found)
                        SolrDispatchFilter.java  (1 usage found)
                            authenticateRequest(HttpServletRequest, 
HttpServletResponse, AtomicReference<HttpServletRequest>)  (1 usage found)
                                328 // wrapped instance of javax.servlet.Filter 
and neither of those seem to be doing anything
                test  (1 usage found)
                    org.apache.solr  (1 usage found)
                        ConvertedLegacyTest.java  (1 usage found)
                            testABunchOfConvertedStuff()  (1 usage found)
                                800 1) 673820 [2005-08-29 15:11:38.375]  at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:154) 673821 [2005-08-29 
15:11:38.375]  at javax.se
            modules  (14 usages found)
                analysis-extras  (1 usage found)
                    solr/modules/analysis-extras  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            70 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                clustering  (1 usage found)
                    solr/modules/clustering  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            69 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                cross-dc  (1 usage found)
                    solr/modules/cross-dc  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            70 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                extraction  (2 usages found)
                    solr/modules/extraction  (2 usages found)
                        gradle.lockfile  (2 usages found)
                            100 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                            101 
javax.measure:unit-api:1.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
                gcs-repository  (1 usage found)
                    solr/modules/gcs-repository  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            123 
javax.inject:javax.inject:1=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
                jwt-auth  (1 usage found)
                    solr/modules/jwt-auth  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            83 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                langid  (1 usage found)
                    solr/modules/langid  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            70 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                llm  (1 usage found)
                    solr/modules/llm  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            85 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                ltr  (1 usage found)
                    solr/modules/ltr  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            69 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                opentelemetry  (1 usage found)
                    solr/modules/opentelemetry  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            106 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                s3-repository  (1 usage found)
                    solr/modules/s3-repository  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            93 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                scripting  (1 usage found)
                    solr/modules/scripting  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            69 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                sql  (1 usage found)
                    solr/modules/sql  (1 usage found)
                        gradle.lockfile  (1 usage found)
                            76 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            api  (3 usages found)
                solr/api  (3 usages found)
                    gradle.lockfile  (3 usages found)
                        96 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                        97 javax.servlet:javax.servlet-api:3.1.0=swaggerDeps
                        98 javax.ws.rs:javax.ws.rs-api:2.1=swaggerDeps
            benchmark  (1 usage found)
                solr/benchmark  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        69 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            core  (2 usages found)
                solr/core  (2 usages found)
                    gradle.lockfile  (2 usages found)
                        80 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
                        81 
javax.servlet:javax.servlet-api:3.1.0=permitUnusedDeclared
            cross-dc-manager  (1 usage found)
                solr/cross-dc-manager  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        87 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            prometheus-exporter  (1 usage found)
                solr/prometheus-exporter  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        72 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            server  (1 usage found)
                solr/server  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        67 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            solr-ref-guide  (1 usage found)
                solr/solr-ref-guide  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        68 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            solrj  (1 usage found)
                solr/solrj  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        78 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            solrj-streaming  (1 usage found)
                solr/solrj-streaming  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        78 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            solrj-zookeeper  (1 usage found)
                solr/solrj-zookeeper  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        82 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            test-framework  (1 usage found)
                solr/test-framework  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        69 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
            webapp  (1 usage found)
                solr/webapp  (1 usage found)
                    gradle.lockfile  (1 usage found)
                        67 
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
        solr  (26 usages found)
            solr/licenses  (26 usages found)
                kafka-LICENSE-ASL.txt  (3 usages found)
                    311 javax.activation-api-1.2.0
                    313 javax.servlet-api-3.1.0
                    314 javax.ws.rs-api-2.1.1
                kafka-NOTICE.txt  (5 usages found)
                    383 javax.inject Version: 1
                    466  * org.eclipse.jetty.orbit:javax.mail.glassfish
                    475  * javax.servlet:javax.servlet-api
                    477  * javax.transaction:javax.transaction-api
                    478  * javax.websocket:javax.websocket-api
                kafka_2.13-LICENSE-ASL.txt  (3 usages found)
                    311 javax.activation-api-1.2.0
                    313 javax.servlet-api-3.1.0
                    314 javax.ws.rs-api-2.1.1
                kafka_2.13-NOTICE.txt  (5 usages found)
                    383 javax.inject Version: 1
                    466  * org.eclipse.jetty.orbit:javax.mail.glassfish
                    475  * javax.servlet:javax.servlet-api
                    477  * javax.transaction:javax.transaction-api
                    478  * javax.websocket:javax.websocket-api
                lucene-NOTICE.txt  (1 usage found)
                    113 Servlet-api.jar and javax.servlet-*.jar are under the 
CDDL license, the original
                lz4-java-LICENSE-ASL.txt  (3 usages found)
                    311 javax.activation-api-1.2.0
                    313 javax.servlet-api-3.1.0
                    314 javax.ws.rs-api-2.1.1
                profiler-LICENSE-ASL.txt  (3 usages found)
                    311 javax.activation-api-1.2.0
                    313 javax.servlet-api-3.1.0
                    314 javax.ws.rs-api-2.1.1
                scala-LICENSE-ASL.txt  (3 usages found)
                    311 javax.activation-api-1.2.0
                    313 javax.servlet-api-3.1.0
                    314 javax.ws.rs-api-2.1.1
    solr-root  (18 usages found)
          (1 usage found)
            NOTICE.txt  (1 usage found)
                254 Servlet-api.jar and javax.servlet-*.jar are under the CDDL 
license, the original
        dev-tools/scripts  (2 usages found)
            smokeTestRelease.py  (2 usages found)
                201 print('    verify JAR metadata/identity/no javax.* or 
java.* classes...')
                216 print('      **WARNING**: skipping check of %s/%s: it has 
javax.* classes' % (root, file))
        gradle/documentation/render-javadoc/java17  (2 usages found)
            package-list  (2 usages found)
                155 javax.smartcardio
                164 javax.transaction.xa
        gradle/documentation/render-javadoc/java21  (2 usages found)
            package-list  (2 usages found)
                158 javax.smartcardio
                167 javax.transaction.xa
        gradle/validation  (1 usage found)
            validate-source-patterns.gradle  (1 usage found)
                22 import javax.inject.Inject;
        gradle/validation/forbidden-apis  (10 usages found)
            javax.servlet.javax.servlet-api.solr.txt  (10 usages found)
                18 javax.servlet.ServletRequest#getParameter(**) 
                19 javax.servlet.ServletRequest#getParameterMap(**) 
                20 javax.servlet.ServletRequest#getParameterNames(**) 
                21 javax.servlet.ServletRequest#getParameterValues(**) 
                23 javax.servlet.http.HttpServletRequest#getSession() @ Servlet 
API getter has side effect of creating sessions
                27 javax.servlet.ServletRequest#getReader()
                28 javax.servlet.ServletResponse#getWriter()
                29 javax.servlet.ServletInputStream#readLine(**) 
                30 javax.servlet.ServletOutputStream#print(**)
                31 javax.servlet.ServletOutputStream#println(**)
{code}

> Umbrella: Move to Jakarta J2EE packages
> ---------------------------------------
>
>                 Key: SOLR-17503
>                 URL: https://issues.apache.org/jira/browse/SOLR-17503
>             Project: Solr
>          Issue Type: Improvement
>    Affects Versions: main (10.0)
>            Reporter: Gus Heck
>            Priority: Blocker
>             Fix For: main (10.0)
>
>
> In a recent migration from 8x to 9x I encountered a lot of issues where a 
> client with a repository containing custom solr components and fixes was 
> *still* unable to migrate to latest versions of critical packages like 
> dropwizard and hibernate validator because those packages rely on jakarta 
> packages, and even if it might be possible to re-arrange the decade plus old 
> repository and builds to avoid conflict the work to do so is prohibitive.
> Solr needs to not be the stick in the mud holding folks back. This ticket is 
> to collect/track tickets relating our dependency on the legacy javax classes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to