summaryrefslogtreecommitdiff
path: root/solenv/bin/modules/CwsConfig.pm
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/bin/modules/CwsConfig.pm')
-rw-r--r--solenv/bin/modules/CwsConfig.pm107
1 files changed, 36 insertions, 71 deletions
diff --git a/solenv/bin/modules/CwsConfig.pm b/solenv/bin/modules/CwsConfig.pm
index 6121691e1e7f..1ba12fecac1d 100644
--- a/solenv/bin/modules/CwsConfig.pm
+++ b/solenv/bin/modules/CwsConfig.pm
@@ -343,94 +343,59 @@ sub get_so_svn_server
#### HG methods ####
-sub get_ooo_hg_local_source
+sub _get_hg_source
{
- my $self = shift;
-
- if ( !defined($self->{HG_LOCAL_SOURCE}) ) {
+ my $self = shift;
+ my $repository_source = shift;
+ if ( !defined($self->{$repository_source}) ) {
my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{'HG_LOCAL_SOURCE'};
+ my $source = $config_file->{CWS_CONFIG}->{$repository_source};
if ( !defined($source) ) {
$source = "";
}
- $self->{HG_LOCAL_SOURCE} = $source;
+ $self->{$repository_source} = $source;
}
- return $self->{HG_LOCAL_SOURCE} ? $self->{HG_LOCAL_SOURCE} : undef;
-}
-
-sub get_ooo_hg_lan_source
-{
- my $self = shift;
+ return $self->{$repository_source} ? $self->{$repository_source} : undef;
- if ( !defined($self->{HG_LAN_SOURCE}) ) {
- my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{'HG_LAN_SOURCE'};
- if ( !defined($source) ) {
- $source = "";
- }
- $self->{HG_LAN_SOURCE} = $source;
- }
- return $self->{HG_LAN_SOURCE} ? $self->{HG_LAN_SOURCE} : undef;
}
-sub get_ooo_hg_remote_source
+sub get_hg_source
{
- my $self = shift;
+ my $self = shift;
+ my $repository = shift;
+ my $location = shift;
- if ( !defined($self->{HG_REMOTE_SOURCE}) ) {
- my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{'HG_REMOTE_SOURCE'};
- if ( !defined($source) ) {
- $source = "";
+ #Special prefix handling, see cwsrc
+ if ($repository eq "OOO")
+ {
+ if ($location eq "LOCAL")
+ {
+ return $self->_get_hg_source('HG_LOCAL_SOURCE');
}
- $self->{HG_REMOTE_SOURCE} = $source;
- }
- return $self->{HG_REMOTE_SOURCE} ? $self->{HG_REMOTE_SOURCE} : undef;
-}
-
-sub get_so_hg_local_source
-{
- my $self = shift;
-
- if ( !defined($self->{SO_HG_LOCAL_SOURCE}) ) {
- my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{'SO_HG_LOCAL_SOURCE'};
- if ( !defined($source) ) {
- $source = "";
+ elsif ($location eq "LAN")
+ {
+ return $self->_get_hg_source('HG_LAN_SOURCE');
}
- $self->{SO_HG_LOCAL_SOURCE} = $source;
- }
- return $self->{SO_HG_LOCAL_SOURCE} ? $self->{SO_HG_LOCAL_SOURCE} : undef;
-}
-
-sub get_so_hg_lan_source
-{
- my $self = shift;
-
- if ( !defined($self->{SO_HG_LAN_SOURCE}) ) {
- my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{'SO_HG_LAN_SOURCE'};
- if ( !defined($source) ) {
- $source = "";
+ elsif ($location eq "REMOTE")
+ {
+ return $self->_get_hg_source('HG_REMOTE_SOURCE');
}
- $self->{SO_HG_LAN_SOURCE} = $source;
}
- return $self->{SO_HG_LAN_SOURCE} ? $self->{SO_HG_LAN_SOURCE} : undef;
-}
-
-sub get_so_hg_remote_source
-{
- my $self = shift;
-
- if ( !defined($self->{SO_HG_REMOTE_SOURCE}) ) {
- my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{'SO_HG_REMOTE_SOURCE'};
- if ( !defined($source) ) {
- $source = "";
+ else
+ {
+ if ($location eq "LOCAL")
+ {
+ return $self->_get_hg_source($repository.'_HG_LOCAL_SOURCE');
+ }
+ elsif ($location eq "LAN")
+ {
+ return $self->_get_hg_source($repository.'_HG_LAN_SOURCE');
+ }
+ elsif ($location eq "REMOTE")
+ {
+ return $self->_get_hg_source($repository.'_HG_REMOTE_SOURCE');
}
- $self->{SO_HG_REMOTE_SOURCE} = $source;
}
- return $self->{SO_HG_REMOTE_SOURCE} ? $self->{SO_HG_REMOTE_SOURCE} : undef;
}
#### Prebuild binaries configuration ####