3 =head1 NAME $RCSfile: Project.pm,v $
5 Object oriented interface to UCM Projects
13 Andrew DeFaria <Andrew@ClearSCM.com>
21 Fri May 14 18:16:16 PDT 2010
25 $Date: 2011/11/15 02:00:58 $
31 Provides access to information about Clearcase UCM Projects.
33 my $project = new Clearcase::UCM::Project ($name, $folder, $pvob);
37 This module implements a UCM Project object
41 The following routines are exported:
45 package Clearcase::UCM::Project;
51 my ($class, $name, $folder, $pvob) = @_;
57 Construct a new Clearcase Project object.
61 =for html <blockquote>
79 =for html </blockquote>
83 =for html <blockquote>
87 =item Clearcase Project object
91 =for html </blockquote>
95 $folder = Clearcase::UCM::Folder->new('RootFolder', $pvob) unless $folder;
113 Returns the name of the project
117 =for html <blockquote>
125 =for html </blockquote>
129 =for html <blockquote>
137 =for html </blockquote>
141 return $self->{name};
151 Returns the pvob of the project
155 =for html <blockquote>
163 =for html </blockquote>
167 =for html <blockquote>
175 =for html </blockquote>
179 return $self->{pvob};
183 my ($self, $opts) = @_;
189 Creates a new UCM Project Object
193 =for html <blockquote>
199 Optional parameters for cleartool mkproject command
203 =for html </blockquote>
207 =for html <blockquote>
213 Status from cleartool
221 =for html </blockquote>
225 return (0, ()) if $self->exists;
229 return $Clearcase::CC->execute(
230 "mkproject $opts -in " . $self->{folder}->name . '@' . $self->{pvob}->tag .
231 ' ' . $self->{name} . '@' . $self->{pvob}->tag
246 =for html <blockquote>
250 =for html </blockquote>
254 =for html <blockquote>
260 Status from cleartool
268 =for html </blockquote>
272 return $Clearcase::CC->execute
273 ('rmproject -f ' . $self->{name} . "\@" . $self->{pvob}->tag);
277 my ($self, $opts) = @_;
287 =for html <blockquote>
295 =for html </blockquote>
299 =for html <blockquote>
305 Status from cleartool
313 =for html </blockquote>
319 return $Clearcase::CC->execute
320 ("chproject $opts " . $self->{name} . "\@" . $self->{pvob}->name);
330 Returns true if the project exists - false otherwise
334 =for html <blockquote>
342 =for html </blockquote>
346 =for html <blockquote>
354 =for html </blockquote>
358 my ($status, @output) = $Clearcase::CC->execute(
359 'lsproject ' . $self->{name} . '@' . $self->{pvob}->name
369 =head2 ClearSCM Perl Modules
371 =for html <p><a href="/php/scm_man.php?file=lib/Clearcase.pm">Clearcase</a></p>
373 =for html <p><a href="/php/scm_man.php?file=lib/Clearcase/UCM/Folder.pm">Clearcase::UCM::Folder</a></p>
375 =head1 INCOMPATABILITIES
379 =head1 BUGS AND LIMITATIONS
381 There are no known bugs in this module.
383 Please report problems to Andrew DeFaria <Andrew@ClearSCM.com>.
385 =head1 LICENSE AND COPYRIGHT
387 Copyright (c) 2007, ClearSCM, Inc. All rights reserved.