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.
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:
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?
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.