Index: trunk/README
===================================================================
--- trunk/README	(revision 13281)
+++ trunk/README	(revision 13282)
@@ -85,6 +85,4 @@
                             regression data for projection tests
                             (see test/unit/org/openstreetmap/josm/data/projection/ProjectionRegressionTest.java)
-- geticons.pl               tool to find all used icons and allows deleting unused icons
-                            searches also for images with incompatible svg code
 - gpl-2.0.txt, gpl-3.0.txt  full text of the GNU General Public License
 - images/                   images distributed with the JOSM binary
@@ -105,4 +103,6 @@
 - resources/                resource files that will be included in the JOSM jar file
 - scripts/                  various scripts used by JOSM developers
+  - geticons.pl             tool to find all used icons and allows deleting unused icons
+                            searches also for images with incompatible svg code
 - src/                      the source code of the program
 - start.html                HTML page to run the applet version of JOSM
Index: trunk/geticons.pl
===================================================================
--- trunk/geticons.pl	(revision 13281)
+++ 	(revision )
@@ -1,194 +1,0 @@
-#! /usr/bin/perl -w
-# short tool to find out all used icons and allows deleting unused icons
-# when building release files
-
-my @default = (
-  "styles/standard/*.xml",
-  "styles/standard/*.mapcss",
-  "data/*.xml",
-  "src/org/openstreetmap/josm/*.java",
-  "src/org/openstreetmap/josm/*/*.java",
-  "src/org/openstreetmap/josm/*/*/*.java",
-  "src/org/openstreetmap/josm/*/*/*/*.java",
-  "src/org/openstreetmap/josm/*/*/*/*/*.java",
-  "src/org/openstreetmap/josm/*/*/*/*/*/*.java"
-);
-
-my %icons;
-
-my $o = $/;
-
-for my $arg (@ARGV ? @ARGV : @default)
-{
-  for my $file (glob($arg))
-  {
-    my @defs;
-    open(FILE,"<",$file) or die "Could not open $file\n";
-    #print "Read file $file\n";
-    $/ = $file =~ /\.java$/ ? ";" : $o;
-    my $extends = "";
-    while(my $l = <FILE>)
-    {
-      if($l =~ /private static final String ([A-Z_]+) = ("[^"]+")/)
-      {
-        push(@defs, [$1, $2]);
-      }
-      next if $l =~ /NO-ICON/;
-      for my $d (@defs)
-      {
-        $l =~ s/$d->[0]/$d->[1]/g;
-      }
-      if($l =~ /icon\s*[:=]\s*["']([^"'+]+?)["']/)
-      {
-        ++$icons{$1};
-      }
-
-      if(($l =~ /(?:icon-image|repeat-image|fill-image)\s*:\s*(\"?(.*?)\"?)\s*;/) && ($1 ne "none"))
-      {
-        my $img = $2;
-        ++$icons{$img};
-      }
-      if($l =~ /ImageProvider(?:\.get)?\(\"([^\"]*?)\"(?:, ImageProvider.ImageSizes.[A-Z]+)?\)/)
-      {
-        my $i = $1;
-        ++$icons{$i};
-      }
-      while($l =~ /\/\*\s*ICON\s*\*\/\s*\"(.*?)\"/g)
-      {
-        my $i = $1;
-        ++$icons{$i};
-      }
-      while($l =~ /\/\*\s*ICON\((.*?)\)\s*\*\/\s*\"(.*?)\"/g)
-      {
-        my $i = "$1$2";
-        ++$icons{$i};
-      }
-      if($l =~ /new\s+ImageLabel\(\"(.*?)\"/)
-      {
-        my $i = "statusline/$1";
-        ++$icons{$i};
-      }
-      if($l =~ /setIcon\(\"(.*?)\"/)
-      {
-        my $i = "statusline/$1";
-        ++$icons{$i};
-      }
-      if($l =~ /ImageProvider\.get(?:IfAvailable)?\(\"(.*?)\",\s*\"(.*?)\"\s*\)/)
-      {
-        my $i = "$1/$2";
-        ++$icons{$i};
-      }
-      if($l =~ /new ImageProvider\(\"(.*?)\",\s*\"(.*?)\"\s*\)/)
-      {
-        my $i = "$1/$2";
-        ++$icons{$i};
-      }
-      if($l =~ /getCursor\(\"(.*?)\",\s*\"(.*?)\"/)
-      {
-        my $i = "cursor/modifier/$2";
-        ++$icons{$i};
-        $i = "cursor/$1";
-        ++$icons{$i};
-      }
-      if($l =~ /ImageProvider\.getCursor\(\"(.*?)\",\s*null\)/)
-      {
-        my $i = "cursor/$1";
-        ++$icons{$i};
-      }
-      if($l =~ /super\(\s*tr\(\".*?\"\),\s*\"(.*?)\"/s)
-      {
-        my $i = "$extends$1";
-        ++$icons{$i};
-      }
-      if($l =~ /super\(\s*trc\(\".*?\",\s*\".*?\"\),\s*\"(.*?)\"/s)
-      {
-        my $i = "$extends$1";
-        ++$icons{$i};
-      }
-      if($l =~ /setButtonIcons.*\{(.*)\}/ || $l =~ /setButtonIcons\((.*)\)/ )
-      {
-        my $t = $1;
-        while($t =~ /\"(.*?)\"/g)
-        {
-          my $i = $1;
-          ++$icons{$i};
-        }
-      }
-      if($l =~ /extends MapMode/)
-      {
-        $extends = "mapmode/";
-      }
-      elsif($l =~ /extends ToggleDialog/)
-      {
-        $extends = "dialogs/";
-      }
-      elsif($l =~ /extends JosmAction/)
-      {
-        $extends = "";
-      }
-    }
-    close FILE;
-  }
-}
-
-my %haveicons;
-
-for($i = 1; my @ifiles = (glob("images".("/*" x $i).".png"), glob("images".("/*" x $i).".svg")); ++$i)
-{
-  for my $ifile (sort @ifiles)
-  {
-    $ifile =~ s/^images\///;
-    # svg comes after png due to the glob, so only check for svg's
-    if($ifile =~ /^(.*)\.svg$/)
-    {
-      if($haveicons{"$1.png"})
-      {
-        print STDERR "$1: File exists twice as .svg and .png.\n";
-      }
-      # check for unwanted svg effects
-      if(open FILE, "<","images/$ifile")
-      {
-        undef $/;
-        my $f = <FILE>;
-        close FILE;
-        while($f =~ /style\s*=\s*["']([^"']+)["']/g)
-        {
-          for my $x (split(/\s*;\s*/, $1))
-          {
-            print STDERR "$ifile: Style starts with minus: $x\n" if $x =~ /^-/;
-          }
-        }
-        if($f =~ /viewBox\s*=\s*["']([^"']+)["']/)
-        {
-          my $x = $1;
-          print STDERR "$ifile: ViewBox has float values: $x\n" if $x =~ /\./;
-        }
-      }
-      else
-      {
-        print STDERR "$ifile: Could not open file: $1";
-      }
-    }
-    $haveicons{$ifile} = 1;
-  }
-}
-
-for my $img (sort keys %icons)
-{
-  if($img =~ /\.(png|svg)/)
-  {
-    print STDERR "$img: File does not exist!\n" if(!-f "images/$img");
-    delete $haveicons{$img};
-  }
-  else
-  {
-    print STDERR "$img(.svg|.png): File does not exist!\n" if(!-f "images/$img.png" && !-f "images/$img.svg");
-    delete $haveicons{"$img.svg"};
-    delete $haveicons{"$img.png"};
-  }
-}
-
-for my $img (sort keys %haveicons)
-{
-  print "$img: Unused image.\n";
-}
Index: trunk/scripts/geticons.pl
===================================================================
--- trunk/scripts/geticons.pl	(revision 13282)
+++ trunk/scripts/geticons.pl	(revision 13282)
@@ -0,0 +1,194 @@
+#! /usr/bin/perl -w
+# short tool to find out all used icons and allows deleting unused icons
+# when building release files
+
+my @default = (
+  "styles/standard/*.xml",
+  "styles/standard/*.mapcss",
+  "data/*.xml",
+  "src/org/openstreetmap/josm/*.java",
+  "src/org/openstreetmap/josm/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*/*/*.java",
+  "src/org/openstreetmap/josm/*/*/*/*/*/*.java"
+);
+
+my %icons;
+
+my $o = $/;
+
+for my $arg (@ARGV ? @ARGV : @default)
+{
+  for my $file (glob($arg))
+  {
+    my @defs;
+    open(FILE,"<",$file) or die "Could not open $file\n";
+    #print "Read file $file\n";
+    $/ = $file =~ /\.java$/ ? ";" : $o;
+    my $extends = "";
+    while(my $l = <FILE>)
+    {
+      if($l =~ /private static final String ([A-Z_]+) = ("[^"]+")/)
+      {
+        push(@defs, [$1, $2]);
+      }
+      next if $l =~ /NO-ICON/;
+      for my $d (@defs)
+      {
+        $l =~ s/$d->[0]/$d->[1]/g;
+      }
+      if($l =~ /icon\s*[:=]\s*["']([^"'+]+?)["']/)
+      {
+        ++$icons{$1};
+      }
+
+      if(($l =~ /(?:icon-image|repeat-image|fill-image)\s*:\s*(\"?(.*?)\"?)\s*;/) && ($1 ne "none"))
+      {
+        my $img = $2;
+        ++$icons{$img};
+      }
+      if($l =~ /ImageProvider(?:\.get)?\(\"([^\"]*?)\"(?:, ImageProvider.ImageSizes.[A-Z]+)?\)/)
+      {
+        my $i = $1;
+        ++$icons{$i};
+      }
+      while($l =~ /\/\*\s*ICON\s*\*\/\s*\"(.*?)\"/g)
+      {
+        my $i = $1;
+        ++$icons{$i};
+      }
+      while($l =~ /\/\*\s*ICON\((.*?)\)\s*\*\/\s*\"(.*?)\"/g)
+      {
+        my $i = "$1$2";
+        ++$icons{$i};
+      }
+      if($l =~ /new\s+ImageLabel\(\"(.*?)\"/)
+      {
+        my $i = "statusline/$1";
+        ++$icons{$i};
+      }
+      if($l =~ /setIcon\(\"(.*?)\"/)
+      {
+        my $i = "statusline/$1";
+        ++$icons{$i};
+      }
+      if($l =~ /ImageProvider\.get(?:IfAvailable)?\(\"(.*?)\",\s*\"(.*?)\"\s*\)/)
+      {
+        my $i = "$1/$2";
+        ++$icons{$i};
+      }
+      if($l =~ /new ImageProvider\(\"(.*?)\",\s*\"(.*?)\"\s*\)/)
+      {
+        my $i = "$1/$2";
+        ++$icons{$i};
+      }
+      if($l =~ /getCursor\(\"(.*?)\",\s*\"(.*?)\"/)
+      {
+        my $i = "cursor/modifier/$2";
+        ++$icons{$i};
+        $i = "cursor/$1";
+        ++$icons{$i};
+      }
+      if($l =~ /ImageProvider\.getCursor\(\"(.*?)\",\s*null\)/)
+      {
+        my $i = "cursor/$1";
+        ++$icons{$i};
+      }
+      if($l =~ /super\(\s*tr\(\".*?\"\),\s*\"(.*?)\"/s)
+      {
+        my $i = "$extends$1";
+        ++$icons{$i};
+      }
+      if($l =~ /super\(\s*trc\(\".*?\",\s*\".*?\"\),\s*\"(.*?)\"/s)
+      {
+        my $i = "$extends$1";
+        ++$icons{$i};
+      }
+      if($l =~ /setButtonIcons.*\{(.*)\}/ || $l =~ /setButtonIcons\((.*)\)/ )
+      {
+        my $t = $1;
+        while($t =~ /\"(.*?)\"/g)
+        {
+          my $i = $1;
+          ++$icons{$i};
+        }
+      }
+      if($l =~ /extends MapMode/)
+      {
+        $extends = "mapmode/";
+      }
+      elsif($l =~ /extends ToggleDialog/)
+      {
+        $extends = "dialogs/";
+      }
+      elsif($l =~ /extends JosmAction/)
+      {
+        $extends = "";
+      }
+    }
+    close FILE;
+  }
+}
+
+my %haveicons;
+
+for($i = 1; my @ifiles = (glob("images".("/*" x $i).".png"), glob("images".("/*" x $i).".svg")); ++$i)
+{
+  for my $ifile (sort @ifiles)
+  {
+    $ifile =~ s/^images\///;
+    # svg comes after png due to the glob, so only check for svg's
+    if($ifile =~ /^(.*)\.svg$/)
+    {
+      if($haveicons{"$1.png"})
+      {
+        print STDERR "$1: File exists twice as .svg and .png.\n";
+      }
+      # check for unwanted svg effects
+      if(open FILE, "<","images/$ifile")
+      {
+        undef $/;
+        my $f = <FILE>;
+        close FILE;
+        while($f =~ /style\s*=\s*["']([^"']+)["']/g)
+        {
+          for my $x (split(/\s*;\s*/, $1))
+          {
+            print STDERR "$ifile: Style starts with minus: $x\n" if $x =~ /^-/;
+          }
+        }
+        if($f =~ /viewBox\s*=\s*["']([^"']+)["']/)
+        {
+          my $x = $1;
+          print STDERR "$ifile: ViewBox has float values: $x\n" if $x =~ /\./;
+        }
+      }
+      else
+      {
+        print STDERR "$ifile: Could not open file: $1";
+      }
+    }
+    $haveicons{$ifile} = 1;
+  }
+}
+
+for my $img (sort keys %icons)
+{
+  if($img =~ /\.(png|svg)/)
+  {
+    print STDERR "$img: File does not exist!\n" if(!-f "images/$img");
+    delete $haveicons{$img};
+  }
+  else
+  {
+    print STDERR "$img(.svg|.png): File does not exist!\n" if(!-f "images/$img.png" && !-f "images/$img.svg");
+    delete $haveicons{"$img.svg"};
+    delete $haveicons{"$img.png"};
+  }
+}
+
+for my $img (sort keys %haveicons)
+{
+  print "$img: Unused image.\n";
+}
