Skip to content

feat: remove requirement for Android Support Repository local installation #3923

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions lib/android-tools-info.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
infoData.compileSdkVersion = this.getCompileSdkVersion();
infoData.buildToolsVersion = this.getBuildToolsVersion();
infoData.targetSdkVersion = this.getTargetSdk();
infoData.supportRepositoryVersion = this.getAndroidSupportRepositoryVersion();
infoData.generateTypings = this.shouldGenerateTypings();

this.toolsInfo = infoData;
Expand Down Expand Up @@ -203,32 +202,6 @@ export class AndroidToolsInfo implements IAndroidToolsInfo {
return buildToolsVersion;
}

private getAppCompatRange(): string {
const compileSdkVersion = this.getCompileSdkVersion();
let requiredAppCompatRange: string;
if (compileSdkVersion) {
requiredAppCompatRange = `>=${compileSdkVersion} <${compileSdkVersion + 1}`;
}

return requiredAppCompatRange;
}

private getAndroidSupportRepositoryVersion(): string {
let selectedAppCompatVersion: string;
const requiredAppCompatRange = this.getAppCompatRange();
if (this.androidHome && requiredAppCompatRange) {
const pathToAppCompat = path.join(this.androidHome, "extras", "android", "m2repository", "com", "android", "support", "appcompat-v7");
selectedAppCompatVersion = this.getMatchingDir(pathToAppCompat, requiredAppCompatRange);
if (!selectedAppCompatVersion) {
// get latest matching version, as there's no available appcompat versions for latest SDK versions.
selectedAppCompatVersion = this.getMatchingDir(pathToAppCompat, "*");
}
}

this.$logger.trace(`Selected AppCompat version is: ${selectedAppCompatVersion}`);
return selectedAppCompatVersion;
}

private getLatestValidAndroidTarget(): string {
const installedTargets = this.getInstalledTargets();
return _.findLast(AndroidToolsInfo.SUPPORTED_TARGETS.sort(), supportedTarget => _.includes(installedTargets, supportedTarget));
Expand Down
5 changes: 0 additions & 5 deletions lib/declarations.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -618,11 +618,6 @@ interface IAndroidToolsInfoData {
*/
compileSdkVersion: number;

/**
* The latest installed version of Android Support Repository that satisfies CLI's requirements.
*/
supportRepositoryVersion: string;

/**
* The Android targetSdkVersion specified by the user.
* In case it is not specified, compileSdkVersion will be used for targetSdkVersion.
Expand Down
3 changes: 1 addition & 2 deletions lib/services/android-plugin-build-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -425,8 +425,7 @@ export class AndroidPluginBuildService implements IAndroidPluginBuildService {
pluginBuildSettings.pluginDir,
"assembleRelease",
`-PcompileSdk=android-${pluginBuildSettings.androidToolsInfo.compileSdkVersion}`,
`-PbuildToolsVersion=${pluginBuildSettings.androidToolsInfo.buildToolsVersion}`,
`-PsupportVersion=${pluginBuildSettings.androidToolsInfo.supportRepositoryVersion}`
`-PbuildToolsVersion=${pluginBuildSettings.androidToolsInfo.buildToolsVersion}`
];

try {
Expand Down
2 changes: 0 additions & 2 deletions lib/services/android-project-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -369,13 +369,11 @@ export class AndroidProjectService extends projectServiceBaseLib.PlatformProject
const compileSdk = androidToolsInfo.compileSdkVersion;
const targetSdk = this.getTargetFromAndroidManifest(configurationFilePath) || compileSdk;
const buildToolsVersion = androidToolsInfo.buildToolsVersion;
const appCompatVersion = androidToolsInfo.supportRepositoryVersion;
const generateTypings = androidToolsInfo.generateTypings;
const buildOptions = [
`-PcompileSdk=android-${compileSdk}`,
`-PtargetSdk=${targetSdk}`,
`-PbuildToolsVersion=${buildToolsVersion}`,
`-PsupportVersion=${appCompatVersion}`,
`-PgenerateTypings=${generateTypings}`
];

Expand Down
28 changes: 14 additions & 14 deletions npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"minimatch": "3.0.2",
"mkdirp": "0.5.1",
"mute-stream": "0.0.5",
"nativescript-doctor": "1.2.0",
"nativescript-doctor": "1.3.0",
"nativescript-preview-sdk": "0.2.9",
"open": "0.0.5",
"ora": "2.0.0",
Expand Down
1 change: 0 additions & 1 deletion test/stubs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,6 @@ export class AndroidToolsInfoStub implements IAndroidToolsInfo {
infoData.compileSdkVersion = 23;
infoData.buildToolsVersion = "23";
infoData.targetSdkVersion = 23;
infoData.supportRepositoryVersion = "23";
return infoData;
}

Expand Down