buildframework/helium/sf/java/scm/src/com/nokia/maven/scm/provider/ScmProviderExt.java
changeset 628 7c4a911dc066
parent 587 85df38eb4012
equal deleted inserted replaced
588:c7c26511138f 628:7c4a911dc066
     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 }