Skip Menu |

This queue is for tickets about the Tickit-Widget-Scroller CPAN distribution.

Report information
The Basics
Id: 132742
Status: resolved
Priority: 0/
Queue: Tickit-Widget-Scroller

People
Owner: Nobody in particular
Requestors: TEAM [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.24
Fixed in: 0.25



Subject: Object::Pad class definitions cannot be parsed by toolchain
As discussed in IRC: Various parts of the toolchain try to parse the Perl source to find a $VERSION directive. Since this distribution - and several other widgets - now use the Object::Pad `class WidgetName VERSION` syntax, those tools are no longer able to identify the version. Cases include EUMM and V.pm. Since there are likely to be various other places that have similarly copied the relevant source-parsing code, it seems unlikely that the toolchain will be updated to handle these anytime soon. Simplest option would be to add `package` + `$VERSION` definitions back in?
Yes; somewhat unfortunate. I shall continue trying to push the state of toolchain components but in the meantime some back-compat workaround is likely necessary. I -think- most of the tooling can parse a fully-qualified $Tickit::Widget::VERSION = ... so that might be the way to do it. -- Paul Evans
On Mon Jun 01 08:46:01 2020, PEVANS wrote: Show quoted text
> Yes; somewhat unfortunate. I shall continue trying to push the state > of toolchain components but in the meantime some back-compat > workaround is likely necessary. > > I -think- most of the tooling can parse a fully-qualified > > $Tickit::Widget::VERSION = ... > > so that might be the way to do it.
Turns out that -some- toolchain modules are happy with that approach, but others fail to notice anything for lack of a `package` keyword. It seems like that syntax really is required :( I've updated the syntax suggestions in Object::Pad to recommend package Some::Class 1.23; class Some::Class; ... https://metacpan.org/pod/Object::Pad#$VERSION-declaration and currently trialing it on a couple of my Device::Chip subclasses. If that seems happy over the weekend I'll bump all the Tickit::Widget dists tomorrow. -- Paul Evans
All the Tickit-Widget subclass dists are now done. The underlying toolchain issue still remains, but I don't think folks there will be too quick to adopt additional parsing. For now, the documented workarounds keep toolchain modules happy, at only a small cost to repeated syntax. It's not ideal but not a major problem. -- Paul Evans