1 /* |
1 /* |
2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of the License "Eclipse Public License v1.0" |
5 * under the terms of the License "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
8 * |
8 * |
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: |
14 * Description: |
15 * |
15 * |
16 */ |
16 */ |
17 |
|
18 |
17 |
19 package com.nokia.maven.scm.provider; |
18 package com.nokia.maven.scm.provider; |
20 |
19 |
21 import java.io.File; |
20 import java.io.File; |
22 |
21 |
24 import org.apache.maven.scm.ScmException; |
23 import org.apache.maven.scm.ScmException; |
25 import org.apache.maven.scm.ScmFileSet; |
24 import org.apache.maven.scm.ScmFileSet; |
26 import org.apache.maven.scm.ScmResult; |
25 import org.apache.maven.scm.ScmResult; |
27 import org.apache.maven.scm.repository.ScmRepository; |
26 import org.apache.maven.scm.repository.ScmRepository; |
28 |
27 |
|
28 import com.nokia.maven.scm.command.info.InfoScmResult; |
29 import com.nokia.maven.scm.command.pull.PullScmResult; |
29 import com.nokia.maven.scm.command.pull.PullScmResult; |
30 import com.nokia.maven.scm.command.tags.TagsScmResult; |
30 import com.nokia.maven.scm.command.tags.TagsScmResult; |
31 import com.nokia.maven.scm.command.info.InfoScmResult; |
|
32 |
31 |
33 /** |
32 /** |
34 * This interface describe additional functionalities provider could implement |
33 * This interface describe additional functionalities provider could implement compare to the |
35 * compare to the default ScmProvider interface |
34 * default ScmProvider interface |
36 * |
35 * |
37 */ |
36 */ |
38 public interface ScmProviderExt { |
37 public interface ScmProviderExt { |
39 |
38 |
40 /** |
39 /** |
41 * Create a new repository. |
40 * Create a new repository. |
|
41 * |
42 * @param repository the repository to create. |
42 * @param repository the repository to create. |
43 * @return ScmResult result. |
43 * @return ScmResult result. |
44 * @throws ScmException |
44 * @throws ScmException |
45 */ |
45 */ |
46 ScmResult init(ScmRepository repository) throws ScmException; |
46 ScmResult init(ScmRepository repository) throws ScmException; |
47 |
47 |
48 /** |
48 /** |
49 * Pull changes, this function is target for distributed SCM file Hg or Git. |
49 * Pull changes, this function is target for distributed SCM file Hg or Git. |
|
50 * |
50 * @param repository |
51 * @param repository |
51 * @param path the location of the checkout. |
52 * @param path the location of the checkout. |
52 * @return a PullScmResult result object. |
53 * @return a PullScmResult result object. |
53 * @throws ScmException |
54 * @throws ScmException |
54 */ |
55 */ |
55 PullScmResult pull(ScmRepository repository, File path) |
56 PullScmResult pull(ScmRepository repository, File path) throws ScmException; |
56 throws ScmException; |
|
57 |
57 |
58 /** |
58 /** |
59 * Get a list of tags from a repository. |
59 * Get a list of tags from a repository. |
|
60 * |
60 * @param repository the repository |
61 * @param repository the repository |
61 * @param fileSet |
62 * @param fileSet |
62 * @param parameters |
63 * @param parameters |
63 * @return a TagsScmResult with the list of tags if successful. |
64 * @return a TagsScmResult with the list of tags if successful. |
64 * @throws ScmException |
65 * @throws ScmException |
65 */ |
66 */ |
66 TagsScmResult tags(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) |
67 TagsScmResult tags(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) |
67 throws ScmException; |
68 throws ScmException; |
68 |
69 |
69 /** |
70 /** |
70 * Get information about current revision. |
71 * Get information about current revision. |
|
72 * |
71 * @param repository |
73 * @param repository |
72 * @param fileSet |
74 * @param fileSet |
73 * @param parameters |
75 * @param parameters |
74 * @return a InfoScmResult with current revision if successful. |
76 * @return a InfoScmResult with current revision if successful. |
75 * @throws ScmException |
77 * @throws ScmException |
76 */ |
78 */ |
77 InfoScmResult info(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) |
79 InfoScmResult info(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) |
78 throws ScmException; |
80 throws ScmException; |
79 } |
81 } |