Terminada a montagem do ambiente é possível organizar e preparar sua extensão para distribuição.

Após a preparação inicial do seu projeto, você ainda poderá modificar os arquivos gerados conforme sua necessidade. Eles fazem parte do seu projeto agora e não serão atualizados em futuras versões.


A tabela abaixo relaciona o que você pode ter nas pastas do seu projeto. 

ElementoPastaDescriçãoDestinoLocal de entrega
versao.ini.

Arquivo que informa a versão da extensão (major version, minor version e release).

Além desses, o build_number é passado como parâmetro no empacotamento.

  • Se a extensão é um plugin Python (.COP), o comando py_gerar_cop se encarrega de gerar o plugin com a versão definida no versao.ini.
  • Para outros tipos de extensão Python, é possível usar o comando py_alterar_versao para gerar os arquivos de versão utilizáveis pelo Python.
  • Para todos os outros tipos de plugins, executáveis e DLLs é desejável que o desenvolvedor utilize essa versão, pois isso facilita o suporte.
EmpacotadorUsado somente durante o empacotamento
arquivo .COPclient

Um arquivo com esta extensão é gerado durante o empacotamento de um plugin Python.

Terminais<ncr solution>\plugins\<nome_do_plugin>
arquivo .COLclient

Um plugin DLL 'win32' deve ser fornecido com esta extensão para as estações. A compilação e cópia do arquivo na pasta são de responsabilidade do fornecedor.

Terminais<ncr solution>\plugins\<nome_do_plugin>
arquivo Plugin.*.DLLclientUm plugin DLL 'assembly', do dotnet, deve ser fornecido com este prefixo e extensão para as estações. A compilação e cópia do arquivo na pasta são de responsabilidade do fornecedor.Terminais<ncr solution>\plugins\<nome_do_plugin>
ui.configclientArquivo que especifica adições à interface do NCR Colibri nos plugins.Terminais<ncr solution>\plugins\<nome_do_plugin>
pasta ServerserverO empacotador adiciona a estrutura completa desta pasta ao destino no servidorServidor<ncr solution>\master\colibri\<nome_da_extensao>
pasta ExtrasextrasO empacotador adiciona a estrutura completa desta pasta ao destino nas estaçoes. Terminais<ncr solution>\plugins\<nome_do_plugin>\Extras
pasta ReportsreportsO empacotador adiciona a estrutura completa desta pasta ao destino nas estaçoes. Saiba mais em Reports.Terminais<ncr solution>\plugins\<nome_do_plugin>\Reports
pasta TemplatestemplatesO empacotador adiciona a estrutura completa desta pasta ao destino nas estaçoes. Saiba mais em Personalizar templates.Terminais<ncr solution>\plugins\<nome_do_plugin>\Reports
pasta _scripts_scriptsEstrutura de pastas e comandos SQL que gera o arquivo _scripts.zip. Saiba mais em Acesso ao SQL.MasterExecutados contra o banco de dados do produto pos, cbo ou master
pasta _build_buildPasta auxiliar que pode ser utilizada com os arquivos usados no empacotamentoEmpacotadorUsado somente durante o empacotamento

Para distribuir os plugins em python é necessário gerar o arquivo COP de cada plugin na pasta correta de distribuição (client ou server).

Para isso, abra um prompt de comando na pasta do SDK (cmd) e execute o comando

inv py-gerar-cop nome-extensao --versao=1.2.3 --build-number=4 --develop=true 

onde:

nome-extensaoNome da extensão, que indica a subpasta onde está localizada a extensão que você quer empacotar.
versaoVersao do plugin. Caso não fornecida, será obtida do plugins python ou do arquivo versao.ini
build-number

Número do build que é adicionado à versão da extensão, juntamente com as outras informações de versão obtidas do arquivo versao.ini.

develop

Indica que é um pacote de desenvolvimento (esse é o padrão). Para versão final esse valor deve ser false.

O procedimento gera um arquivo .cop na subpasta cliente. 

Para empacotar sua extensão, abra um prompt de comando na pasta do SDK (cmd) e execute o comando

inv empacotar nome-extensao --build-number=5 --develop=true 

onde:

nome-extensaoNome da extensão, que indica a subpasta onde está localizada a extensão que você quer empacotar.
build-number

Número do build que é adicionado à versão da extensão, juntamente com as outras informações de versão obtidas do arquivo versao.ini.

develop

Indica que é um pacote de desenvolvimento (esse é o padrão). Para versão final esse valor deve ser false.

O empacotamento gera um arquivo de extensão .cmpkg na subpasta _build\temp. Este arquivo pode ser importado no Master como um pacote de distribuição.