View Javadoc

1   /*
2    * ----------------------------------------------------------------------
3    * Copyright (C) 2009 Enrique Lara (k957@68k.org)
4    *
5    * TinLizard is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU Lesser General Public License
7    * as published by the Free Software Foundation; either version 3.0
8    * of the License, or (at your option) any later version.
9    *
10   * TinLizard is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * You should have received a copy of the GNU Lesser General Public License
16   * along with TinLizard. If not, see http://www.gnu.org/licenses/.
17   * ----------------------------------------------------------------------
18   */
19  package tinlizard.dao;
20  
21  import tinlizard.model.Codeline;
22  
23  import java.util.Collection;
24  
25  import org.apache.maven.model.Model;
26  import org.apache.maven.scm.ScmResult;
27  import org.apache.maven.scm.command.status.StatusScmResult;
28  
29  /***
30   * Dao to provide access to SCM (version control) tools.
31   */
32  public interface ScmDao {
33      /*** The Plexus role identifier. */
34      String ROLE = ScmDao.class.getName();
35  
36      Model getPOM(Codeline project);
37  
38      void releaseFiles(Codeline project);
39  
40      StatusScmResult getPOMStatus(Codeline pb);
41  
42      ScmResult update(Codeline pb);
43  
44      boolean isValidSmUrl(String scmUrl);
45  
46      void releaseFiles(Collection<Codeline> codelines);
47  }