File Coverage

blib/lib/Maven/Xml/Settings.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1 1     1   15690 use strict;
  1         3  
  1         29  
2 1     1   3 use warnings;
  1         1  
  1         54  
3              
4             package Maven::Xml::Settings;
5             $Maven::Xml::Settings::VERSION = '1.12';
6             # ABSTRACT: Maven Settings element
7             # PODNAME: Maven::Xml::Settings
8              
9 1     1   547 use Maven::Xml::Common::BaseProfile;
  0            
  0            
10             use Maven::Xml::Common::Configuration;
11             use Maven::Xml::Common::Repository;
12              
13             use parent qw(Maven::Xml::XmlFile);
14             __PACKAGE__->follow_best_practice;
15             __PACKAGE__->mk_accessors(
16             qw(
17             localRepository
18             interactiveMode
19             usePluginRegistry
20             offline
21             settings
22             proxies
23             servers
24             mirrors
25             profiles
26             activeProfiles
27             pluginGroups
28             )
29             );
30              
31             sub _add_value {
32             my ( $self, $name, $value ) = @_;
33              
34             return if ( $name eq 'settings' );
35             return if ( $name eq 'proxies' );
36             return if ( $name eq 'servers' );
37             return if ( $name eq 'mirrors' );
38             return if ( $name eq 'profiles' );
39             return if ( $name eq 'activeProfiles' );
40             return if ( $name eq 'pluginGroups' );
41              
42             if ( $name eq 'proxy' ) {
43             push( @{ $self->{proxies} }, $value );
44             }
45             elsif ( $name eq 'server' ) {
46             push( @{ $self->{servers} }, $value );
47             }
48             elsif ( $name eq 'mirror' ) {
49             push( @{ $self->{mirrors} }, $value );
50             }
51             elsif ( $name eq 'profile' ) {
52             push( @{ $self->{profiles} }, $value );
53             }
54             elsif ( $name eq 'activeProfile' ) {
55             push( @{ $self->{activeProfiles} }, $value );
56             }
57             elsif ( $name eq 'pluginGroup' ) {
58             push( @{ $self->{pluginGroups} }, $value );
59             }
60             else {
61             $self->Maven::Xml::XmlNodeParser::_add_value( $name, $value );
62             }
63             }
64              
65             sub _get_parser {
66             my ( $self, $name ) = @_;
67             if ( $name eq 'proxy' ) {
68             return Maven::Xml::Settings::Proxy->new();
69             }
70             elsif ( $name eq 'server' ) {
71             return Maven::Xml::Settings::Server->new();
72             }
73             elsif ( $name eq 'mirror' ) {
74             return Maven::Xml::Settings::Mirror->new();
75             }
76             elsif ( $name eq 'profile' ) {
77             return Maven::Xml::Settings::Profile->new();
78             }
79             return $self;
80             }
81              
82             package Maven::Xml::Settings::Proxy;
83             $Maven::Xml::Settings::Proxy::VERSION = '1.12';
84             use parent qw(Maven::Xml::XmlNodeParser);
85             __PACKAGE__->follow_best_practice;
86             __PACKAGE__->mk_ro_accessors(
87             qw(
88             active
89             protocol
90             username
91             password
92             port
93             host
94             nonProxyHosts
95             id
96             )
97             );
98              
99             package Maven::Xml::Settings::Server;
100             $Maven::Xml::Settings::Server::VERSION = '1.12';
101             use parent qw(Maven::Xml::XmlNodeParser);
102             __PACKAGE__->follow_best_practice;
103             __PACKAGE__->mk_ro_accessors(
104             qw(
105             username
106             password
107             privateKey
108             passphrase
109             filePermissions
110             directoryPermissions
111             configuration
112             id
113             )
114             );
115              
116             sub _get_parser {
117             my ( $self, $name ) = @_;
118             if ( $name eq 'configuration' ) {
119             return Maven::Xml::Common::Configuration->new();
120             }
121             return $self;
122             }
123              
124             package Maven::Xml::Settings::Mirror;
125             $Maven::Xml::Settings::Mirror::VERSION = '1.12';
126             use parent qw(Maven::Xml::XmlNodeParser);
127             __PACKAGE__->follow_best_practice;
128             __PACKAGE__->mk_ro_accessors(
129             qw(
130             mirrorOf
131             name
132             url
133             layout
134             mirrorOfLayouts
135             id
136             )
137             );
138              
139             package Maven::Xml::Settings::Profile;
140             $Maven::Xml::Settings::Profile::VERSION = '1.12';
141             use parent qw(Maven::Xml::Common::BaseProfile);
142             __PACKAGE__->follow_best_practice;
143             __PACKAGE__->mk_ro_accessors(
144             qw(
145             properties
146             )
147             );
148              
149             sub _get_parser {
150             my ( $self, $name ) = @_;
151              
152             if ( $name eq 'properties' ) {
153             return Maven::Xml::Settings::Profile::Properties->new();
154             }
155              
156             return $self->Maven::Xml::Common::BaseProfile::_get_parser($name);
157             }
158              
159             package Maven::Xml::Settings::Profile::Properties;
160             $Maven::Xml::Settings::Profile::Properties::VERSION = '1.12';
161             use parent qw(Maven::Xml::XmlNodeParser);
162             __PACKAGE__->follow_best_practice;
163              
164             1;
165              
166             __END__