ocean-ds / ocean-web

Blu's Design System for Web

Home Page:https://ocean-ds.github.io/ocean-web

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Discussão - Modelo de versionamento e organização de pastas das plataformas (Web, iOS, Android)

luisfernandezbr opened this issue · comments

Motivação

Precisamos prever um modelo de estruturação do código e versionamento que retrate a realidade de termos 3 tipos de outputs de um único projeto. Web, Android e iOS.

Cenário atual

O modelo atual prevê somente casos para a geração dos tokens da Web, mas temos ainda os projetos Android e iOS para serem cobertos.

Em conversa com o Elton levantamos alguns possíveis pontos on seriam necessárias melhorias/adaptações, como configurações de CI e regras para versionamento, para aí sim podermos trabalhar de forma saudável com as 3 plataformas em harmonia.

Possíveis soluções

Versionamento

Conversamos sobre algo que no final das contas gere um resultado como:

web-v1.0.0
web-v1.1.0
web-v1.2.0

android-v1.0.0
android-v1.1.0
android-v1.2.0

ios-v1.0.0
ios-v1.1.0
ios-v1.2.0

A questão é que isso é somente uma parte, pois temos que definir a regra correta de increment de versão para caso.

Para ajudar a resolver a questão da regra de increment, pensamos também em talvez mudar a estrutura de pastas do projeto, onde cada plataforma acabaria ficando independente para fazer seu versionamento.

platforms/
+-- ios
    +-- formaters/
    +-- package.json
+-- android
    +-- formaters/
    +-- package.json
+-- web
    +-- formaters/
    +-- package.json
src/
+-- tokens.yml
package.json

Para ajudar a organizar a solução acima o Elton chegou a sugerir darmos uma olhada no https://github.com/lerna/lerna para vermos se atende.

Gostaríamos de abrir essa thread para tomarmos a decisão de como vamos seguir.

Aberta no projeto errado