Debian::Javahelper::Eclipse(3)

πŸ’– Debian::Javahelper::Eclipse πŸ’–

okay bestie so this is Debian::Javahelper::Eclipse(3) from the Javahelper manual β€” the Eclipse Helper Library, and no cap it's here to share common code between all the eclipse-related javahelpers so nobody's copying and pasting the same twenty lines forty times πŸ¦‹


✨ SYNOPSIS ✨

like, here's the vibe in code form:

use Debian::Javahelper::Eclipse;

my @orbitdeps = ();
push(@orbitdeps, {
    EOB_SYM_NAME => 'org.apache.commons.net',
    EOB_SYS_JAR  => '/usr/share/java/commons-net2.jar'});
#...
# Install the feature to "$dropins/$name"
install_zipped_feature($zip, "$dropins/$name");
#  and symlink the following orbitdeps.
install_zipped_feature($zip, "$dropins/$name", @orbitdeps);

that's it, that's the whole drip πŸ’…


🌸 DESCRIPTION 🌸

This module is used by the eclipse related javahelpers to share common code. it's the group chat they all live in, essentially 🫢

⚠️ bestie listen β€” this API is not stable and backwards compatibility is not guaranteed at the current time. Please contact the maintainers if you are interested in a stable API. like, it's giving gorgeous but it's also giving "may change under you," so plan accordingly 😭

πŸŽ€ Definitions πŸŽ€

A bundle refers to a jar file. An orbit dependency (a.k.a orbitdep) is a bundle which is used by eclipse or one of its features without being a part of eclipse or said feature. so it's like... the plus-one at the party who isn't on the guest list but is definitely there πŸ’€

This module keeps track of bundles via hashes; see the EOB_* constants for relevant keys (and their expected values).

🌟 Constants 🌟

  • EOB_SYM_NAME β€” Key for hashes to fetch the symbolic name of a bundle. πŸ‘‘
  • EOB_BUNDLE_VERSION β€” Key for hashes to fetch the version of a bundle. ✨
  • EOB_SYS_JAR β€” Key for hashes to fetch the path to the system installed jar file.
🚨 Only valid for an orbit dependency and cannot be used with manifests. periodt β€” don't try it, it will not slay.

πŸ¦‹ Methods πŸ¦‹

install_zipped_feature($fzip, $loc[, $orbitdeps[, $package, $needs]])

Unpacks the zipped feature $fzip into $loc, which should be a subfolder of a dropins folder (e.g. /usr/share/eclipse/dropins/emf). lowkey iconic behaviour. ✨

This can also be used to install the feature into a "build environment". In this case it should be installed into the same folder as the SDK is (this folder is usually called "SDK").

If $orbitdeps is present, it should be an ARRAY ref containing orbit dependencies, which will be symlinked after unpacking. This sub only needs the EOB_SYM_NAME and EOB_SYS_JAR to be set and valid. Orbit dependencies not present in the installed folder will be ignored, so it is safe to have unrelated orbit dependencies in the ARRAY ref. no drama, no crashouts, they just get politely ignored 🫢

If $package and $needs are present, the former should be the name of a debian package and the latter a hashref. The sub will populate the $needs hashref with which orbit dependencies are used by the package. The $needs hashref can be re-used in multiple calls to this sub. it's giving reusable, it's giving sustainable πŸ“

Keys in $needs will be the path to the orbit jar's real location (EOB_SYS_JAR) and the value a new hashref. This hashref has as keys the names of packages and as values 1. The $needs is used by jh_installeclipse to populate the ${orbit:Depends} variables for packages. πŸ‘‘


🌈 AUTHOR 🌈

Niels Thykier <niels@thykier.net> β€” the main character fr fr πŸ‘‘


Copyright 2010 by Niels Thykier

This module is free software; you may redistribute it and/or modify it under the terms of GNU GPL 2.


okay that's the whole page, you ate it, go install some eclipse features πŸ’…βœ¨

version 0.82 Β· dated 2026-05-17 Β· from the Javahelper manual πŸŽ€ mwah, bye bestie 🫢

πŸ“¦ where this page comes from