# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ # # Original Author: Andreas Eckstein # Purpose: Install netbeans cluster files for portage-netbeans-integration # Last Edited on 07.02.2010 inherit eutils ECLASS="java-netbeans-library" INHERITED="$INHERITED $ECLASS" EXPORT_FUNCTIONS DEPEND="" RDEPEND="|| ( virtual/jre virtual/jdk )" DESCRIPTION="Based on the ${ECLASS} eclass" IUSE="${IUSE} netbeans-library" portage_cluster="/usr/share/netbeans-portage-cluster" package_env="/usr/share/$PN/package.env" module_name="org-gentoo-$PN`if [[ ! $SLOT -eq 0 ]]; then echo "_$SLOT"; fi`" jar_name="${module_name}.jar" display_name="$PN (portage`if [[ ! $SLOT -eq 0 ]]; then echo ", slot $SLOT"; fi`)" #writes out xml descriptor elements from a colon separated resource list write_lib_elements() { local list="$1" oldIFS="$IFS" IFS=":" for elem in $list; do test -z "$elem" && continue if [[ -d "$elem" ]]; then echo "file:${elem}!/" else echo "jar:file:${elem}!/" fi done IFS="$oldIFS" } write_library_declaration() { echo " ${display_name} j2se classpath `write_lib_elements $CLASSPATH` src `if use source; then write_lib_elements $JAVA_SOURCES fi` javadoc `if use doc; then write_lib_elements $JAVADOC_PATH fi` maven-pom " > "${module_name//-//}/$PN.xml" } write_module_status() { echo " false false true modules/${jar_name} 1 false $PV " > "$WORKDIR/module/$module_name.xml" } write_bundle() { echo "OpenIDE-Module-Name=${module_name//-/.} " > "${module_name//-//}/Bundle.properties" } write_manifest() { echo "Manifest-Version: 1.0 Created-By: java-netbeans.eclass OpenIDE-Module-Public-Packages: - OpenIDE-Module-Java-Dependencies: Java > 1.5 AutoUpdate-Show-In-Client: true OpenIDE-Module: ${module_name//-/.} OpenIDE-Module-Localizing-Bundle: ${module_name//-//}/Bundle.properties OpenIDE-Module-Specification-Version: $PV OpenIDE-Module-Layer: ${module_name//-//}/layer.xml OpenIDE-Module-Requires: org.openide.modules.ModuleFormat1 " > META-INF/MANIFEST.MF } write_layer() { echo " " > "${module_name//-//}/layer.xml" } java-netbeans_create_module() { if ! use netbeans-library; then return 0 fi #setting up directory structure for netbeans module jar mkdir "$WORKDIR/module/jar/${module_name//-//}" -p cd "$WORKDIR/module/jar/" mkdir META-INF #extracting classpath, source and javadoc info from package.env file #source "$package_env" || die "could not source $package_env" #we cannot just source package.env because of read-only variable collision test -f "$package_env" || die "could not find $package_env" export `grep '^CLASSPATH=' $package_env | sed 's/"//g'` use source && export `grep '^JAVA_SOURCES=' $package_env | sed 's/"//g'` use doc && export `grep '^JAVADOC_PATH=' $package_env | sed 's/"//g'` write_module_status write_layer write_bundle write_manifest write_library_declaration zip -r module org META-INF insinto "$portage_cluster/modules" newins module.zip "$jar_name" cd "$WORKDIR/module" insinto "$portage_cluster/config/Modules" doins $module_name.xml }