Charts: Mover a integração do Realm para outro repositório

Criado em 31 out. 2016  ·  20Comentários  ·  Fonte: danielgindi/Charts

Você já considerou mover ChartsRealm para outro repositório, que depende de Charts e Realm ?

No momento, ambos estão neste repositório e no mesmo projeto. Isso faz com que alguns gerenciadores de dependência, como Carthage , construam todos os Charts , ChartsRealm e Realm si, mesmo que sua integração não seja usada.

discussion

Comentários muito úteis

+1 para remover a dependência do Realm.

Não é uma parte central da biblioteca de gráficos ou mesmo relacionada; é bom ter. Você já fez o trabalho para dividir as dependências, então o repositório separado parece fazer sentido. AlamoFire faz a mesma coisa.

Para mim, não se trata de tempos de construção ou qualquer coisa, apenas maturidade do projeto. Ver o Realm aparecer inesperadamente em Cartfile.resolved deu uma grande bandeira vermelha no meu time.

Todos 20 comentários

Nós temos. Bastante. Infelizmente isso complica as coisas...
ChartsRealm precisa Charts e Realm . ChartsDemo é obviamente gerenciado como parte do repositório Charts para simplicidade e acessibilidade.
Como ChartsDemo também fornece demonstrações Realm , depende de Charts e ChartsRealm .

Então isso faz: Charts repo vai depender de ChartsRealm repo que vai depender de Charts repo.

Atualmente, tanto Pods quanto Carthage não suportam nenhum tipo de dependência cíclica. Eles não implementaram nem o algoritmo mais simples para encontrar redundâncias como essa e resolvê-las, pois na prática pode ser complicado.

Portanto, para facilitar o uso, estamos mantendo as coisas como estão agora.
Se houver mais votos para separar isso junto com suas demos, podemos considerar isso.

Vou deixar isso aberto por enquanto.

Entendi, obrigado pela resposta rápida!

Enquanto isso, acho que vou criar uma bifurcação rápida e remover as dependências do Realm lá. Espero que isso resolva meu carthage update de 20 minutos 🙈

Certifique-se de atualizar seu fork com frequência, pois importantes correções de bugs e novos recursos chegam....

Se você achar que Cartago demora muito, use cocoapods. Você pode especificar apenas construir gráficos e não chartsrealm, pois eles têm subespecificações.

Experimentei o Carthage há algum tempo, mas voltei aos cocoapods porque é mais rápido e simples.

Isso é subjetivo. Para mim, CocoaPods é mais fácil, mas Carthage é mais simples . 😉

Sim, eu quis dizer mais fácil ;)

@danielgindi você pode atualizar o realm para 2.x?

Os pedidos de pull são sempre bem-vindos 😉

@danielgindi Parece que o atual ChartsDemo é realmente um ChartsRealmDemo . Você pode mover esta demonstração e o Realm para um projeto separado e fornecer um ChartsDemo básico sem dependências de realm. Basta adicionar uma observação de que uma demonstração mais completa está disponível no projeto ChartsRealm .

Mover ChartsRealm de Charts economizará muito tempo de download e construção para nossa equipe de desenvolvimento.

@getaaron , nem tudo, ChartsDemo ainda contém mais demos sem domínio. Concordo que poderíamos separá-los, mas até agora, eu só precisava de uma vez construindo e baixando para o Reino, por cartago. Não deve construir o tempo todo?

@danielgindi Sou a favor de mover o ChartsRealm para outro repositório.
Isso demora tanto para construir com Cartago...

*** Building scheme "RealmSwift" in Realm.xcworkspace
*** Building scheme "Realm" in Realm.xcworkspace
*** Building scheme "PlaygroundFrameworkWrapper" in RealmExamples.xcworkspace
*** Building scheme "ChartsRealm" in Charts.xcodeproj
*** Building scheme "Charts" in Charts.xcodeproj

Isso me deixa louco porque eu só uso gráficos ...

Bem, Carthage realmente não quer adicionar subespecificações, então se você não quiser baixar tudo o tempo todo, use cocoapods ou reclame com os mantenedores de Carthage. Repos separados tornam nossas vidas muito mais difíceis com pouco ganho. Poderíamos dividir as demos em 2 alvos, mas isso realmente não resolve alguns dos problemas mencionados aqui.

+1 para remover a dependência do Realm.

Não é uma parte central da biblioteca de gráficos ou mesmo relacionada; é bom ter. Você já fez o trabalho para dividir as dependências, então o repositório separado parece fazer sentido. AlamoFire faz a mesma coisa.

Para mim, não se trata de tempos de construção ou qualquer coisa, apenas maturidade do projeto. Ver o Realm aparecer inesperadamente em Cartfile.resolved deu uma grande bandeira vermelha no meu time.

Concordo com @donnellyk.

@donnellyk Até pensarmos em uma solução que responda às principais preocupações - não podemos fazer isso. E acredite, nós queremos!

@danielgindi Justo. Que preocupações são essas? Talvez possamos ajudar? 🙂

A princípio, pensamos em manter as coisas do Realm no projeto - para facilitar a manutenção.
O problema decorrente disso é que as dependências cíclicas não são suportadas pelo CocoaPods e pelo Carthage.

Agora nos resta o desejo de manter a Demo com a vitrine de coisas relacionadas ao Realm, tanto para os usuários serem acessíveis, quanto para nós ao testarmos durante o desenvolvimento.
Pense nisso: há um bug em Charts que afeta ChartsRealm , ou uma função de utilidade que estamos adicionando em favor de ChartsRealm . O processo de desenvolvimento seria:

  1. Faça coisas no clone Charts, copie para a pasta Pods no clone ChartsRealm, veja se ele Builds, então execute o Demo e teste-o visualmente, então talvez execute alguns testes de unidade.
  2. Faça o mesmo na pasta Pods em ChartsRealm e, em seguida, copie para o clone Charts.

A principal preocupação original era mais sobre os usuários: há uma demanda muito alta para ChartsRealm. A situação atual torna o ChartsRealm muito visível e acessível.
Mas agora que recebemos muitas rejeições de usuários do vanilla Charts, que não estão cientes de que o Realm é apenas uma dependência opcional (ou que precisa ser buscada para que a Demo funcione) - acho que nossas preocupações estavam de cabeça para baixo.

Sobre o desenvolvimento de fluxo - Talvez devêssemos apenas morder a bala, nos acostumar com isso. Não há muito desenvolvimento acontecendo no lado do ChartsRealm de qualquer maneira (exceto pela implementação do novo material de suporte ObjC no Realm que foi lançado alguns dias atrás após meu PR).

Eu geralmente estava muito ocupado ultimamente com muitas coisas - então eu quero sentar e fechar alguns problemas, mesclar PRs etc., e então talvez tentar separar o repositório ChartsRealm e ver como ele vai.

@danielgindi finalmente te pego aqui. Sim, temos muitas coisas para consertar antes de pensar em Realm.. 😂

Sim, tem sido alguns dias ocupados :-) Ainda são ...
Mas estou cuidando de alguns problemas e relações públicas, avançando para o próximo lançamento menor,
e nesse momento provavelmente vamos separar as coisas do reino.

Ok, terminei de dividir o repositório e mover as coisas do reino para https://github.com/danielgindi/ChartsRealm.
Travis ainda está quebrado, @petester42 você poderia dar uma olhada?

Esta página foi útil?
0 / 5 - 0 avaliações