Jira (PUP-10390) Ruby file gets loaded twice

15 views
Skip to first unread message

Luchian Nemes (Jira)

unread,
Mar 27, 2020, 4:58:03 AM3/27/20
to puppe...@googlegroups.com
Luchian Nemes created an issue
 
Puppet / Improvement PUP-10390
Ruby file gets loaded twice
Issue Type: Improvement Improvement
Assignee: Unassigned
Created: 2020/03/27 1:57 AM
Priority: Low Low
Reporter: Luchian Nemes

The provider/package/gem.rb file gets loaded twice. This prevents us from having constant variables without getting the following warnings at each run:
/Users/luchi/repos/puppet/lib/puppet/provider/package/gem.rb:21: warning: already initialized constant MY_CONSTANT_VARIABLE
/Users/luchi/repos/puppet/lib/puppet/provider/package/gem.rb:21: warning: previous definition of MY_CONSTANT_VARIABLE was here

This happens due to the require done in provider/package/puppet_gem.rb and then loaded again in util/autoload.rb. This can be seen by putting a 'puts(caller)' in provider/package/gem.rb.

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Luchian Nemes (Jira)

unread,
Mar 27, 2020, 5:05:05 AM3/27/20
to puppe...@googlegroups.com
Luchian Nemes updated an issue
Change By: Luchian Nemes
The [provider/package/gem.rb|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/gem.rb] file gets loaded twice. This prevents us from having constant variables without getting the following warnings at each run:
*/Users/luchi/repos/puppet/lib/puppet/provider/package/gem.rb:21: warning: already initialized constant MY_CONSTANT_VARIABLE*
*/Users/luchi/repos/puppet/lib/puppet/provider/package/gem.rb:21: warning: previous definition of MY_CONSTANT_VARIABLE was here*

This happens due to the require done in [provider/package/puppet_gem.rb|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/puppet_gem.rb] and then loaded again in [util/autoload.rb|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/autoload.rb]. This can be seen by putting a 'puts(caller)' in [provider/package/gem.rb|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/gem.rb].


After fixing the issue, a refactoring should be done in [provider/package/gem.rb|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/gem.rb] to use (for better code readability):
|GEM_VERSION = Puppet::Util::Package::Version::Gem|
|GEM_VERSION_RANGE = Puppet::Util::Package::Version::Range|

Mihai Buzgau (Jira)

unread,
Mar 31, 2020, 10:56:03 AM3/31/20
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR NW - Triage 2020-04-15

Mihai Buzgau (Jira)

unread,
Apr 1, 2020, 5:02:03 AM4/1/20
to puppe...@googlegroups.com

Mihai Buzgau (Jira)

unread,
Apr 1, 2020, 5:05:03 AM4/1/20
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Story Points: 3

Luchian Nemes (Jira)

unread,
Apr 2, 2020, 1:03:04 PM4/2/20
to puppe...@googlegroups.com
Luchian Nemes assigned an issue to Luchian Nemes
Change By: Luchian Nemes
Assignee: Luchian Nemes

Gabriel Nagy (Jira)

unread,
Apr 23, 2020, 8:16:03 AM4/23/20
to puppe...@googlegroups.com
Gabriel Nagy updated an issue
Change By: Gabriel Nagy
Fix Version/s: PUP 6.15.0

Claire Cadman (Jira)

unread,
Apr 27, 2020, 6:52:03 AM4/27/20
to puppe...@googlegroups.com
Claire Cadman updated an issue
Change By: Claire Cadman
Labels: doc_reviewed
Reply all
Reply to author
Forward
0 new messages