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 do chaincode (modelo e controlador). A função funciona com os projetos TypeScript e Go.

Observação:
  • A sincronização é unidirecional: você pode trazer alterações do arquivo de especificação para o projeto do 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 só funcionará se o projeto chaincode tiver sido montado 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 que você atualizou para abrir seu painel Detalhes da Especificação. Na parte superior do painel, clique em Chaincodes para abrir o painel mostrando quais chaincodes foram gerados a partir do 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 por 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 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 no qual existem conflitos. 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 chaincode. Clique em Aceitar Alteração Recebida para substituir o arquivo de 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.