[libinline-java-perl] 54/398: *** empty log message ***

Jonas Smedegaard dr at jones.dk
Thu Feb 26 11:42:45 UTC 2015


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 61a54d9f057914267a28df2ce274220823de5c1b
Author: patrick <>
Date:   Wed Apr 4 20:15:26 2001 +0000

    *** empty log message ***
---
 Java.pm  | 102 +++++++++++++++++++++++++++------------------------------------
 MANIFEST |   6 ++++
 2 files changed, 49 insertions(+), 59 deletions(-)

diff --git a/Java.pm b/Java.pm
index 68df578..cdd909e 100644
--- a/Java.pm
+++ b/Java.pm
@@ -73,12 +73,14 @@ sub done {
 
 	# Ask the children to die and close the sockets
 	foreach my $o (values %{$Inline::Java::INLINE}){
-		my $sock = $o->{Java}->{socket} ;
-		# This asks the Java server to stop and die.
-		if ($sock->connected()){
-			print $sock "die\n" ;
+		if (! $o->{Java}->{USE_JNI}){
+			my $sock = $o->{Java}->{socket} ;
+			# This asks the Java server to stop and die.
+			if ($sock->connected()){
+				print $sock "die\n" ;
+			}
+			close($sock) ;
 		}
-		close($sock) ;
 	}
 
 	foreach my $pid (@CHILDREN){
@@ -184,8 +186,12 @@ sub _validate {
 		}
 	}
 
+	if ($ENV{PERL_INLINE_JAVA_USE_JNI}){
+		$o->{Java}->{USE_JNI} = 1 ;
+	}
+
 	if ($o->{Java}->{USE_JNI}){
-		$o->boot_jni() ;
+		require Inline::Java::JNI ;
 	}
 
 	$o->set_classpath($install) ;
@@ -195,16 +201,6 @@ sub _validate {
 }
 
 
-sub boot_jni {
-	my $o = shift ;
-
-	require DynaLoader ;
-	@Inline::Java::ISA = qw(DynaLoader) ;
-
-	Inline::Java->bootstrap($Inline::Java::VERSION) ;
-}
-
-
 sub get_jni {
 	my $o = shift ;
 
@@ -416,7 +412,7 @@ sub write_java {
 	my $modfname = $o->{modfname} ;
 	my $code = $o->{code} ;
 
-	$o->mymkpath($o->{build_dir}) ;
+	$o->mkpath($o->{build_dir}) ;
 
 	open(JAVA, ">$build_dir/$modfname.java") or
 		croak "Can't open $build_dir/$modfname.java: $!" ;
@@ -458,7 +454,6 @@ sub report {
 
 		if (! $o->{Java}->{USE_JNI}){
 			my $class_str = join(" ", @classes) ;
-			Inline::Java::debug($class_str) ;
 
 			my $cmd = "\"$pjava\" InlineJavaServer report $debug $modfname $class_str > cmd.out $predir" ;
 			if ($o->{config}->{UNTAINT}){
@@ -506,7 +501,7 @@ sub compile {
 	my $install_lib = $o->{install_lib} ;
 
 	my $install = "$install_lib/auto/$modpname" ;
-	$o->mymkpath($install) ;
+	$o->mkpath($install) ;
 
 	my $javac = $o->{Java}->{BIN} . "/javac" . portable("EXE_EXTENSION") ;
 	my $java = $o->{Java}->{BIN} . "/java" . portable("EXE_EXTENSION") ;
@@ -516,7 +511,7 @@ sub compile {
 	my $pjavac = portable("RE_FILE", $javac) ;
 	my $pjava = portable("RE_FILE", $java) ;
 
-	my $cwd = Cwd::getcwd() ;
+	my $cwd = Cwd::cwd() ;
 	if ($o->{config}->{UNTAINT}){
 		($cwd) = $cwd =~ /(.*)/ ;
 	}
@@ -531,11 +526,11 @@ sub compile {
 	# to be copied, and if not will exit the script.
 	foreach my $cmd (
 		"\"$pjavac\" $modfname.java > cmd.out $predir",
-		["copy_pattern", $o, "*.class"],
+		{CMD => ["copy_pattern", $o, "*.class"]},
 		"\"$pjavac\" InlineJavaServer.java > cmd.out $predir",
-		["copy_pattern", $o, "*.class"],
-		["report", $o, "*.class"],
-		["copy_pattern", $o, "*.jdat", ],
+		{CMD => ["copy_pattern", $o, "*.class"]},
+		{CMD => ["report", $o, "*.class"], RET_IS_CMD => (! $o->{Java}->{USE_JNI})},
+		{CMD => ["copy_pattern", $o, "*.jdat"]},
 		) {
 
 		if ($cmd){
@@ -543,36 +538,43 @@ sub compile {
 			chdir $build_dir ;
 			if (ref($cmd)){
 				Inline::Java::debug_obj($cmd) ;
-				my $func = shift @{$cmd} ;
-				my @args = @{$cmd} ;
+				my $func = shift @{$cmd->{CMD}} ;
+				my @args = @{$cmd->{CMD}} ;
 
 				Inline::Java::debug("$func" . "(" . join(", ", @args) . ")") ;
 
 				no strict 'refs' ;
 				my $ret = $func->(@args) ;
-				if ($ret){
-					croak $ret ;
+				if (! $cmd->{RET_IS_CMD}){
+					if ($ret){
+						croak $ret ;
+					}
+					chdir $cwd ;
+					next ;
 				}
-			}
-			else{
-				if ($o->{config}->{UNTAINT}){
-					($cmd) = $cmd =~ /(.*)/ ;
+				else{
+					$cmd = $ret ;
 				}
+			}
 
-				Inline::Java::debug("$cmd") ;
-				my $res = system($cmd) ;
-				$res and do {
-					$o->error_copy ;
-					croak $o->compile_error_msg($cmd, $cwd) ;
-				} ;
+			if ($o->{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) ;
+			} ;
+
 			chdir $cwd ;
 		}
 	}
 
 	if ($o->{config}->{CLEAN_AFTER_BUILD} and
 		not $o->{config}->{REPORTBUG}){
-		$o->myrmpath($o->{config}->{DIRECTORY} . 'build/', $modpname) ;
+		$o->rmpath($o->{config}->{DIRECTORY} . 'build/', $modpname) ;
 	}
 
 	Inline::Java::debug("compile done.") ;
@@ -650,7 +652,7 @@ sub load {
 	my $java = $o->{Java}->{BIN} . "/java" . portable("EXE_EXTENSION") ;
 	my $pjava = portable("RE_FILE", $java) ;
 
-	Inline::Java::debug("  cwd is: " . Cwd::getcwd()) ;
+	Inline::Java::debug("  cwd is: " . Cwd::cwd()) ;
 
 	if (! $o->{Java}->{USE_JNI}){
 		Inline::Java::debug("  load is forking.") ;
@@ -888,7 +890,7 @@ sub $method {
 
 	my \$ret = undef ;
 	eval {
-		\$ret = \$this->{private}->{proto}->CallJavaMethod('$method', \$proto, \$new_args) ;
+		\$ret = \$this->__get_private()->{proto}->CallJavaMethod('$method', \$proto, \$new_args) ;
 	} ;
 	croak \$@ if \$@ ;
 
@@ -1003,24 +1005,6 @@ sub copy_pattern {
 ######################## General Functions ########################
 
 
-sub mymkpath {
-	my $o = shift ;
-	my $path = shift ;	
-
-	my $sub = \&Inline::mkpath ;
-	return $o->$sub($path) ;
-}
-
-sub myrmpath {
-	my $o = shift ;
-	my $path = shift ;	
-
-	my $sub = \&Inline::rmpath ;
-
-	return $o->$sub($path) ;
-}
-
-
 sub debug {
 	if ($Inline::Java::DEBUG){
 		my $str = join("", @_) ;
diff --git a/MANIFEST b/MANIFEST
index 21c5c5d..bf60b12 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -9,9 +9,15 @@ Java/Init.pm
 Java/Object.pm
 Java/Protocol.pm
 Java/Class.pm
+Java/Makefile.PL
+Java/JNI.pm
+Java/JNI.xs
 t/1_init.t
 t/2_primitives.t
 t/3_objects.t
 t/4_members.t
 t/5_arrays.t
+Java/t/1_init.t
+Java/t/2_jni.t
+
 

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



More information about the Pkg-perl-cvs-commits mailing list