Um novo componente build4D está disponível no GitHub há alguns meses. Permite-lhe criar sem esforço um projeto compilado ou um componente. As coisas estão ficando ainda melhores; esta nova versão do componente permitir-lhe gerar uma aplicação de usuário único, expandindo as possibilidades do seu fluxo de trabalho de desenvolvimento.
Assim, com o tool4D disponível desde a v20, a integração do processo de geração de aplicações nas suas ferramentas de CI (Integração Contínua) tornou-se extremamente conveniente.
Vamos aos pormenores!
O que é que o componente faz?
Eis uma lista não exaustiva do que o componente lhe permite fazer:
- compilar o projeto,
- fundir o 4D Volume Desktop com seu projeto,
- adicionar as informações da aplicação como Copyright, Empresa…,
- adicionar o ícone,
- escolher as pastas a adicionar, como Documentation, WebFolder, Default Data…,
- selecionar as pastas a remover, como uma pasta Dev nos Recursos,
- escolher os módulos a remover, como CEF, Mecab, php…,
- gerar a licença de implantação,
- e assinar a aplicação.
Qual é a diferença em relação ao comando Build application?
Em ambos os casos, é possível gerar uma aplicação de utilizador único perfeitamente utilizável. O comando Build Application é monolítico. Se quiser personalizar um arquivo ou adicionar ou remover uma pasta, tem que fazer isso depois de compilar a aplicação. E para uma aplicação macOS, tem de assinar a aplicação novamente.
O componente Build4D é composto de várias classes e funções codificadas em 4D. Então se sua aplicação for muito particular e diferente de outras. Pode facilmente adicionar uma nova função ou melhorar uma existente.
Como fazer isso?
O código abaixo é um exemplo de geração de uma aplicação standalone a partir de um projeto externo.
var $build : cs.Build4D.Standalone
(
var $settings : Object
var $success : Boolean
$settings :={}
// Define o arquivo de projeto externo
$settings .projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4folderDProject")
// Configura a aplicação
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/"
$settings .obfuscated:=True
$settings .packedProject:=False
$settings .useSDI:=False
$settings .startElevated:=False
$settings .lastDataPathLookup:="ByAppPath"
// Define o path 4D Volume Desktop
$settings .sourceAppFolder:=Folder(fk documents folder). xml-ph-0034@deepl.internaapp")
// Especifica os componentes exigidos para compilação
$componentFolder :=Folder(fk documents folder).folder("4D v20.0/4D.app/Contents/Components")
$components :=[]
$components .push($componentFolder.file("4D WritePro Interface.4dbase/4D WritePro Interface.4DZ"))
$settings .compilerOptions:={components: $components}
// Apaga módulos desnecessários
$settings.excludeModules:=["CEF"; "MeCab"]
// Inclui pastas e arquivos
$settings .includePaths:=[]
$settings .includePaths.push({source: $componentFolder.folder("4D WritePro Interface.4dbase").path; destination: "../Components/"})
$settings .includePaths.push({source: $componentFolder.folder("4D SVG.4dbase").path; destination: "../Components/"})
// Apaga pastas e arquivos
$settings .deletePaths:=[]
$settings .deletePaths.push("Resources/Dev/")
// Adiciona um ícone para a aplicação
$settings .iconPath:="/RESOURCES/myIcon.icns"
// Adiciona informações da aplicação
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright:="copyright"
$settings .versioning.companyName:="companyName"
$settings .versioning.fileDescription:="fileDescription"
$settings .versioning.internalName:="internalName"
// Cria o arquivo de licença de deployment
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")
// Assina a aplicação macOS
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx"
// Lança o build
$build:=cs.Build4D.Standalone.new($settings)
$success:=$build.build)
Para obter mais detalhes sobre cada atributo, leia a documentação de cada classe de componente.
Para as aplicações macOS, é necessário autenticá-las para as distribuir. Para obter mais detalhes, consulte a documentação da Apple.
Próximo…
Acesse ao GitHub para transferir o componente “Build4D”. Além disso, para se manter informado sobre todas as novas funcionalidades do componente, clique no botão “Watch” ou coloque 4D Depot ou Build 4D nos seus favoritos. Se precisar de ajuda, pode ler esse post, que detalha todas as organizações 4D e como usar todas as funcionalidades do Github.