1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package sdk
- import (
- "os"
- "path"
- "sort"
- "notabug.org/Umnik/GoAndroidSDK/sdk/platforms"
- "notabug.org/Umnik/GoAndroidSDK/sdk/systemImages"
- )
- //RootDir returns path to SDK dir
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) RootDir() string {
- return s.dirPath
- }
- //PlatformTools returns path to "platform-tools" dir
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) PlatformTools() string {
- return path.Join(s.RootDir(), "platform-tools")
- }
- //BuildTools returns path to "build-tools" dir
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) BuildTools() string {
- return path.Join(s.RootDir(), "build-tools")
- }
- //LastBuildToolsVersion returns path to last available version in "build-tools" dir
- func (s SDK) LastBuildToolsVersion() string {
- dirEntries, err := os.ReadDir(s.BuildTools())
- if err != nil {
- panic(err)
- }
- versions := make([]string, len(dirEntries))
- for i := range dirEntries {
- versions[i] = dirEntries[i].Name()
- }
- sort.Strings(versions)
- return s.SpecificBuildToolsVersion(versions[len(versions)-1])
- }
- //SpecificBuildToolsVersion returns path to specified version in "build-tools" dir
- func (s SDK) SpecificBuildToolsVersion(version string) string {
- return path.Join(s.RootDir(), "build-tools", version)
- }
- //Platforms returns path to platforms directory
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) Platforms() string {
- return path.Join(s.RootDir(), "platforms")
- }
- //SpecificPlatform returns path to specific platform directory
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) SpecificPlatform(platform platforms.Platform) string {
- return path.Join(s.Platforms(), platform)
- }
- //SystemImages returns path to systemImages catalog
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) SystemImages() string {
- return path.Join(s.RootDir(), "systemImages")
- }
- //SpecificSystemImageType returns path to specific system image catalog
- //goland:noinspection GoUnnecessarilyExportedIdentifiers
- func (s SDK) SpecificSystemImageType(image systemImages.SystemImage, imageType systemImages.SystemImageType) string {
- return path.Join(s.SystemImages(), image, imageType)
- }
|