/* Copyright (c) 2012-2013 Boundless and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Distribution License v1.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/edl-v10.html
*
* Contributors:
* Michael Fawcett (LMN Solutions) - initial implementation
*/
package org.locationtech.geogig.cli;
import java.util.ServiceLoader;
import com.google.inject.Module;
/**
* Marker interface for modules that provide extra CLI commands.
*
* <p>
* The {@link GeogigCLI CLI} app uses the standard {@link ServiceLoader}
* "Service Provider Interface" mechanism to look for implementations of this interface on the
* classpath.
* <p>
* Any CLI plugin that provides extra command line commands shall include a file named
* {@code org.locationtech.geogig.cli.CLIModule} text file inside the jar's {@code META-INF/services} folder,
* whose content is the full qualified class name of the module implementation. There can be more
* than one module declared on each file, separated by a newline.
*/
public interface CLIModule extends Module {
}