|
79 | 79 | my $perls_dir = path(app->config->{perls_dir} // app->home->child('perls'));
|
80 | 80 | helper perls_dir => sub ($c) { $perls_dir };
|
81 | 81 |
|
82 |
| -my (@all_versions, @perl_versions, @dev_versions, $latest_version); |
| 82 | +my (@all_versions, @perl_versions, @dev_versions, %version_is_dev, $latest_version); |
83 | 83 | helper warmup_perl_versions => sub ($c) {
|
84 | 84 | @all_versions = -d $c->perls_dir ? $c->perls_dir->list({dir => 1})
|
85 | 85 | ->grep(sub { -d && -x path($_)->child('bin', 'perl') })
|
86 | 86 | ->map(sub { $_->basename })
|
87 | 87 | ->sort(sub { versioncmp($b, $a) })->each : ();
|
88 | 88 |
|
89 |
| - (@perl_versions, @dev_versions) = (); |
| 89 | + (@perl_versions, @dev_versions, %version_is_dev) = (); |
90 | 90 | $latest_version = app->config->{latest_perl_version};
|
91 | 91 | if (@all_versions) {
|
92 | 92 | foreach my $perl_version (@all_versions) {
|
93 | 93 | my $v = app->warmup_version_object($perl_version);
|
94 |
| - if ($perl_version eq 'blead' or $perl_version =~ m/-RC[0-9]+$/) { |
95 |
| - push @dev_versions, $perl_version; |
96 |
| - } elsif ($v < version->parse('v5.6.0') and ($v->{version}[2] // 0) >= 500) { |
97 |
| - push @dev_versions, $perl_version; |
98 |
| - } elsif ($v >= version->parse('v5.6.0') and ($v->{version}[1] // 0) % 2) { |
| 94 | + if ($perl_version eq 'blead' or $perl_version =~ m/-RC[0-9]+$/ |
| 95 | + or ($v < version->parse('v5.6.0') and ($v->{version}[2] // 0) >= 500) |
| 96 | + or ($v >= version->parse('v5.6.0') and ($v->{version}[1] // 0) % 2)) { |
99 | 97 | push @dev_versions, $perl_version;
|
| 98 | + $version_is_dev{$perl_version} = 1; |
100 | 99 | } else {
|
101 | 100 | push @perl_versions, $perl_version;
|
| 101 | + $version_is_dev{$perl_version} = 0; |
102 | 102 | $latest_version //= $perl_version if defined $v;
|
103 | 103 | }
|
104 | 104 | app->warmup_inc_dirs($perl_version);
|
|
107 | 107 | $latest_version //= $all_versions[0];
|
108 | 108 | } else {
|
109 | 109 | my $current_version = $Config{version};
|
110 |
| - ($Config{PERL_VERSION} % 2) ? (push @dev_versions, $current_version) : (push @perl_versions, $current_version); |
| 110 | + if ($Config{PERL_VERSION} % 2) { |
| 111 | + push @dev_versions, $current_version; |
| 112 | + $version_is_dev{$current_version} = 1; |
| 113 | + } else { |
| 114 | + push @perl_versions, $current_version; |
| 115 | + $version_is_dev{$current_version} = 0; |
| 116 | + } |
111 | 117 | @all_versions = $current_version;
|
112 | 118 | $latest_version //= $current_version;
|
113 | 119 | $inc_dirs{$current_version} = [@current_inc, File::Spec->catdir($Config{installprivlib}, 'pods'), $Config{scriptdir}];
|
|
126 | 132 |
|
127 | 133 | helper latest_perl_version => sub ($c) { $latest_version };
|
128 | 134 |
|
| 135 | +helper perl_version_is_dev => sub ($c, $perl_version) { $version_is_dev{$perl_version} }; |
| 136 | + |
129 | 137 | app->warmup_perl_versions;
|
130 | 138 |
|
131 | 139 | my $csp = join '; ',
|
|
0 commit comments