NAME¶
Debian::Javahelper::Eclipse - Eclipse Helper Library.
SYNOPSIS¶
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);
DESCRIPTION¶
This module is used by the eclipse related javahelpers to share common code.
Please note 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.
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.
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.
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). 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.
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.
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>
COPYRIGHT AND LICENSE¶
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.