mirror of
https://github.com/sbt/sbt.git
synced 2026-09-03 08:34:34 +02:00
Fixes #706 - Binary Compatibility lost in Launcher.
This checks to see if the new `crossVersionedValue` is actually implemented by an AppID and delegates to the deprecated `crossVersioned` method if there are any issues. This preserves the binary compatibility from folks using Launcher interface pre-0.13 and post-0.13.
This commit is contained in:
committed by
Mark Harrah
parent
27a630e0d0
commit
f414214d6e
@@ -2,15 +2,55 @@ 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. */
|
||||
|
||||
Reference in New Issue
Block a user