source: LMDZ6/branches/Amaury_dev/tools/fcm/sbin/fcm-add-trac-env @ 5099

Last change on this file since 5099 was 5095, checked in by abarral, 4 months ago

Revert cosp*/ from the trunk, as it's external code
Add missing bits from FCM2 source

  • Property svn:executable set to *
File size: 2.8 KB
RevLine 
[5095]1#!/usr/bin/perl
2# ------------------------------------------------------------------------------
3# Copyright (C) 2006-2021 British Crown (Met Office) & Contributors.
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
115Copyright (C) 2006-2021 British Crown (Met Office) & Contributors.
116
117=cut
Note: See TracBrowser for help on using the repository browser.