This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag 0.55
in repository libinline-java-perl.

commit 8aa9849fe81c319957481eb48ab44c077d3e47ee
Author: Patrick LeBoutillier <p...@cpan.org>
Date:   Fri Jun 1 13:57:41 2001 +0000

    Adapted 0.40
    Added set_classpath at compile time because extending classes requires
    it
    Removed error_copy
---
 Java.pm | 210 +++++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 122 insertions(+), 88 deletions(-)

diff --git a/Java.pm b/Java.pm
index 4e5a3a8..c4b65b0 100644
--- a/Java.pm
+++ b/Java.pm
@@ -7,7 +7,7 @@ package Inline::Java ;
 
 use strict ;
 
-$Inline::Java::VERSION = '0.21' ;
+$Inline::Java::VERSION = '0.22' ;
 
 
 # DEBUG is set via the DEBUG config
@@ -69,15 +69,17 @@ my $COMMAND_COM =
 sub done {
        my $signal = shift ;
 
+       # To preserve the passed exit code...
+       # Thanks Maria
+       my $ec = $? ;
+
        $DONE = 1 ;
 
-       my $ec = 0 ;
        if (! $signal){
                Inline::Java::debug("killed by natural death.") ;
        }
        else{
                Inline::Java::debug("killed by signal SIG$signal.") ;
-               $ec = 1 ;
        }
 
        if ($JVM){
@@ -150,38 +152,38 @@ sub _validate {
                croak "Inline::Java does not currently support multiple Inline 
sections" ;
        }
 
-       if (! exists($o->{Java}->{PORT})){
-               $o->{Java}->{PORT} = 7890 ;
+       if (! exists($o->{ILSM}->{PORT})){
+               $o->{ILSM}->{PORT} = 7890 ;
        }
-       if (! exists($o->{Java}->{STARTUP_DELAY})){
-               $o->{Java}->{STARTUP_DELAY} = 15 ;
+       if (! exists($o->{ILSM}->{STARTUP_DELAY})){
+               $o->{ILSM}->{STARTUP_DELAY} = 15 ;
        }
-       if (! exists($o->{Java}->{DEBUG})){
-               $o->{Java}->{DEBUG} = 0 ;
+       if (! exists($o->{ILSM}->{DEBUG})){
+               $o->{ILSM}->{DEBUG} = 0 ;
        }
-       if (! exists($o->{Java}->{JNI})){
-               $o->{Java}->{JNI} = 0 ;
+       if (! exists($o->{ILSM}->{JNI})){
+               $o->{ILSM}->{JNI} = 0 ;
        }
-       if (! exists($o->{Java}->{CLASSPATH})){
-               $o->{Java}->{CLASSPATH} = '' ;
+       if (! exists($o->{ILSM}->{CLASSPATH})){
+               $o->{ILSM}->{CLASSPATH} = '' ;
        }
-       if (! exists($o->{Java}->{WARN_METHOD_SELECT})){
-               $o->{Java}->{WARN_METHOD_SELECT} = '' ;
+       if (! exists($o->{ILSM}->{WARN_METHOD_SELECT})){
+               $o->{ILSM}->{WARN_METHOD_SELECT} = '' ;
        }
-       if (! exists($o->{Java}->{AUTOSTUDY})){
-               $o->{Java}->{AUTOSTUDY} = 0 ;
+       if (! exists($o->{ILSM}->{AUTOSTUDY})){
+               $o->{ILSM}->{AUTOSTUDY} = 0 ;
        }
 
        while (@_) {
                my ($key, $value) = (shift, shift) ;
                if ($key eq 'BIN'){
-                   $o->{Java}->{$key} = $value ;
+                   $o->{ILSM}->{$key} = $value ;
                }
                elsif ($key eq 'CLASSPATH'){
-                   $o->{Java}->{$key} = $value ;
+                   $o->{ILSM}->{$key} = $value ;
                }
                elsif ($key eq 'WARN_METHOD_SELECT'){
-                   $o->{Java}->{$key} = $value ;
+                   $o->{ILSM}->{$key} = $value ;
                }
                elsif (
                        ($key eq 'PORT')||
@@ -193,20 +195,20 @@ sub _validate {
                        if (! $value){
                                croak "config '$key' can't be zero" ;
                        }
-                       $o->{Java}->{$key} = $value ;
+                       $o->{ILSM}->{$key} = $value ;
                }
                elsif ($key eq 'DEBUG'){
-                       $o->{Java}->{$key} = $value ;
+                       $o->{ILSM}->{$key} = $value ;
                        $Inline::Java::DEBUG = $value ;
                }
                elsif ($key eq 'JNI'){
-                       $o->{Java}->{$key} = $value ;
+                       $o->{ILSM}->{$key} = $value ;
                }
                elsif ($key eq 'AUTOSTUDY'){
-                       $o->{Java}->{$key} = $value ;
+                       $o->{ILSM}->{$key} = $value ;
                }
                elsif ($key eq 'STUDY'){
-                       $o->{Java}->{$key} = $o->check_config_array(
+                       $o->{ILSM}->{$key} = $o->check_config_array(
                                $key, $value,
                                "Java class names") ;
                }
@@ -218,7 +220,7 @@ sub _validate {
        }
 
        if (defined($ENV{PERL_INLINE_JAVA_JNI})){
-               $o->{Java}->{JNI} = $ENV{PERL_INLINE_JAVA_JNI} ;
+               $o->{ILSM}->{JNI} = $ENV{PERL_INLINE_JAVA_JNI} ;
        }
 
        $o->set_java_bin() ;
@@ -248,12 +250,43 @@ sub check_config_array {
 }
 
 
+sub get_java_config {
+       my $o = shift ;
+       my $param = shift ;
+
+       return $o->{ILSM}->{$param} ;
+}
+
+
+# In theory we shouldn't need to use this, but it seems
+# it's not all accessible by the API yet.
+sub get_config {
+       my $o = shift ;
+       my $param = shift ;
+
+       if (defined($param)){
+               return $o->{CONFIG}->{$param} ;
+       }
+       else{
+               return %{$o->{CONFIG}} ;
+       }
+}
+
+
+sub get_api {
+       my $o = shift ;
+       my $param = shift ;
+
+       return $o->{API}->{$param} ;
+}
+
+
 sub set_java_bin {
        my $o = shift ;
 
        my $sep = portable("PATH_SEP_RE") ;
 
-       my $cjb = $o->{Java}->{BIN} ;
+       my $cjb = $o->{ILSM}->{BIN} ;
        my $ejb = $ENV{PERL_INLINE_JAVA_BIN} ;
        if ($cjb){
                $cjb =~ s/$sep+$// ;
@@ -261,7 +294,7 @@ sub set_java_bin {
        }
        elsif ($ejb) {
                $ejb =~ s/$sep+$// ;
-               $o->{Java}->{BIN} = $ejb ;
+               $o->{ILSM}->{BIN} = $ejb ;
                return $o->find_java_bin([$ejb]) ;
        }
 
@@ -279,7 +312,7 @@ sub find_java_bin {
 
        my $path = $o->find_file_in_path([$java, $javac], $paths) ;
        if (defined($path)){
-               $o->{Java}->{BIN} = $path ;
+               $o->{ILSM}->{BIN} = $path ;
        }
        else{
                croak
@@ -345,17 +378,17 @@ sub find_file_in_path {
 sub build {
        my $o = shift ;
 
-       if ($o->{Java}->{built}){
+       if ($o->{ILSM}->{built}){
                return ;
        }
 
-       my $code = $o->{code} ;
+       my $code = $o->get_api('code') ;
        my $study_only = ($code eq 'STUDY') ;
 
-       $o->write_java($study_only) ;
+       $o->write_java($study_only, $code) ;
        $o->compile($study_only) ;
 
-       $o->{Java}->{built} = 1 ;
+       $o->{ILSM}->{built} = 1 ;
 }
 
 
@@ -363,12 +396,12 @@ sub build {
 sub write_java {
        my $o = shift ;
        my $study_only = shift ;
+       my $code = shift ;
 
-       my $build_dir = $o->{build_dir} ;
-       my $modfname = $o->{modfname} ;
-       my $code = $o->{code} ;
+       my $build_dir = $o->get_api('build_dir') ;
+       my $modfname = $o->get_api('modfname') ;
 
-       $o->mkpath($o->{build_dir}) ;
+       $o->mkpath($build_dir) ;
 
        if (! $study_only){
                open(JAVA, ">$build_dir/$modfname.java") or
@@ -391,23 +424,25 @@ sub compile {
        my $o = shift ;
        my $study_only = shift ;
 
-       my $build_dir = $o->{build_dir} ;
-       my $modpname = $o->{modpname} ;
-       my $modfname = $o->{modfname} ;
-       my $suffix = $o->{ILSM_suffix} ;
-       my $install_lib = $o->{install_lib} ;
+       my $build_dir = $o->get_api('build_dir') ;
+       my $modpname = $o->get_api('modpname') ;
+       my $modfname = $o->get_api('modfname') ;
+       my $suffix = $o->get_api('suffix') ;
+       my $install_lib = $o->get_api('install_lib') ;
 
        my $install = "$install_lib/auto/$modpname" ;
+       my $pinstall = portable("RE_FILE", $install) ;
 
        $o->mkpath("$install") ;
+       $o->set_classpath($pinstall) ;
 
-       my $javac = $o->{Java}->{BIN} . "/javac" . portable("EXE_EXTENSION") ;
+       my $javac = $o->{ILSM}->{BIN} . "/javac" . portable("EXE_EXTENSION") ;
 
        my $predir = portable("IO_REDIR") ;
        my $pjavac = portable("RE_FILE", $javac) ;
 
        my $cwd = Cwd::cwd() ;
-       if ($o->{config}->{UNTAINT}){
+       if ($o->get_config('UNTAINT')){
                ($cwd) = $cwd =~ /(.*)/ ;
        }
 
@@ -447,14 +482,13 @@ sub compile {
                                }
                        }
                        else{
-                               if ($o->{config}->{UNTAINT}){
+                               if ($o->get_config('UNTAINT')){
                                        ($cmd) = $cmd =~ /(.*)/ ;
                                }
 
                                Inline::Java::debug("$cmd") ;
                                my $res = system($cmd) ;
                                $res and do {
-                                       $o->error_copy ;
                                        croak $o->compile_error_msg($cmd, $cwd) 
;
                                } ;
                        }
@@ -463,9 +497,8 @@ sub compile {
                }
        }
 
-       if ($o->{config}->{CLEAN_AFTER_BUILD} and
-               not $o->{config}->{REPORTBUG}){
-               $o->rmpath($o->{config}->{DIRECTORY} . 'build/', $modpname) ;
+       if ($o->get_api('cleanup')){
+               $o->rmpath('', $build_dir) ;
        }
 
        Inline::Java::debug("compile done.") ;
@@ -477,17 +510,18 @@ sub compile_error_msg {
        my $cmd = shift ;
        my $cwd = shift ;
 
-       my $build_dir = $o->{build_dir} ;
+       my $build_dir = $o->get_api('build_dir') ;
        my $error = '' ;
        if (open(CMD, "<cmd.out")){
                $error = join("", <CMD>) ;
                close(CMD) ;
        }
 
+       my $lang = $o->get_api('language') ;
        return <<MSG
 
 A problem was encountered while attempting to compile and install your Inline
-$o->{language} code. The command that failed was:
+$lang code. The command that failed was:
   $cmd
 
 The build directory was:
@@ -507,9 +541,9 @@ sub copy_classes {
        my $o = shift ;
        my $install = shift ;
 
-       my $build_dir = $o->{build_dir} ;
-       my $modpname = $o->{modpname} ;
-       my $install_lib = $o->{install_lib} ;
+       my $build_dir = $o->get_api('build_dir') ;
+       my $modpname = $o->get_api('modpname') ;
+       my $install_lib = $o->get_api('install_lib') ;
        my $pinstall = portable("RE_FILE", $install) ;
 
        my $src_dir = $build_dir ;
@@ -529,7 +563,7 @@ sub copy_classes {
        }
 
        foreach my $file (@flist){
-               if ($o->{config}->{UNTAINT}){
+               if ($o->get_config('UNTAINT')){
                        ($file) = $file =~ /(.*)/ ;
                }
                Inline::Java::debug("copy_classes: $file, $dest_dir/$file") ;
@@ -561,18 +595,18 @@ sub touch_file {
 sub load {
        my $o = shift ;
 
-       if ($o->{Java}->{loaded}){
+       if ($o->{ILSM}->{loaded}){
                return ;
        }
 
-       my $install_lib = $o->{install_lib} ;
-       my $modfname = $o->{modfname} ;
-       my $modpname = $o->{modpname} ;
+       my $install_lib = $o->get_api('install_lib') ;
+       my $modfname = $o->get_api('modfname') ;
+       my $modpname = $o->get_api('modpname') ;
        my $install = "$install_lib/auto/$modpname" ;
        my $pinstall = portable("RE_FILE", $install) ;
 
        # Make sure the default options are set.
-       $o->_validate(1, %{$o->{config}}) ;
+       $o->_validate(1, $o->get_config()) ;
 
        # If the JVM is not running, we need to start it here.
        if (! $JVM){
@@ -584,11 +618,11 @@ sub load {
        $INLINES->{$modfname} = $o ;
 
        $o->_study() ;
-       if ((defined($o->{Java}->{STUDY}))&&(scalar($o->{Java}->{STUDY}))){
-               $o->_study($o->{Java}->{STUDY}) ;
+       if ((defined($o->{ILSM}->{STUDY}))&&(scalar($o->{ILSM}->{STUDY}))){
+               $o->_study($o->{ILSM}->{STUDY}) ;
        }
 
-       $o->{Java}->{loaded} = 1 ;
+       $o->{ILSM}->{loaded} = 1 ;
 }
 
 
@@ -601,8 +635,8 @@ sub set_classpath {
        if (defined($ENV{CLASSPATH})){
                push @list, $ENV{CLASSPATH} ;
        }
-       if (defined($o->{Java}->{CLASSPATH})){
-               push @list, $o->{Java}->{CLASSPATH} ;
+       if (defined($o->{ILSM}->{CLASSPATH})){
+               push @list, $o->{ILSM}->{CLASSPATH} ;
        }
        if (defined($path)){
                push @list, $path ;
@@ -642,10 +676,10 @@ sub report {
        my $o = shift ;
        my $classes = shift ;
 
-       my $install_lib = $o->{install_lib} ;
-       my $modpname = $o->{modpname} ;
-       my $modfname = $o->{modfname} ;
-       my $suffix = $o->{ILSM_suffix} ;
+       my $install_lib = $o->get_api('install_lib') ;
+       my $modpname = $o->get_api('modpname') ;
+       my $modfname = $o->get_api('modfname') ;
+       my $suffix = $o->get_api('suffix') ;
        my $install = "$install_lib/auto/$modpname" ;
        my $pinstall = portable("RE_FILE", $install) ;
 
@@ -669,7 +703,7 @@ sub report {
        foreach my $class (@{$classes}){
                $class = Inline::Java::Class::ValidateClass($class) ;
 
-               if (! Inline::Java::known_to_perl($o->{pkg}, $class)){
+               if (! Inline::Java::known_to_perl($o->get_api('pkg'), $class)){
                        push @new_classes, $class ;
                }
        }
@@ -679,7 +713,7 @@ sub report {
        }
 
        my $resp = undef ;
-       if (($use_cache)&&(! $o->{Java}->{built})){
+       if (($use_cache)&&(! $o->{ILSM}->{built})){
                # Since we didn't build the module, this means that 
                # it was up to date. We can therefore use the data 
                # from the cache
@@ -701,7 +735,7 @@ sub report {
                $resp = $pc->Report(join(" ", @new_classes)) ;
        }
 
-       if (($use_cache)&&($o->{Java}->{built})){
+       if (($use_cache)&&($o->{ILSM}->{built})){
                # Update the cache.
                Inline::Java::debug("updating jdat cache") ;
                if (open(CACHE, ">$install/$modfname.$suffix")){
@@ -729,12 +763,12 @@ sub load_jdat {
 
        # We need an array here since the same object can have many 
        # load sessions.
-       if (! defined($o->{Java}->{data})){
-               $o->{Java}->{data} = [] ;
+       if (! defined($o->{ILSM}->{data})){
+               $o->{ILSM}->{data} = [] ;
        }
        my $d = {} ;
-       my $data_idx = scalar(@{$o->{Java}->{data}}) ;
-       push @{$o->{Java}->{data}}, $d ;
+       my $data_idx = scalar(@{$o->{ILSM}->{data}}) ;
+       push @{$o->{ILSM}->{data}}, $d ;
        
        my $re = '[\w.\$\[;]+' ;
 
@@ -745,7 +779,7 @@ sub load_jdat {
                if ($line =~ /^class ($re)$/){
                        # We found a class definition
                        my $java_class = $1 ;
-                       $current_class = Inline::Java::java2perl($o->{pkg}, 
$java_class) ;
+                       $current_class = 
Inline::Java::java2perl($o->get_api('pkg'), $java_class) ;
                        $d->{classes}->{$current_class} = {} ;
                        $d->{classes}->{$current_class}->{java_class} = 
$java_class ;
                        $d->{classes}->{$current_class}->{constructors} = {} ;
@@ -813,7 +847,7 @@ sub bind_jdat {
        my $d = shift ;
        my $idx = shift ;
 
-       my $modfname = $o->{modfname} ;
+       my $modfname = $o->get_api('modfname') ;
 
        if (! defined($d->{classes})){
                return ;
@@ -864,7 +898,7 @@ sub new {
        my \@args = \@_ ;
 
        my \$o = Inline::Java::get_INLINE('$modfname') ;
-       my \$d = \$o->{Java}->{data}->[$idx] ;
+       my \$d = \$o->{ILSM}->{data}->[$idx] ;
        my \$signatures = \$d->{classes}->{'$class'}->{constructors} ;
        my (\$proto, \$new_args, \$static) = 
\$class->__validate_prototype('new', [\@args], \$signatures, \$o) ;
 
@@ -909,7 +943,7 @@ sub bind_method {
        my $method = shift ;
        my $static = shift ;
 
-       my $modfname = $o->{modfname} ;
+       my $modfname = $o->get_api('modfname') ;
        
        my $code = <<CODE;
 
@@ -918,7 +952,7 @@ sub $method {
        my \@args = \@_ ;
 
        my \$o = Inline::Java::get_INLINE('$modfname') ;
-       my \$d = \$o->{Java}->{data}->[$idx] ;
+       my \$d = \$o->{ILSM}->{data}->[$idx] ;
        my \$signatures = \$d->{classes}->{'$class'}->{methods}->{'$method'} ;
        my (\$proto, \$new_args, \$static) = 
\$this->__validate_prototype('$method', [\@args], \$signatures, \$o) ;
 
@@ -946,7 +980,7 @@ sub get_fields {
        my $class = shift ;
 
        my $fields = {} ;
-       my $data_list = $o->{Java}->{data} ;
+       my $data_list = $o->{ILSM}->{data} ;
 
        foreach my $d (@{$data_list}){
                if (exists($d->{classes}->{$class})){
@@ -965,18 +999,18 @@ sub info {
        my $o = shift;
 
        # Make sure the default options are set.
-       $o->_validate(1, %{$o->{config}}) ;
+       $o->_validate(1, $o->get_config()) ;
 
-       if ((! $o->{mod_exists})&&(! $o->{Java}->{built})){
+       if ((! $o->get_api('mod_exists'))&&(! $o->{ILSM}->{built})){
                $o->build ;
        }
 
-       if (! $o->{Java}->{loaded}){
+       if (! $o->{ILSM}->{loaded}){
                $o->load ;
        }
 
        my $info = '' ;
-       my $data_list = $o->{Java}->{data} ;
+       my $data_list = $o->{ILSM}->{data} ;
 
        foreach my $d (@{$data_list}){
                if (! defined($d->{classes})){
@@ -1143,7 +1177,7 @@ sub portable {
                        IO_REDIR                        =>  ($COMMAND_COM ? '' 
: undef),
                        GOT_ALARM                       =>  0,
                        COMMAND_COM                     =>      $COMMAND_COM,
-               }
+               },
        } ;
 
        if (! defined($defmap->{$key})){
@@ -1155,7 +1189,7 @@ sub portable {
                        if (defined($val)){
                                my $f = $map->{$^O}->{$key}->[0] ;
                                my $t = $map->{$^O}->{$key}->[1] ;
-                               $val =~ s/$f/$t/eg ;
+                               $val =~ s/$f/$t/g ;
                                Inline::Java::debug("portable: $key => $val for 
$^O is '$val'") ;
                                return $val ;
                        }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libinline-java-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to