NativeScript / NativeScript/nativescript-cli
Removing plugin which has dependencies with native code won't clean the platform
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- JavaScript
- Estrelas
- 1.1k
- Forks
- 204
- Merge médio
- 1d 9h
- PRs com merge (30d)
- 8
Descrição
Problem:
Installing a plugin, which depends on other plugins with native dependencies will not trigger a platform clean (especially necessary when building for android) when removed.
Suppose we have tns-core-modules, which is purely javascript. It depends on tns-core-modules-widgets which comprises of native android and iOS plugins.
tns-core-modules
'--tns-core-modules-widgets
Versions:
CLI: 2.5
Android runtime: 2.5/3.0
modules: any version
Steps to reproduce:
tns create myTestApp
cd myTestApp
tns build android <- at this point tns-core-modules are added as a dependency
The build process will generate build artifacts with the specific version of its native dependencies (tns-core-modules-widgets) This can be verified by finding tns-core-modules-widgets inside the 'platforms/android/configurations' dir.
tns plugin remove tns-core-modules <- will not trigger gradle clean - https://github.com/NativeScript/nativescript-cli/blob/master/lib/services/android-project-service.ts#L377
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece por lib/services/android-project-service.ts, por volta da linha 377, e reproduza as etapas listadas de build do Android e remoção do plugin. Inspecione platforms/android/configurations antes e depois de remover tns-core-modules; está concluído quando a remoção aciona o platform clean, de modo que os artefatos das dependências nativas não sejam mais mantidos.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- android, javascript
- Domínio
- build-system, cli, mobile
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 48/100