Sincronizar Alterações do Arquivo de Especificação com o Código de Origem Gerado

Você pode usar a função de sincronização para trazer novas alterações do arquivo de especificação para os arquivos de origem chaincode (modelo e controlador). A função funciona com projetos TypeScript e Go.

Observação:
  • A sincronização é unidirecional: você pode trazer alterações do seu arquivo de especificação para o seu projeto de chaincode, mas não o contrário. As alterações feitas em seu projeto de chaincode permanecem como estão após o processo de sincronização.
  • O comando funciona somente se o projeto chaincode foi scaffolded usando um arquivo de especificação. Não exclua, renomeie ou mova o arquivo de especificação se você planeja sincronizar quaisquer alterações do arquivo de especificação para o código-fonte no futuro.
  • Durante a sincronização, os arquivos de chaincode na pasta lib são atualizados automaticamente. Se você fizer alterações nesses arquivos de biblioteca, faça backup dos arquivos modificados ou rastreie as alterações feitas antes de usar a função de sincronização, para que possa aplicar essas alterações novamente após a sincronização.
Para sincronizar seus arquivos de especificação e chaincode:
  1. No painel Especificações, selecione o arquivo de especificação atualizado para abrir o painel Detalhes da Especificação. Na parte superior do painel, clique em Chaincodes para abrir o painel mostrando quais chaincodes foram gerados com base no arquivo de especificação.
  2. Marque a caixa de seleção Sincronizar ao lado de cada chaincode que você deseja atualizar com as novas alterações. Você pode sincronizar mais de um chaincode que foi gerado de um arquivo de especificação de cada vez. Clique em Sincronizar.
Os projetos de chaincode agora contêm arquivos atualizados.

Resolvendo Conflitos

Como você pode editar os arquivos de sincronização e os arquivos de chaincode, é possível acabar com conflitos em que o arquivo de especificação atualizado pode substituir uma alteração feita no arquivo de chaincode. Nesses casos, quando você tenta sincronizar um erro é exibido informando que há um conflito. Você pode usar o painel Conflitos para resolver esses erros.

  1. No painel Conflitos, clique no nome do arquivo de chaincode em que os conflitos existem. O arquivo é aberto em um editor com os conflitos destacados.
    Conflito de sincronização mostrado no editor

    No exemplo mostrado, Marble124 está no arquivo de especificação e Marble123 está no arquivo de modelo de chaincode.

  2. Acima do conflito há uma lista de opções. Clique em Aceitar Alteração Atual para substituir o arquivo de especificação e usar o que está atualmente no arquivo de chaincode. Clique em Aceitar Alteração de Entrada para substituir o arquivo chaincode e usar o que está atualmente no arquivo de especificação.
  3. Retorne ao painel Conflitos. Marque a caixa de seleção Sincronizar ao lado do nome do conflito e clique em Confirmar Alterações. Se você tiver vários conflitos, resolva todos eles antes de clicar em Confirmar Alterações.