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; } }