JAL-3420 multiple file extensions for the same mime-type now work in unix installer
[jalview.git] / utils / install4j / auto_file_associations-i4j8.pl
index 71044fe..df04a6a 100755 (executable)
@@ -106,7 +106,7 @@ while(my $line = <IN>) {
       name => $name,
       extensions => \@extensions
     };
-    warn("Adding file association for $shortname\n");
+    warn("Adding file association for $shortname (".join(",",@extensions).")\n");
   }
 }
 close(IN);
@@ -126,9 +126,13 @@ for my $key (@ordered) {
 
   my $extensions = $a->{extensions};
   my @extensions = @$extensions;
-  for my $ext (@extensions) {
-    $num++;
-  }
+
+  # multiple extensions now all dealt with together since i4j 8.0.1
+  #for my $ext (@extensions) {
+  #  $num++;
+  #}
+  $num++
+
   #delete $all_associations{$shortname};
   #print "NUM: $num\n";
 }
@@ -178,40 +182,66 @@ for my $shortname (@ordered) {
   $i4jentry =~ s/\$\$MIMETYPE\$\$/$xmimetype/g;
   $i4jentry =~ s/\$\$ICONFILE\$\$/$xiconfile/g;
 
-  my $unixext;
-  for my $ext (sort @extensions) {
-    if (not defined($unixext)) {
-      $unixext = $ext;
-      next;
-    }
-    if (length($ext) < length($unixext)) {
-      $unixext = $ext;
-      next;
-    }
-  }
+# multiple extensions now all dealt with together since i4j 8.0.1
+#  my $unixext;
+#  for my $ext (sort @extensions) {
+#    if (not defined($unixext)) {
+#      $unixext = $ext;
+#      next;
+#    }
+#    if (length($ext) < length($unixext)) {
+#      $unixext = $ext;
+#      next;
+#    }
+#  }
+#  for my $ext (@extensions) {
+#    $i4jcount++;
+#    #print "COUNT: $i4jcount\n";
+#    my $progresspercent = int(($i4jcount/$num)*100);
+#    #print "PC: $progresspercent\n";
+#    $progresspercent = 100 if $progresspercent > 100;
+#    my $xext = xml_escape($ext);
+#    my $addunixextension = ($ext eq $unixext)?"true":"false";
+#
+#    my $i4jextentry = $i4jentry;
+#    $i4jextentry =~ s/\$\$ADDUNIXEXTENSION\$\$/$addunixextension/g;
+#    $i4jextentry =~ s/\$\$EXTENSION\$\$/$xext/g;
+#    $i4jextentry =~ s/\$\$PROGRESSPERCENT\$\$/$progresspercent/g;
+#    $i4jextentry =~ s/\$\$ID\$\$/$id/g;
+#    $id++;
+#    $i4jextentry =~ s/\$\$ID1\$\$/$id/g;
+#    $id++;
+#    $i4jextentry =~ s/\$\$ID2\$\$/$id/g;
+#    $id++;
+#
+#    print IA $i4jextentry;
+#  }
+
+  my $ext = join(",",sort(@extensions));
+  my $xdisplayext = xml_escape(join(", ", map(".$_",sort(@extensions))));
+  $i4jcount++;
+#print "COUNT: $i4jcount\n";
+  my $progresspercent = int(($i4jcount/$num)*100);
+#print "PC: $progresspercent\n";
+  $progresspercent = 100 if $progresspercent > 100;
+  my $xext = xml_escape($ext);
+  #my $addunixextension = ($ext eq $unixext)?"true":"false";
+  my $addunixextension = "true";
+
+  my $i4jextentry = $i4jentry;
+  $i4jextentry =~ s/\$\$ADDUNIXEXTENSION\$\$/$addunixextension/g;
+  $i4jextentry =~ s/\$\$EXTENSION\$\$/$xext/g;
+  $i4jextentry =~ s/\$\$DISPLAYEXTENSION\$\$/$xdisplayext/g;
+  $i4jextentry =~ s/\$\$PROGRESSPERCENT\$\$/$progresspercent/g;
+  $i4jextentry =~ s/\$\$ID\$\$/$id/g;
+  $id++;
+  $i4jextentry =~ s/\$\$ID1\$\$/$id/g;
+  $id++;
+  $i4jextentry =~ s/\$\$ID2\$\$/$id/g;
+  $id++;
+
+  print IA $i4jextentry;
 
-  for my $ext (@extensions) {
-    $i4jcount++;
-    #print "COUNT: $i4jcount\n";
-    my $progresspercent = int(($i4jcount/$num)*100);
-    #print "PC: $progresspercent\n";
-    $progresspercent = 100 if $progresspercent > 100;
-    my $xext = xml_escape($ext);
-    my $addunixextension = ($ext eq $unixext)?"true":"false";
-
-    my $i4jextentry = $i4jentry;
-    $i4jextentry =~ s/\$\$ADDUNIXEXTENSION\$\$/$addunixextension/g;
-    $i4jextentry =~ s/\$\$EXTENSION\$\$/$xext/g;
-    $i4jextentry =~ s/\$\$PROGRESSPERCENT\$\$/$progresspercent/g;
-    $i4jextentry =~ s/\$\$ID\$\$/$id/g;
-    $id++;
-    $i4jextentry =~ s/\$\$ID1\$\$/$id/g;
-    $id++;
-    $i4jextentry =~ s/\$\$ID2\$\$/$id/g;
-    $id++;
-
-    print IA $i4jextentry;
-  }
 
   delete $all_associations{$shortname};
 }