Enhance detection of changelog not updated
This commit is contained in:
parent
b2779e2c08
commit
e41541ab79
@ -14,7 +14,7 @@
|
|||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
use Cwd;
|
use Cwd;
|
||||||
|
use Term::ANSIColor;
|
||||||
|
|
||||||
# Change this to defined target for option 98 and 99
|
# Change this to defined target for option 98 and 99
|
||||||
$PROJECT="dolibarr";
|
$PROJECT="dolibarr";
|
||||||
@ -313,6 +313,75 @@ foreach my $target (sort keys %CHOOSEDTARGET) {
|
|||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
|
|
||||||
|
|
||||||
|
#print join(',',sort keys %CHOOSEDTARGET)."\n";
|
||||||
|
|
||||||
|
# Check if there is at least one target to build
|
||||||
|
#----------------------------------------------
|
||||||
|
$nboftargetok=0;
|
||||||
|
$nboftargetneedbuildroot=0;
|
||||||
|
$nbofpublishneedtag=0;
|
||||||
|
$nbofpublishneedchangelog=0;
|
||||||
|
|
||||||
|
foreach my $target (sort keys %CHOOSEDTARGET) {
|
||||||
|
if ($target eq '-CHKSUM') { $nbofpublishneedchangelog++; }
|
||||||
|
if ($CHOOSEDTARGET{$target} < 0) { next; }
|
||||||
|
if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP' && $target ne '-CHKSUM')
|
||||||
|
{
|
||||||
|
$nboftargetneedbuildroot++;
|
||||||
|
}
|
||||||
|
$nboftargetok++;
|
||||||
|
}
|
||||||
|
foreach my $target (sort keys %CHOOSEDPUBLISH) {
|
||||||
|
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
|
||||||
|
if ($target eq 'ASSO') { $nbofpublishneedchangelog++; $nbofpublishneedtag++; }
|
||||||
|
if ($target eq 'SF') { $nbofpublishneedchangelog++; $nbofpublishneedtag++; }
|
||||||
|
$nboftargetok++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if ($nboftargetok) {
|
||||||
|
|
||||||
|
# Check Changelog
|
||||||
|
#----------------
|
||||||
|
if ($nbofpublishneedchangelog)
|
||||||
|
{
|
||||||
|
# Test that the ChangeLog is ok
|
||||||
|
$TMPBUILDTOCHECKCHANGELOG=$BUILD;
|
||||||
|
$TMPBUILDTOCHECKCHANGELOG =~ s/\-rc\d*//;
|
||||||
|
$TMPBUILDTOCHECKCHANGELOG =~ s/\-beta\d*//;
|
||||||
|
print "\nCheck if ChangeLog is ok for version $MAJOR.$MINOR\.$TMPBUILDTOCHECKCHANGELOG\n";
|
||||||
|
$ret=`grep "ChangeLog for $MAJOR.$MINOR\.$TMPBUILDTOCHECKCHANGELOG" "$SOURCE/ChangeLog" 2>&1`;
|
||||||
|
if (! $ret)
|
||||||
|
{
|
||||||
|
print color("yellow"), "Error: The ChangeLogFile was not updated. Run the following command before building package for $MAJOR.$MINOR.$BUILD:\n", color('reset');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "ChangeLog for $MAJOR.$MINOR\.$BUILD was found into '$SOURCE/ChangeLog. But you can regenerate it with command:'\n";
|
||||||
|
}
|
||||||
|
if (! $BUILD || $BUILD eq '0-rc') # For a major version
|
||||||
|
{
|
||||||
|
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log `git rev-list --boundary '.$MAJOR.'.'.$MINOR.'..origin/develop | grep ^- | cut -c2- | head -n 1`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
||||||
|
}
|
||||||
|
else # For a maintenance release
|
||||||
|
{
|
||||||
|
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log '.$MAJOR.'.'.$MINOR.'.'.($BUILD-1).'.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
||||||
|
}
|
||||||
|
print "\n";
|
||||||
|
if (! $ret)
|
||||||
|
{
|
||||||
|
print "\nPress F to force and continue anyway (or other key to stop)... ";
|
||||||
|
my $WAITKEY=<STDIN>;
|
||||||
|
chomp($WAITKEY);
|
||||||
|
if ($WAITKEY ne 'F')
|
||||||
|
{
|
||||||
|
print "Canceled.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Build xml check file
|
# Build xml check file
|
||||||
#-----------------------
|
#-----------------------
|
||||||
if ($CHOOSEDTARGET{'-CHKSUM'})
|
if ($CHOOSEDTARGET{'-CHKSUM'})
|
||||||
@ -327,31 +396,6 @@ if ($CHOOSEDTARGET{'-CHKSUM'})
|
|||||||
copy "$SOURCE/htdocs/install/filelist-$MAJOR.$MINOR.$BUILD.xml", "$NEWDESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml";
|
copy "$SOURCE/htdocs/install/filelist-$MAJOR.$MINOR.$BUILD.xml", "$NEWDESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#print join(',',sort keys %CHOOSEDTARGET)."\n";
|
|
||||||
|
|
||||||
# Check if there is at least one target to build
|
|
||||||
#----------------------------------------------
|
|
||||||
$nboftargetok=0;
|
|
||||||
$nboftargetneedbuildroot=0;
|
|
||||||
$nbofpublishneedtag=0;
|
|
||||||
foreach my $target (sort keys %CHOOSEDTARGET) {
|
|
||||||
if ($CHOOSEDTARGET{$target} < 0) { next; }
|
|
||||||
if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP' && $target ne '-CHKSUM')
|
|
||||||
{
|
|
||||||
$nboftargetneedbuildroot++;
|
|
||||||
}
|
|
||||||
$nboftargetok++;
|
|
||||||
}
|
|
||||||
foreach my $target (sort keys %CHOOSEDPUBLISH) {
|
|
||||||
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
|
|
||||||
if ($target eq 'ASSO') { $nbofpublishneedtag++; }
|
|
||||||
if ($target eq 'SF') { $nbofpublishneedtag++; }
|
|
||||||
$nboftargetok++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($nboftargetok) {
|
|
||||||
|
|
||||||
# Update GIT tag if required
|
# Update GIT tag if required
|
||||||
#---------------------------
|
#---------------------------
|
||||||
if ($nbofpublishneedtag)
|
if ($nbofpublishneedtag)
|
||||||
@ -360,34 +404,6 @@ if ($nboftargetok) {
|
|||||||
$olddir=getcwd();
|
$olddir=getcwd();
|
||||||
chdir("$SOURCE");
|
chdir("$SOURCE");
|
||||||
|
|
||||||
# Test that the ChangeLog is ok
|
|
||||||
$TMPBUILDTOCHECKCHANGELOG=$BUILD;
|
|
||||||
$TMPBUILDTOCHECKCHANGELOG =~ s/\-rc\d*//;
|
|
||||||
$TMPBUILDTOCHECKCHANGELOG =~ s/\-beta\d*//;
|
|
||||||
print "Check if ChangeLog is ok for version $MAJOR.$MINOR\.$TMPBUILDTOCHECKCHANGELOG\n";
|
|
||||||
$ret=`grep "ChangeLog for $MAJOR.$MINOR\.$TMPBUILDTOCHECKCHANGELOG" "$SOURCE/ChangeLog" 2>&1`;
|
|
||||||
if (! $ret)
|
|
||||||
{
|
|
||||||
print "Error: The ChangeLogFile was not updated. Run the following command before building package for $MAJOR.$MINOR.$BUILD:\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print "ChangeLog for $MAJOR.$MINOR\.$BUILD was found into '$SOURCE/ChangeLog. But you can regenerate it with commande:'\n";
|
|
||||||
}
|
|
||||||
if (! $BUILD || $BUILD eq '0-rc') # For a major version
|
|
||||||
{
|
|
||||||
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log `git rev-list --boundary '.$MAJOR.'.'.$MINOR.'..origin/develop | grep ^- | cut -c2- | head -n 1`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
|
||||||
}
|
|
||||||
else # For a maintenance release
|
|
||||||
{
|
|
||||||
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log '.$MAJOR.'.'.$MINOR.'.'.($BUILD-1).'.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
|
||||||
}
|
|
||||||
print "\n";
|
|
||||||
if (! $ret)
|
|
||||||
{
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
print 'Run git tag -a -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
|
print 'Run git tag -a -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
|
||||||
$ret=`git tag -a -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD" 2>&1`;
|
$ret=`git tag -a -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD" 2>&1`;
|
||||||
if ($ret =~ /(already exists|existe déjà)/)
|
if ($ret =~ /(already exists|existe déjà)/)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user