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 }