xsbti.ApplicationID Maven / Gradle / Ivy
package xsbti;
import java.io.File;
/**
* This represents an identification for the sbt launcher to load and run
* an sbt launched application using ivy.
*/
public interface ApplicationID
{
/**
* @return
* The Ivy orgnaization / Maven groupId where we can find the application to launch.
*/
public String groupID();
/**
* @return
* The ivy module name / Maven artifactId where we can find the application to launch.
*/
public String name();
/**
* @return
* The ivy/maven version of the module we should resolve.
*/
public String version();
/**
* @return
* The fully qualified name of the class that extends xsbti.AppMain
*/
public String mainClass();
/**
* @return
* Additional ivy components we should resolve with the main application artifacts.
*/
public String[] mainComponents();
/**
* @deprecated
* This method is no longer used if the crossVersionedValue method is available.
*
* @return
* True if the application is cross-versioned by binary-compatible version string,
* False if there is no cross-versioning.
*/
@Deprecated
public boolean crossVersioned();
/**
*
* @since 0.13.0
* @return
* The type of cross-versioning the launcher should use to resolve this artifact.
*/
public CrossValue crossVersionedValue();
/** Files to add to the application classpath. */
public File[] classpathExtra();
}