chewi 15/06/15 21:09:06 Modified: ChangeLog java-utils-2.eclass Log: Add java-pkg_addres function for adding resource files to an existing jar.
Revision Changes Path 1.1665 eclass/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1665&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1665&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1664&r2=1.1665 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v retrieving revision 1.1664 retrieving revision 1.1665 diff -u -r1.1664 -r1.1665 --- ChangeLog 15 Jun 2015 19:09:28 -0000 1.1664 +++ ChangeLog 15 Jun 2015 21:09:06 -0000 1.1665 @@ -1,6 +1,9 @@ # ChangeLog for eclass directory # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1664 2015/06/15 19:09:28 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1665 2015/06/15 21:09:06 chewi Exp $ + + 15 Jun 2015; James Le Cuirot <[email protected]> java-utils-2.eclass: + Add java-pkg_addres function for adding resource files to an existing jar. 15 Jun 2015; Justin Lecher <[email protected]> intel-sdp.eclass: Don't install uninstall informations, bug 551638; make use of path_exists() 1.163 eclass/java-utils-2.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/java-utils-2.eclass?rev=1.163&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/java-utils-2.eclass?rev=1.163&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/java-utils-2.eclass?r1=1.162&r2=1.163 Index: java-utils-2.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v retrieving revision 1.162 retrieving revision 1.163 diff -u -r1.162 -r1.163 --- java-utils-2.eclass 24 May 2015 22:44:37 -0000 1.162 +++ java-utils-2.eclass 15 Jun 2015 21:09:06 -0000 1.163 @@ -6,7 +6,7 @@ # # Licensed under the GNU General Public License, v2 # -# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v 1.162 2015/05/24 22:44:37 chewi Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v 1.163 2015/06/15 21:09:06 chewi Exp $ # @ECLASS: java-utils-2.eclass # @MAINTAINER: @@ -217,6 +217,37 @@ dosym "${dest}" "${JAVA_PKG_SHAREPATH}/examples" || die } +# @FUNCTION: java-pkg_addres +# @USAGE: <jar> <dir> [<find arguments> ...] +# @DESCRIPTION: +# Adds resource files to an existing jar. +# It is important that the directory given is actually the root of the +# corresponding resource tree. The target directory as well as +# sources.lst, MANIFEST.MF, *.class, *.jar, and *.java files are +# automatically excluded. Symlinks are always followed. Additional +# arguments are passed through to find. +# +# @CODE +# java-pkg_addres ${PN}.jar resources ! -name "*.html" +# @CODE +# +# @param $1 - jar file +# @param $2 - resource tree directory +# @param $* - arguments to pass to find +java-pkg_addres() { + debug-print-function ${FUNCNAME} $* + + [[ ${#} -lt 2 ]] && die "at least two arguments needed" + + local jar=$(realpath "$1" || die "realpath $1 failed") + local dir="$2" + shift 2 + + pushd "${dir}" > /dev/null || die "pushd ${dir} failed" + find -L -type f ! -path "./target/*" ! -path "./sources.lst" ! -name "MANIFEST.MF" ! -regex ".*\.\(class\|jar\|java\)" "${@}" -print0 | xargs -0 jar uf "${jar}" || die "jar failed" + popd > /dev/null || die "popd failed" +} + # @FUNCTION: java-pkg_dojar # @USAGE: <jar1> [<jar2> ...] # @DESCRIPTION:
