Browse Source

No more error for version in module file name. Version is taken from
descriptor files.

Laurent Destailleur 11 năm trước cách đây
mục cha
commit
8e8fb27286
1 tập tin đã thay đổi với 51 bổ sung41 xóa
  1. 51 41
      build/makepack-dolibarrmodule.pl

+ 51 - 41
build/makepack-dolibarrmodule.pl

@@ -88,18 +88,6 @@ print "Source directory: $SOURCE\n";
 print "Target directory: $NEWDESTI\n";
 
 
-# Ask and set version $MAJOR, $MINOR and $BUILD
-print "Enter value for version: ";
-$PROJVERSION=<STDIN>;
-chomp($PROJVERSION);
-($MAJOR,$MINOR,$BUILD)=split(/\./,$PROJVERSION,3);
-if ($MINOR eq '')
-{
-    print "Enter value for minor version: ";
-    $MINOR=<STDIN>;
-    chomp($MINOR);
-}
-
 # Ask module
 print "Enter name for your module (mymodule, mywonderfulmondule, ... or 'all') : ";
 $PROJECTINPUT=<STDIN>;
@@ -130,6 +118,8 @@ else
 # Loop on each projects
 foreach my $PROJECT (@PROJECTLIST) {
 	
+	$PROJECTLC=lc($PROJECT);
+	
 	if (! -f "makepack-".$PROJECT.".conf")
 	{
 	    print "Error: can't open conf file makepack-".$PROJECT.".conf\n";
@@ -141,9 +131,28 @@ foreach my $PROJECT (@PROJECTLIST) {
 	    exit 2;
 	}
 	
-	$FILENAME="$PROJECT";
-	$FILENAMETGZ="module_$PROJECT-$MAJOR.$MINOR".($BUILD ne ''?".$BUILD":"");
-	$FILENAMEZIP="module_$PROJECT-$MAJOR.$MINOR".($BUILD ne ''?".$BUILD":"");
+	# Get version $MAJOR, $MINOR and $BUILD
+	print "Version detected for module ".$PROJECT.": ";
+	$result=open(IN,"<".$SOURCE."/htdocs/".$PROJECTLC."/core/modules/mod".$PROJECT.".class.php");
+	if (! $result) { die "Error: Can't open descriptor file ".$SOURCE."/htdocs/".$PROJECTLC."/core/modules/mod".$PROJECT.".class.php for reading.\n"; }
+    while(<IN>)
+    {
+    	if ($_ =~ /this->version\s*=\s*'([\d\.]+)'/) { $PROJVERSION=$1; break; }
+    }
+    close IN;
+	print $PROJVERSION."\n";
+
+	($MAJOR,$MINOR,$BUILD)=split(/\./,$PROJVERSION,3);
+	if ($MINOR eq '')
+	{
+	    print "Enter value for minor version for module ".$PROJECT.": ";
+	    $MINOR=<STDIN>;
+	    chomp($MINOR);
+	}
+		
+	$FILENAME="$PROJECTLC";
+	$FILENAMETGZ="module_$PROJECTLC-$MAJOR.$MINOR".($BUILD ne ''?".$BUILD":"");
+	$FILENAMEZIP="module_$PROJECTLC-$MAJOR.$MINOR".($BUILD ne ''?".$BUILD":"");
 	if (-d "/usr/src/redhat") {
 	    # redhat
 	    $RPMDIR="/usr/src/redhat";
@@ -230,7 +239,7 @@ foreach my $PROJECT (@PROJECTLIST) {
 		    	$ret=`rm -fr "$BUILDROOT"`;
 	
 		    	mkdir "$BUILDROOT";
-		    	mkdir "$BUILDROOT/$PROJECT";
+		    	mkdir "$BUILDROOT/$PROJECTLC";
 		    	
 				$result=open(IN,"<makepack-".$PROJECT.".conf");
 				if (! $result) { die "Error: Can't open conf file makepack-".$PROJECT.".conf for reading.\n"; }
@@ -240,43 +249,44 @@ foreach my $PROJECT (@PROJECTLIST) {
 					
 					$_ =~ s/\n//;
 			    	$_ =~ /^(.*)\/[^\/]+/;
-			    	print "Create directory $BUILDROOT/$PROJECT/$1\n";
-			    	$ret=`mkdir -p "$BUILDROOT/$PROJECT/$1"`;
+			    	print "Create directory $BUILDROOT/$PROJECTLC/$1\n";
+			    	$ret=`mkdir -p "$BUILDROOT/$PROJECTLC/$1"`;
 			    	if ($_ !~ /version\-/)
 			    	{
-			    	    print "Copy $SOURCE/$_ into $BUILDROOT/$PROJECT/$_\n";
-		    		    $ret=`cp -pr "$SOURCE/$_" "$BUILDROOT/$PROJECT/$_"`;
+			    	    print "Copy $SOURCE/$_ into $BUILDROOT/$PROJECTLC/$_\n";
+		    		    $ret=`cp -pr "$SOURCE/$_" "$BUILDROOT/$PROJECTLC/$_"`;
+		    		    if ($? != 0) { die "Failed to make copy of a file declared into makepack-".$PROJECT.".conf file (Fails on line ".$_.")\n"; } 
 			    	}
 				}	
 				close IN;
 				
 				@timearray=localtime(time());
 				$fulldate=($timearray[5]+1900).'-'.($timearray[4]+1).'-'.$timearray[3].' '.$timearray[2].':'.$timearray[1];
-				open(VF,">$BUILDROOT/$PROJECT/build/version-".$PROJECT.".txt");
+				open(VF,">$BUILDROOT/$PROJECTLC/build/version-".$PROJECTLC.".txt");
 		
-				print "Create version file $BUILDROOT/$PROJECT/build/version-".$PROJECT.".txt with date ".$fulldate."\n";
-				$ret=`mkdir -p "$BUILDROOT/$PROJECT/build"`;
+				print "Create version file $BUILDROOT/$PROJECTLC/build/version-".$PROJECTLC.".txt with date ".$fulldate."\n";
+				$ret=`mkdir -p "$BUILDROOT/$PROJECTLC/build"`;
 				print VF "Version: ".$MAJOR.".".$MINOR.($BUILD ne ''?".$BUILD":"")."\n";
 				print VF "Build  : ".$fulldate."\n";
 				close VF;
 		    }
 		    print "Clean $BUILDROOT\n";
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/.cache`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/.project`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/.settings`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/index.php`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/build/html`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/document`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.old`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf.php.postgres`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/conf/conf*sav*`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom`;
-	        $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom2`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/test`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
-		    $ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS*`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/.cache`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/.project`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/.settings`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/index.php`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/build/html`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/documents`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/document`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/conf/conf.php.mysql`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/conf/conf.php.old`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/conf/conf.php.postgres`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/conf/conf*sav*`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/custom`;
+	        $ret=`rm -fr $BUILDROOT/$PROJECTLC/htdocs/custom2`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/test`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/Thumbs.db $BUILDROOT/$PROJECTLC/*/Thumbs.db $BUILDROOT/$PROJECTLC/*/*/Thumbs.db $BUILDROOT/$PROJECTLC/*/*/*/Thumbs.db $BUILDROOT/$PROJECTLC/*/*/*/*/Thumbs.db`;
+		    $ret=`rm -fr $BUILDROOT/$PROJECTLC/CVS* $BUILDROOT/$PROJECTLC/*/CVS* $BUILDROOT/$PROJECTLC/*/*/CVS* $BUILDROOT/$PROJECTLC/*/*/*/CVS* $BUILDROOT/$PROJECTLC/*/*/*/*/CVS* $BUILDROOT/$PROJECTLC/*/*/*/*/*/CVS*`;
 		}    
 	    
 	    # Build package for each target
@@ -314,9 +324,9 @@ foreach my $PROJECT (@PROJECTLIST) {
 	    		unlink "$NEWDESTI/$FILENAMEZIP.zip";
 	    		print "Compress $FILENAMEZIP into $FILENAMEZIP.zip...\n";
 	
-	            print "Go to directory $BUILDROOT/$PROJECT\n";
+	            print "Go to directory $BUILDROOT/$PROJECTLC\n";
 	     		$olddir=getcwd();
-	     		chdir("$BUILDROOT/$PROJECT");
+	     		chdir("$BUILDROOT/$PROJECTLC");
 	    		$cmd= "7z a -r -tzip -mx $BUILDROOT/$FILENAMEZIP.zip *";
 				print $cmd."\n";
 				$ret= `$cmd`;