source: vendors/FCM-2017.10.0/sbin/fcm-add-trac-env @ 10672

Last change on this file since 10672 was 10672, checked in by nicolasmartin, 3 years ago

Reimport latest FCM release

File size: 2.8 KB
Line 
1#!/usr/bin/perl
2# ------------------------------------------------------------------------------
3# (C) British Crown Copyright 2006-17 Met Office.
4#
5# This file is part of FCM, tools for managing and building source code.
6#
7# FCM is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11#
12# FCM is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with FCM. If not, see <http://www.gnu.org/licenses/>.
19# ------------------------------------------------------------------------------
20
21use strict;
22use warnings;
23
24use FindBin;
25use lib "$FindBin::Bin/../lib";
26use FCM::Admin::System qw{add_trac_environment};
27use FCM::Admin::Util qw{option2config};
28use Getopt::Long qw{GetOptions};
29use Pod::Usage qw{pod2usage};
30
31main();
32
33sub main {
34    my %option;
35    my $result = GetOptions(
36        \%option,
37        q{help|usage|h},
38        q{svn-live-dir=s},
39        q{svn-project-suffix=s},
40        q{trac-host-id=s},
41        q{trac-live-dir=s},
42    );
43    if (!$result) {
44        pod2usage(1);
45    }
46    if (exists($option{help})) {
47        pod2usage(q{-verbose} => 1);
48    }
49    option2config(\%option);
50    if (@ARGV != 1) {
51        my $message = sprintf(
52            qq{Expected exactly 1 argument, %d given.}, scalar(@ARGV),
53        );
54        pod2usage({q{-exitval} => 1, q{-message} => $message});
55    }
56    my ($project_name) = @ARGV;
57    add_trac_environment($project_name);
58}
59
60__END__
61=head1 NAME
62
63fcm-add-trac-env
64
65=head1 SYNOPSIS
66
67    fcm-add-trac-env [OPTIONS] PROJECT
68
69=head1 OPTIONS
70
71=over 4
72
73=item --help, -h, --usage
74
75Prints help and exits.
76
77=item --svn-live-dir=DIR
78
79Specifies the root location of the live directory of Subversion repositories.
80See L<FCM::Admin::Config|FCM::Admin::Config> for the current default.
81
82=item --svn-project-suffix=NAME
83
84Specifies the suffix added to the project name for Subversion repositories. The
85default is "_svn".
86
87=item --trac-host-id=HOST
88
89Specifies the host ID of the Trac server for the new Trac environment. See
90L<FCM::Admin::Config|FCM::Admin::Config> for the current default.
91
92=item --trac-live-dir=DIR
93
94Specifies the root location of the live directory of Trac environments. See
95L<FCM::Admin::Config|FCM::Admin::Config> for the current default.
96
97=back
98
99=head1 ARGUMENTS
100
101=over 4
102
103=item PROJECT
104
105Specifies the name of the project to add.
106
107=back
108
109=head1 DESCRIPTION
110
111This program adds a new Trac environment to the live directory.
112
113=head1 COPYRIGHT
114
115E<169> Crown copyright Met Office. All rights reserved.
116
117=cut
Note: See TracBrowser for help on using the repository browser.