* doc/guix.texi (Java Packages): New subsection.
---
 doc/guix.texi | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index dcc1124..c1f80cb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10979,6 +10979,25 @@ are also prepended by @code{perl-}.  Such modules tend 
to have the word
 prefix.  For instance, @code{libwww-perl} becomes @code{perl-libwww}.
 
 
+@node Java Packages
+@subsection Java Packages
+
+Java programs standing for themselves are named as any other package,
+using the lowercase upstream name.
+
+To avoid confusion and naming clashes with other programming languages,
+it's desirable that the name of a package for a Java package is prefixed
+with @code{java-}.  If a project already contains the word
+@code{java}, we drop this; for instance, the package @code{dnsjava}
+is packaged under the name @code{java-dns}.
+
+For Java packages containing a single class or a small class hierarchy,
+we use the lowercase class name, replace all occurrences of @code{.} by
+dashes and prepend the prefix @code{java-}. So the class
+@code{apache.commons.cli} becomes package
+@code{java-apache-commons-cli}.
+
+
 @node Fonts
 @subsection Fonts
 
-- 
2.7.4


Reply via email to