Files
guru/dev-java/jdtls-bin/jdtls-bin-1.49.0_p202507030451.ebuild
Nguyen Dinh Dang Duong 401ceb3664 dev-java/jdtls-bin: minor fixes
MissingRemoteId: missing <remote-id type="github">eclipse/eclipse.jdt.ls</remote-id> (inferred from URI 'https://github.com/eclipse/eclipse.jdt.ls')
TrailingEmptyLine: version 1.49.0_p202507030451: ebuild has trailing blank line(s)
UnknownLicense: version 1.49.0_p202507030451: unknown license: EPL
VariableOrderWrong: version 1.49.0_p202507030451: variable HOMEPAGE should occur before SRC_URI
VariableOrderWrong: version 1.49.0_p202507030451: variable S should occur before KEYWORDS

Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205@gmail.com>
2025-07-08 00:36:58 +07:00

53 lines
1.4 KiB
Bash

# Copyright 2023 Gabriel Sanches
# Distributed under the terms of the Zero-Clause BSD License
EAPI=8
inherit java-pkg-2
MY_PV=${PV/_p/-}
MY_PN=${PN%%-bin}
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Java language server"
HOMEPAGE="https://github.com/eclipse/eclipse.jdt.ls"
SRC_URI="https://download.eclipse.org/jdtls/snapshots/jdt-language-server-${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}"
LICENSE="EPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
DEPEND=">=virtual/jre-1.8:*"
RDEPEND="${DEPEND}"
JDTLS_LIBEXEC="/usr/libexec/${MY_PN}"
JDTLS_SHARE="/usr/share/${MY_PN}"
JDTLS_WRAPPER="${FILESDIR}/wrapper"
src_install() {
dodir "${JDTLS_LIBEXEC}/bin"
dodir "${JDTLS_SHARE}"
cp -Rp plugins features "${ED}/${JDTLS_LIBEXEC}" || die "failed to copy"
cp -Rp bin/${MY_PN} "${ED}/${JDTLS_LIBEXEC}/bin" || die "failed to copy"
cp -Rp config_linux "${ED}/${JDTLS_SHARE}" || die "failed to copy"
sed ${JDTLS_WRAPPER} -e "s;@PKGNAME@;${MY_PN};g" > wrapper
dodir /usr/bin
newbin wrapper ${MY_PN}
}
pkg_postinst() {
elog "If the JDT Language Server fails to start (e.g. ClassNotFoundException),"
elog "you may be running into stale Eclipse OSGi cache issues."
elog
elog "To fix this, remove the following directories:"
elog " rm -rf \"\${XDG_DATA_HOME}/jdtls\" or rm -rf \"~/.local/share/jdtls\""
elog " rm -rf \"\${XDG_STATE_HOME}/jdtls\" or rm -rf \"~/.local/state/jdtls\""
elog
elog "They will be recreated cleanly on the next launch."
}