emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
blob ed185ea24e1f324758d7ff0826c19bce3bce8f3b 1559 bytes (raw)
name: UTILITIES/set-version.pl 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
#!/usr/bin/perl
$version = $ARGV[0];
if ($version eq "--all" or $version eq "-a") {
  $all = 1;
  $version = $ARGV[1]
}

if ($version eq "--only" or $version eq "-o") {
  $only = 1;
  $version = $ARGV[1]
}

die "No version given" unless $version=~/\S/;
$date = `date "+%B %Y"`; chomp $date;
$year = `date "+%Y"` ; chomp $year;

print STDERR "Changing version to \"$version\" and date to \"$date\" in all relevant files\n" ;

if (not $only) {

  print STDERR join("\n",glob("lisp/*.el")),"\n";
  $cmd = qq{s/^(;; Version:)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\(defconst org-version )"(\\S+)"/\$1"$version"/};
  $c1 = "perl -pi -e '$cmd' lisp/*.el";
  system($c1);

  print STDERR "doc/org.texi\n";
  $cmd = qq{s/^(\\\@set VERSION)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\\@set DATE)\\s+(.*)\$/\$1 $date/;};
  $c1 = "perl -pi -e '$cmd' doc/org.texi";
  system($c1);

  print STDERR "doc/orgguide.texi\n";
  $cmd = qq{s/^(\\\@set VERSION)\\s+(\\S+)[ \t]*\$/\$1 $version/;s/^(\\\@set DATE)\\s+(.*)\$/\$1 $date/;};
  $c1 = "perl -pi -e '$cmd' doc/orgguide.texi";
  system($c1);

  print STDERR "doc/orgcard.tex\n";
  $cmd = qq{s/^\\\\def\\\\orgversionnumber\\{\\S+\\}/\\\\def\\\\orgversionnumber{$version}/;s/\\\\def\\\\versionyear\\{\\S+\\}/\\\\def\\\\versionyear{$year}/;s/\\\\def\\\\year\\{\\S+\\}/\\\\def\\\\year{$year}/;};
  $c1 = "perl -pi -e '$cmd' doc/orgcard.tex";
  system($c1);

  print STDERR "README_DIST\n";
  $cmd = qq{s/^(The version of this release is:)\\s+(\\S+)[ \t]*\$/\$1 $version/;};
  $c1 = "perl -pi -e '$cmd' README_DIST";
  system($c1);
}

debug log:

solving ed185ea ...
found ed185ea in https://git.savannah.gnu.org/cgit/emacs/org-mode.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).