/*
* Copyright 2006-2014 smartics, Kronseder & Reiner GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.redhat.rcm.maven.plugin.buildmetadata.scm;
import org.apache.maven.scm.ScmFileSet;
/**
* Provides means to fetch the revision number.
* <p>
* The implementation requires to provide access to the SCM.
* </p>
*
* @author <a href="mailto:robert.reiner@smartics.de">Robert Reiner</a>
* @version $Revision:591 $
*/
public interface RevisionNumberFetcher
{
// ********************************* Fields *********************************
// --- constants ------------------------------------------------------------
// ****************************** Initializer *******************************
// ****************************** Inner Classes *****************************
// ********************************* Methods ********************************
// --- get&set --------------------------------------------------------------
// --- business -------------------------------------------------------------
/**
* Returns the latest revision number from the SCM.
*
* @return the latest revision number from the SCM, <code>null</code> if none
* can be found.
* @throws ScmException if the revision number cannot be fetched.
*/
Revision fetchLatestRevisionNumber() throws ScmException;
/**
* Checks if the local source files are in-sync with the repository or not.
*
* @param fileSet the file set to check.
* @return the status of the files.
* @throws ScmException on any problem checking the up-to-date status.
*/
LocallyModifiedInfo containsModifications(ScmFileSet fileSet)
throws ScmException;
// --- object basics --------------------------------------------------------
}