ASM is an all purpose Java bytecode manipulation and analysis framework.
It can be used to modify existing classes or dynamically generate
classes, directly in binary form. Provided common transformations and
analysis algorithms allow to easily assemble custom complex
transformations and code analysis tools.
ok aja@
The GNU Java getopt classes support short and long argument parsing in a
manner 100% compatible with the version of GNU getopt with a mostly
compatible programmer's interface as well. Note that this is a port, not
a new implementation.
ok aja@
JNA provides Java programs easy access to native shared libraries
without writing anything but Java code -- no JNI or native code is
required. This functionality is comparable to Windows' Platform/Invoke
and Python's ctypes. Access is dynamic at runtime without code
generation.
JNA allows you to call directly into native functions using natural Java
method invocation. The Java call looks just like it does in native code.
Most calls require no special handling or configuration; no boilerplate
or generated code is required.
ok aja@
breaking cd /usr/ports && SUBDIR=some/path make something for
category makefiles. While there, also put spaces around += uniformously.
okay naddy@, jasper@
constant and familiar method for launching java applications on
OpenBSD. The use of JAVACMD, JAVA_HOME and PATH environment variables are
well known methods for users to control which JVM is used to launch a
java application. When a user sets up his environment javaPathHelp will
use it. No attempt is made to prevent the user from running an
application that requires a particular JVM version with a lower version.
When the user's environment has not be setup, javaPathHelper falls back
to inspecting which JDK or JVM satisfied the RUN_DEPENDS for the
package.
okay ian@