]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-java-requires
add java_min_classdataversion support
[packages/rpm.git] / rpm-java-requires
old mode 100644 (file)
new mode 100755 (executable)
index ceb480c..8bbac6f
@@ -7,12 +7,32 @@
 
 export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
 
+# Set the prefix, unless it is overriden
+: ${RPM_LIBDIR=/usr/lib/rpm}
+
 # Enable debug: JAVADEPS_DEBUG=true
 : ${JAVADEPS_DEBUG=false}
 
+# xsltproc for eclipse feature.xml
+: ${xsltproc=/usr/bin/xsltproc}
+
+# "%define java_min_classdataversion 51.0" in spec to minimum version to be 51.0
+: ${MIN_CLASSDATAVERSION=}
+
 # save $- state, to enable in functions
 debug=$-
 
+javaclassversionfilter() {
+       if [ "$MIN_CLASSDATAVERSION" ]; then
+               set -- $* "$MIN_CLASSDATAVERSION"
+       fi
+
+       local v
+       for v in $*; do
+               echo "java(ClassDataVersion) >= $v"
+       done | sort -V | tail -n 1
+}
+
 javaclassversion() {
        set -$debug
        local mode=$1; shift
@@ -27,10 +47,7 @@ javaclassversion() {
                return 1
        fi
 
-       local v
-       for v in $classver; do
-               echo "java(ClassDataVersion) >= $v"
-       done
+       javaclassversionfilter $classver
        return 0
 }
 
@@ -55,6 +72,21 @@ javajarversion() {
        return $ret
 }
 
+eclipse_feature() {
+       set -$debug
+       local mode=$1; shift
+       local file=$1
+       local ret=0
+
+       $JAVADEPS_DEBUG && echo >&2 ">> eclipse_feature($mode): $file"
+
+       if [ ! -x $xsltproc ]; then
+               return 0
+       fi
+
+       $xsltproc --stringparam mode $mode ${RPM_LIBDIR}/eclipse-feature.xslt $file
+}
+
 find_javadeps() {
        set -$debug
        local mode=$1; shift
@@ -72,6 +104,9 @@ find_javadeps() {
                                ret=1
                        }
                ;;
+               */feature.xml)
+                       eclipse_feature $mode "$file" || ret=1
+               ;;
                *)
                        $JAVADEPS_DEBUG && echo >&2 ">> find_javadeps($mode): no handle: $file"
                ;;
This page took 0.031525 seconds and 4 git commands to generate.