From 19e360a4eb1558b4647c99efdda4bfbcab441c44 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Thu, 13 Jul 2023 11:44:28 +0100 Subject: [PATCH] Add full JRE package list (#186) --- java/gazelle/private/java/java.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/java/gazelle/private/java/java.go b/java/gazelle/private/java/java.go index 18ac2c54..d71f61c4 100644 --- a/java/gazelle/private/java/java.go +++ b/java/gazelle/private/java/java.go @@ -23,19 +23,35 @@ func IsTestPath(dir string) bool { return strings.Contains(dir, "/test/") } +// This list was derived from a script along the lines of: +// for jmod in ${JAVA_HOME}; do unzip -l "${jmod}" 2>/dev/null; done | grep classes/ | awk '{print $4}' | sed -e 's#^classes/##' -e 's#\.class$##' | xargs -n1 dirname | sort | uniq | sed -e 's#/#.#g' var stdlibPrefixes = []types.PackageName{ - types.NewPackageName("com.sun.management"), - types.NewPackageName("com.sun.net.httpserver"), + types.NewPackageName("com.sun"), types.NewPackageName("java"), + types.NewPackageName("javax.accessibility"), types.NewPackageName("javax.annotation.processing"), types.NewPackageName("javax.annotation.security"), types.NewPackageName("javax.crypto"), + types.NewPackageName("javax.imageio"), + types.NewPackageName("javax.lang.model"), types.NewPackageName("javax.management"), types.NewPackageName("javax.naming"), types.NewPackageName("javax.net"), + types.NewPackageName("javax.print"), + types.NewPackageName("javax.rmi.ssl"), types.NewPackageName("javax.security"), + types.NewPackageName("javax.script"), + types.NewPackageName("javax.smartcardio"), + types.NewPackageName("javax.sound"), + types.NewPackageName("javax.sql"), + types.NewPackageName("javax.swing"), + types.NewPackageName("javax.tools"), + types.NewPackageName("javax.transaction.xa"), types.NewPackageName("javax.xml"), types.NewPackageName("jdk"), + types.NewPackageName("netscape.javascript"), + types.NewPackageName("org.ietf.jgss"), + types.NewPackageName("org.jcp.xml.dsig.internal"), types.NewPackageName("org.w3c.dom"), types.NewPackageName("org.xml.sax"), types.NewPackageName("sun"),