From 8ee4a20c367cb4fcda616611646710593dc98b60 Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Thu, 29 Aug 2019 16:01:02 +0100 Subject: [PATCH] JAL-3420 JAL-3394 Correct format of XML in added file extensions for install4j8. Also progress indicator for adding file associations (which can be slow). Still not entirely working, see comments in issue. --- build.gradle | 8 + utils/install4j/Jalview-File.png | Bin 0 -> 13354 bytes utils/install4j/Jalview-Launch.icns | Bin 0 -> 43965 bytes utils/install4j/Jalview-Launch.ico | Bin 0 -> 32038 bytes utils/install4j/Jalview-Launch.png | Bin 0 -> 28430 bytes utils/install4j/JalviewVersionLocator.png | Bin 28823 -> 0 bytes utils/install4j/auto_file_associations-i4j8.pl | 104 +- .../file_associations_auto-Info_plist.xml | 29 +- .../file_associations_auto-install4j8.xml | 1940 +++++++++++++------- .../file_associations_template-install4j8.xml | 60 +- utils/install4j/install4j8_template.install4j | 33 +- 11 files changed, 1436 insertions(+), 738 deletions(-) create mode 100644 utils/install4j/Jalview-File.png create mode 100644 utils/install4j/Jalview-Launch.icns create mode 100644 utils/install4j/Jalview-Launch.ico create mode 100644 utils/install4j/Jalview-Launch.png delete mode 100644 utils/install4j/JalviewVersionLocator.png diff --git a/build.gradle b/build.gradle index 6024b84..8d84b25 100644 --- a/build.gradle +++ b/build.gradle @@ -1118,6 +1118,14 @@ task copyInstall4jTemplate(type: Copy) { } } into install4jDir + + inputs.files(i4jTemplate) + if (install4jVersion >= 8) { + inputs.files(install4jDir+"/"+install4j8InstallerFileAssociations) + } else { + inputs.files(install4jDir+"/"+install4jInstallerFileAssociations) + inputs.files(install4jDir+"/"+install4jInfoPlistFileAssociations) + } outputs.files(install4jConf) doLast { diff --git a/utils/install4j/Jalview-File.png b/utils/install4j/Jalview-File.png new file mode 100644 index 0000000000000000000000000000000000000000..1d986999a548846417015c5bba64accf966b7d1a GIT binary patch literal 13354 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 literal 0 HcmV?d00001 diff --git a/utils/install4j/Jalview-Launch.icns b/utils/install4j/Jalview-Launch.icns new file mode 100644 index 0000000000000000000000000000000000000000..506b5a1da95b8eb727cd711cf190a2d966150e15 GIT binary patch literal 43965 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 literal 0 HcmV?d00001 diff --git a/utils/install4j/Jalview-Launch.png b/utils/install4j/Jalview-Launch.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2ce9739ae5efd21fd8f2ddf60e535785ece40c GIT binary patch literal 28430 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 Ks=Vm>`2PXmIq<*$ literal 0 HcmV?d00001 diff --git a/utils/install4j/JalviewVersionLocator.png b/utils/install4j/JalviewVersionLocator.png deleted file mode 100644 index 94410803829803a1f477d3f9c6a1dd80749216aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28823 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 {shortname=>"features",name=>"Jalview Features",extensions=>["features","jvfeatures"]}, annotations => {shortname=>"annotations",name=>"Jalview Annotations",extensions=>["annotations","jvannotations"]}, mmcif2 => {shortname=>"mmcif2",name=>"mmCIF",extensions=>["mcif","mmcif"]}, - jvl => {shortname=>"jvl",name=>"Jalview Version Locator",extensions=>["jvl"],iconfile=>"Jalview-Version-Locator"}, + jvl => {shortname=>"jvl",name=>"Jalview Launch",extensions=>["jvl"],iconfile=>"Jalview-Launch"}, jnet => {shortname=>"jnet",name=>"JnetFile",extensions=>["concise","jnet"]}, scorematrix => {shortname=>"scorematrix",name=>"Substitution Matrix",extensions=>["mat"]}, }; @@ -50,16 +50,31 @@ my @put_first = qw(jalview jvl); my $v = ($i4jversion >= 8)?$i4jversion:""; my $i4jtemplatefile = "file_associations_template-install4j${v}.xml"; my $i4jtemplate; -open(IT,"<$i4jtemplatefile") or dir("Could not open '$i4jtemplatefile' for reading"); +my $mactemplatefile = "file_associations_template-Info_plist.xml"; +my $mactemplate; + +open(MT,"<$mactemplatefile") or die("Could not open '$mactemplatefile' for reading"); +while(){ + $mactemplate .= $_; +} +close(MT); +open(IT,"<$i4jtemplatefile") or die("Could not open '$i4jtemplatefile' for reading"); while(){ $i4jtemplate .= $_; } close(IT); +my $macauto; my $i4jauto; +my $macautofile = $mactemplatefile; +$macautofile =~ s/template/auto$1/; + my $i4jautofile = $i4jtemplatefile; $i4jautofile =~ s/template/auto$1/; +open(MA,">$macautofile") or die ("Could not open '$macautofile' for writing"); +print MA "CFBundleDocumentTypes\n\n\n"; + open(IA,">$i4jautofile") or die ("Could not open '$i4jautofile' for writing"); open(IN, "<$fileformats") or die ("Could not open '$fileformats' for reading"); @@ -74,7 +89,7 @@ while(my $line = ) { my $name = $2; my $extensions = $3; $extensions =~ s/\s+//g; - my @possextensions = split(m/,/,$extensions); + my @possextensions = map(lc($_),split(m/,/,$extensions)); my @extensions; my $addext = $add_extensions->{$shortname}; if (ref($addext) eq "ARRAY") { @@ -98,16 +113,36 @@ close(IN); my %all_associations = (%$file_associations, %$add_associations); -for my $shortname (@put_first, sort keys %all_associations) { - my $a = $all_associations{$shortname}; - if (ref($a) ne "HASH") { - next; +my $num = 0; +my $i4jcount = 0; +my @ordered = @put_first; +for my $key (sort keys %all_associations) { + next if grep($_ eq $key, @ordered); + push(@ordered, $key); +} +for my $key (@ordered) { + my $a = $all_associations{$key}; + next if (ref($a) ne "HASH"); + + my $extensions = $a->{extensions}; + my @extensions = @$extensions; + for my $ext (@extensions) { + $num++; } + #delete $all_associations{$shortname}; + #print "NUM: $num\n"; +} + + +for my $shortname (@ordered) { + my $a = $all_associations{$shortname}; + next if (ref($a) ne "HASH"); my $name = $a->{name}; my $extensions = $a->{extensions}; my $mimetype = $mimetypes->{$shortname}; - $mimetype = "text/x-$shortname" unless $mimetype; + $mimetype = "application/x-$shortname+txt" unless $mimetype; + #$mimetype = "application/x-$shortname" unless $mimetype; my $iconfile = $a->{iconfile}; $iconfile = "Jalview-File" unless $iconfile; @@ -115,18 +150,50 @@ for my $shortname (@put_first, sort keys %all_associations) { my @extensions = @$extensions; #warn("LINE: $line\nFound extensions '".join("', '", @extensions)."' for $name Files ($shortname)'n"); - my $i4jentry = $i4jtemplate; + my $xname = xml_escape($name); + my $xmimetype = xml_escape($mimetype); + my $xshortname = xml_escape($shortname); + my $xiconfile = xml_escape($iconfile); + + my $macentry = $mactemplate; + $macentry =~ s/\$\$NAME\$\$/$xname/g; + $macentry =~ s/\$\$SHORTNAME\$\$/$xshortname/g; + $macentry =~ s/\$\$MIMETYPE\$\$/$xmimetype/g; + $macentry =~ s/\$\$ICONFILE\$\$/$xiconfile/g; + while ($macentry =~ m/\$\$([^\$]*)EXTENSIONS([^\$]*)\$\$/) { + my $pre = $1; + my $post = $2; + my $macextensions; + for my $ext (@extensions) { + my $xext = xml_escape($ext); + $macextensions .= $pre.$xext.$post; + } + $macentry =~ s/\$\$${pre}EXTENSIONS${post}\$\$/$macextensions/g; + } + print MA $macentry; - $i4jentry =~ s/\$\$NAME\$\$/$name/g; - $i4jentry =~ s/\$\$SHORTNAME\$\$/$shortname/g; - $i4jentry =~ s/\$\$MIMETYPE\$\$/$mimetype/g; - $i4jentry =~ s/\$\$ICONFILE\$\$/$iconfile/g; + my $i4jentry = $i4jtemplate; + $i4jentry =~ s/\$\$NAME\$\$/$xname/g; + $i4jentry =~ s/\$\$SHORTNAME\$\$/$xshortname/g; + $i4jentry =~ s/\$\$MIMETYPE\$\$/$xmimetype/g; + $i4jentry =~ s/\$\$ICONFILE\$\$/$xiconfile/g; 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 $i4jextentry = $i4jentry; - $i4jextentry =~ s/\$\$EXTENSION\$\$/$ext/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; } @@ -135,3 +202,12 @@ for my $shortname (@put_first, sort keys %all_associations) { } close(IA); +print MA "\n"; +close(MA); + +sub xml_escape { + my $x = shift; + # stolen from Pod::Simple::XMLOutStream in base distro + $x =~ s/([^-\n\t !\#\$\%\(\)\*\+,\.\~\/\:\;=\?\@\[\\\]\^_\`\{\|\}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789])/'&#'.(ord($1)).';'/eg; + return $x; +} diff --git a/utils/install4j/file_associations_auto-Info_plist.xml b/utils/install4j/file_associations_auto-Info_plist.xml index da2633b..5922f2d 100644 --- a/utils/install4j/file_associations_auto-Info_plist.xml +++ b/utils/install4j/file_associations_auto-Info_plist.xml @@ -26,9 +26,9 @@ jvl CFBundleTypeName -Jalview Version Locator File +Jalview Launch File CFBundleTypeIconFile -Jalview-Version-Locator.icns +Jalview-Launch.icns CFBundleTypeRole Editor CFBundleTypeMIMETypes @@ -52,7 +52,7 @@ Editor CFBundleTypeMIMETypes -text/x-amsa +application/x-amsa+txt LSIsAppleDefaultForType @@ -100,7 +100,6 @@ CFBundleTypeExtensions -BLC blc CFBundleTypeName @@ -111,7 +110,7 @@ Editor CFBundleTypeMIMETypes -text/x-blc +application/x-blc+txt LSIsAppleDefaultForType @@ -130,7 +129,7 @@ Editor CFBundleTypeMIMETypes -text/x-clustal +application/x-clustal+txt LSIsAppleDefaultForType @@ -150,7 +149,7 @@ Editor CFBundleTypeMIMETypes -text/x-fasta +application/x-fasta+txt LSIsAppleDefaultForType @@ -189,7 +188,7 @@ Editor CFBundleTypeMIMETypes -text/x-gff2 +application/x-gff2+txt LSIsAppleDefaultForType @@ -208,7 +207,7 @@ Editor CFBundleTypeMIMETypes -text/x-gff3 +application/x-gff3+txt LSIsAppleDefaultForType @@ -286,7 +285,7 @@ Editor CFBundleTypeMIMETypes -text/x-msf +application/x-msf+txt LSIsAppleDefaultForType @@ -325,7 +324,7 @@ Editor CFBundleTypeMIMETypes -text/x-pfam +application/x-pfam+txt LSIsAppleDefaultForType @@ -344,7 +343,7 @@ Editor CFBundleTypeMIMETypes -text/x-phylip +application/x-phylip+txt LSIsAppleDefaultForType @@ -363,7 +362,7 @@ Editor CFBundleTypeMIMETypes -text/x-pileup +application/x-pileup+txt LSIsAppleDefaultForType @@ -382,7 +381,7 @@ Editor CFBundleTypeMIMETypes -text/x-pir +application/x-pir+txt LSIsAppleDefaultForType @@ -440,7 +439,7 @@ Editor CFBundleTypeMIMETypes -text/x-stockholm +application/x-stockholm+txt LSIsAppleDefaultForType diff --git a/utils/install4j/file_associations_auto-install4j8.xml b/utils/install4j/file_associations_auto-install4j8.xml index ab44bb5..52438d1 100644 --- a/utils/install4j/file_associations_auto-install4j8.xml +++ b/utils/install4j/file_associations_auto-install4j8.xml @@ -1,682 +1,1260 @@ - - - Jalview File - jvp - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Jalview Version Locator File - jvl - 737 - - - Jalview-Version-Locator.icns - - - - - - - Jalview-Version-Locator.ico - - - - - - - - - - AMSA File - amsa - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Jalview Annotations File - annotations - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Jalview Annotations File - jvannotations - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - BioJSON File - biojson - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - BLC File - BLC - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - BLC File - blc - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Clustal File - aln - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Fasta File - fa - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Fasta File - fasta - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Jalview Features File - features - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Jalview Features File - jvfeatures - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Generic Features Format v2 File - gff2 - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Generic Features Format v3 File - gff3 - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - JnetFile File - concise - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - JnetFile File - jnet - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - mmCIF File - cif - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - mmCIF File - mcif - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - mmCIF File - mmcif - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - MSF File - msf - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - PDB File - pdb - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - PDB File - ent - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - PFAM File - pfam - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - PHYLIP File - phy - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - PileUp File - pileup - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - PIR File - pir - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - RNAML File - rnaml - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Substitution Matrix File - mat - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Stockholm File - sto - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - - - - - Stockholm File - stk - 737 - - - Jalview-File.icns - - - - - - - Jalview-File.ico - - - - - - + + + Jalview (.jvp) + Creating file associations... + + + + + + + + + + + + + Jalview File + jvp + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview+xml+zip + + + Jalview-File.ico + + + + + + + + Jalview Launch (.jvl) + Creating file associations... + + + + + + + + + + + + + Jalview Launch File + jvl + 737 + + + Jalview-Launch.icns + + + + + + + + + Jalview-Launch.png + + + application/x-jalview-jvl+text + + + Jalview-Launch.ico + + + + + + + + AMSA (.amsa) + Creating file associations... + + + + + + + + + + + + + AMSA File + amsa + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-amsa+txt + + + Jalview-File.ico + + + + + + + + Jalview Annotations (.annotations) + Creating file associations... + + + + + + + + + + + + + Jalview Annotations File + annotations + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-annotations+text + + + Jalview-File.ico + + + + + + + + Jalview Annotations (.jvannotations) + Creating file associations... + + + + + + + + + + + + + Jalview Annotations File + jvannotations + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-annotations+text + + + Jalview-File.ico + + + + + + + + BioJSON (.biojson) + Creating file associations... + + + + + + + + + + + + + BioJSON File + biojson + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-biojson+json + + + Jalview-File.ico + + + + + + + + BLC (.blc) + Creating file associations... + + + + + + + + + + + + + BLC File + blc + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-blc+txt + + + Jalview-File.ico + + + + + + + + Clustal (.aln) + Creating file associations... + + + + + + + + + + + + + Clustal File + aln + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-clustal+txt + + + Jalview-File.ico + + + + + + + + Fasta (.fa) + Creating file associations... + + + + + + + + + + + + + Fasta File + fa + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-fasta+txt + + + Jalview-File.ico + + + + + + + + Fasta (.fasta) + Creating file associations... + + + + + + + + + + + + + Fasta File + fasta + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-fasta+txt + + + Jalview-File.ico + + + + + + + + Jalview Features (.features) + Creating file associations... + + + + + + + + + + + + + Jalview Features File + features + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-features+text + + + Jalview-File.ico + + + + + + + + Jalview Features (.jvfeatures) + Creating file associations... + + + + + + + + + + + + + Jalview Features File + jvfeatures + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-features+text + + + Jalview-File.ico + + + + + + + + Generic Features Format v2 (.gff2) + Creating file associations... + + + + + + + + + + + + + Generic Features Format v2 File + gff2 + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-gff2+txt + + + Jalview-File.ico + + + + + + + + Generic Features Format v3 (.gff3) + Creating file associations... + + + + + + + + + + + + + Generic Features Format v3 File + gff3 + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-gff3+txt + + + Jalview-File.ico + + + + + + + + JnetFile (.concise) + Creating file associations... + + + + + + + + + + + + + JnetFile File + concise + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-jnet+text + + + Jalview-File.ico + + + + + + + + JnetFile (.jnet) + Creating file associations... + + + + + + + + + + + + + JnetFile File + jnet + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-jnet+text + + + Jalview-File.ico + + + + + + + + mmCIF (.cif) + Creating file associations... + + + + + + + + + + + + + mmCIF File + cif + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + chemical/x-cif + + + Jalview-File.ico + + + + + + + + mmCIF (.mcif) + Creating file associations... + + + + + + + + + + + + + mmCIF File + mcif + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + chemical/x-mcif + + + Jalview-File.ico + + + + + + + + mmCIF (.mmcif) + Creating file associations... + + + + + + + + + + + + + mmCIF File + mmcif + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + chemical/x-mcif + + + Jalview-File.ico + + + + + + + + MSF (.msf) + Creating file associations... + + + + + + + + + + + + + MSF File + msf + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-msf+txt + + + Jalview-File.ico + + + + + + + + PDB (.pdb) + Creating file associations... + + + + + + + + + + + + + PDB File + pdb + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + chemical/x-pdb + + + Jalview-File.ico + + + + + + + + PDB (.ent) + Creating file associations... + + + + + + + + + + + + + PDB File + ent + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + chemical/x-pdb + + + Jalview-File.ico + + + + + + + + PFAM (.pfam) + Creating file associations... + + + + + + + + + + + + + PFAM File + pfam + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-pfam+txt + + + Jalview-File.ico + + + + + + + + PHYLIP (.phy) + Creating file associations... + + + + + + + + + + + + + PHYLIP File + phy + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-phylip+txt + + + Jalview-File.ico + + + + + + + + PileUp (.pileup) + Creating file associations... + + + + + + + + + + + + + PileUp File + pileup + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-pileup+txt + + + Jalview-File.ico + + + + + + + + PIR (.pir) + Creating file associations... + + + + + + + + + + + + + PIR File + pir + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-pir+txt + + + Jalview-File.ico + + + + + + + + RNAML (.rnaml) + Creating file associations... + + + + + + + + + + + + + RNAML File + rnaml + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/rnaml+xml + + + Jalview-File.ico + + + + + + + + Substitution Matrix (.mat) + Creating file associations... + + + + + + + + + + + + + Substitution Matrix File + mat + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-jalview-scorematrix+text + + + Jalview-File.ico + + + + + + + + Stockholm (.sto) + Creating file associations... + + + + + + + + + + + + + Stockholm File + sto + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-stockholm+txt + + + Jalview-File.ico + + + + + + + + Stockholm (.stk) + Creating file associations... + + + + + + + + + + + + + Stockholm File + stk + 737 + + + Jalview-File.icns + + + + + + + + + Jalview-File.png + + + application/x-stockholm+txt + + + Jalview-File.ico + + + + diff --git a/utils/install4j/file_associations_template-install4j8.xml b/utils/install4j/file_associations_template-install4j8.xml index ce5ebae..ee3aec8 100644 --- a/utils/install4j/file_associations_template-install4j8.xml +++ b/utils/install4j/file_associations_template-install4j8.xml @@ -1,22 +1,42 @@ - - - $$NAME$$ File - $$EXTENSION$$ - 737 - - - $$ICONFILE$$.icns - - - - - - - $$ICONFILE$$.ico - - - - + + + $$NAME$$ (.$$EXTENSION$$) + Creating file associations... + + + + + + + + + - + + + $$NAME$$ File + $$EXTENSION$$ + 737 + + + $$ICONFILE$$.icns + + + + + + + + + $$ICONFILE$$.png + + + $$MIMETYPE$$ + + + $$ICONFILE$$.ico + + + + diff --git a/utils/install4j/install4j8_template.install4j b/utils/install4j/install4j8_template.install4j index e595d04..1d7c17f 100644 --- a/utils/install4j/install4j8_template.install4j +++ b/utils/install4j/install4j8_template.install4j @@ -363,6 +363,7 @@ return console.askOkCancel(message, true); + @@ -403,6 +404,28 @@ return console.askOkCancel(message, true); + + + + + Creating file associations... + + + + + + + + + + + + This action, identified by its name "EXTENSIONS_REPLACED_BY_GRADLE", will be replaced by gradle with the contents of file 'file_associations_auto_install4j.xml'. + extensions_to_be_replaced_by_gradle + + + + @@ -469,12 +492,6 @@ return console.askOkCancel(message, true); context.getBooleanVariable("addToDockAction") - - - This action, identified by its name "EXTENSIONS_REPLACED_BY_GRADLE", will be replaced by gradle with the contents of file 'file_associations_auto_install4j.xml'. - extensions_to_be_replaced_by_gradle - - @@ -1095,7 +1112,7 @@ return console.askYesNo(message, true); - + @@ -1115,7 +1132,7 @@ return console.askYesNo(message, true); - + -- 1.7.10.2