]> source.dussan.org Git - jquery.git/commitdiff
Release: add support for md5 sums in windows
authorTimmy Willison <timmywil@users.noreply.github.com>
Thu, 9 Mar 2023 20:19:28 +0000 (15:19 -0500)
committerGitHub <noreply@github.com>
Thu, 9 Mar 2023 20:19:28 +0000 (20:19 +0000)
Close gh-5220

build/release/cdn.js

index 3d96d01791833f550cac2b5aae10ba731e2487d8..0cbea4a7a5da6c0793d30bafade31c2b6dde74e2 100644 (file)
@@ -4,6 +4,7 @@ var
        fs = require( "fs" ),
        shell = require( "shelljs" ),
        path = require( "path" ),
+       os = require( "os" ),
 
        cdnFolder = "dist/cdn",
 
@@ -68,12 +69,13 @@ function makeArchives( Release, callback ) {
 
                console.log( "Creating production archive for " + cdn );
 
-               var sum,
+               var i, sum, result,
                        archiver = require( "archiver" )( "zip" ),
                        md5file = cdnFolder + "/" + cdn + "-md5.txt",
                        output = fs.createWriteStream(
                                cdnFolder + "/" + cdn + "-jquery-" + Release.newVersion + ".zip"
                        ),
+                       rmd5 = /[a-f0-9]{32}/,
                        rver = /VER/;
 
                output.on( "close", callback );
@@ -89,7 +91,18 @@ function makeArchives( Release, callback ) {
                                item.replace( rver, Release.newVersion );
                } );
 
-               sum = Release.exec( "md5 -r " + files.join( " " ), "Error retrieving md5sum" );
+               if ( os.platform() === "win32" ) {
+                       sum = [];
+                       for ( i = 0; i < files.length; i++ ) {
+                               result = Release.exec(
+                                       "certutil -hashfile " + files[ i ] + " MD5", "Error retrieving md5sum"
+                               );
+                               sum.push( rmd5.exec( result )[ 0 ] + " " + files[ i ] );
+                       }
+                       sum = sum.join( "\n" );
+               } else {
+                       sum = Release.exec( "md5 -r " + files.join( " " ), "Error retrieving md5sum" );
+               }
                fs.writeFileSync( md5file, sum );
                files.push( md5file );