blob: 2285e3a97a062420b44f1a7874b209548ef1140b [file] [log] [blame]
package org.jetbrains.jps.android;
import com.android.SdkConstants;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.repository.local.LocalSdk;
import org.jetbrains.android.util.AndroidCommonUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.android.model.JpsAndroidSdkProperties;
import org.jetbrains.jps.model.JpsSimpleElement;
import org.jetbrains.jps.model.library.sdk.JpsSdk;
public class AndroidPlatform {
private final JpsSdk<JpsSimpleElement<JpsAndroidSdkProperties>> mySdk;
private final IAndroidTarget myTarget;
private final int myPlatformToolsRevision;
private final int mySdkToolsRevision;
private final LocalSdk myLocalSdk;
public AndroidPlatform(@NotNull JpsSdk<JpsSimpleElement<JpsAndroidSdkProperties>> sdk,
@NotNull IAndroidTarget target,
@NotNull LocalSdk localSdk) {
mySdk = sdk;
myTarget = target;
final String homePath = sdk.getHomePath();
myPlatformToolsRevision = AndroidCommonUtils.parsePackageRevision(homePath, SdkConstants.FD_PLATFORM_TOOLS);
mySdkToolsRevision = AndroidCommonUtils.parsePackageRevision(homePath, SdkConstants.FD_TOOLS);
myLocalSdk = localSdk;
}
@NotNull
public JpsSdk<JpsSimpleElement<JpsAndroidSdkProperties>> getSdk() {
return mySdk;
}
@NotNull
public IAndroidTarget getTarget() {
return myTarget;
}
public int getPlatformToolsRevision() {
return myPlatformToolsRevision;
}
public int getSdkToolsRevision() {
return mySdkToolsRevision;
}
public boolean needToAddAnnotationsJarToClasspath() {
return myTarget.getVersion().getApiLevel() <= 15;
}
@NotNull
public LocalSdk getLocalSdk() {
return myLocalSdk;
}
}