Ir para conteúdo
  • Cadastre-se

dev botao

bat de compilação


Ver Solução Respondido por Victor H. Gonzales - Panda,

Recommended Posts

Boa tarde a todos!

Estou querendo criar um arquivo .bat para efetuar a compilação de vários projetos, utilizando o compilador padrão do delphi. Alguém tem um exemplo prático e funcional?

Editado por ERG
Link para o comentário
Compartilhar em outros sites

Aqui uso assim com integração com Github Actions :

@SET BDS=D:\Delphi\Delphi XE5\12.0
@SET BDSINCLUDE=D:\Delphi\Delphi XE5\12.0\include
@SET BDSCOMMONDIR=C:\Users\Public\Documents\RAD Studio\12.0
@SET FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
@SET FrameworkVersion=v4.0.30319
@SET FrameworkSDKDir=
@SET PATH=%FrameworkDir%;%FrameworkSDKDir%;D:\Delphi\Delphi XE5\12.0\bin;%PATH%
@SET LANGDIR=pt-BR

cd bin

MSBuild.exe "..\src\Projeto.groupproj" /t:Clean;Build /p:config=Release

onde "Projeto.groupproj" é um grupo de projeto que quero compilar..

Link para o comentário
Compartilhar em outros sites

Obrigado pelo retorno Márcio.

Eu também estou utilizando o MSBuilder para compilar. Contudo, devido a instalação de novos componentes e dependências em alguns projeto, não estou mais conseguindo compilar por ele. Sempre está gerando o erro: "error MSB6003: The specified task executable "dcc" could not be run. O nome do arquivo ou a extensão é muito grande". O que não acontece compilando diretamente pelo IDE do Delphi. Por isso queira saber como fazer essa compilação, utilizando diretamente o compilador do Delphi, sem que eu tenha que reinstalar todos os componentes que tenho, com caminhos mais curtos para que o MSBuild consiga compilar.

Editado por ERG
Link para o comentário
Compartilhar em outros sites

  • Moderadores
4 horas atrás, ERG disse:

Obrigado pelo retorno Márcio.

Eu também estou utilizando o MSBuilder para compilar. Contudo, devido a instalação de novos componentes e dependências em alguns projeto, não estou mais conseguindo compilar por ele. Sempre está gerando o erro: "error MSB6003: The specified task executable "dcc" could not be run. O nome do arquivo ou a extensão é muito grande". O que não acontece compilando diretamente pelo IDE do Delphi. Por isso queira saber como fazer essa compilação, utilizando diretamente o compilador do Delphi, sem que eu tenha que reinstalar todos os componentes que tenho, com caminhos mais curtos para que o MSBuild consiga compilar.

então o erro já começa ai tu deveria ter somente apontando o caminho onde tem os dcu após a instalação e não todos os caminhos.

use variaveis de ambiente com paths pra diminuir o tamanho

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Obrigado pelo retorno Juliomar.

Esses caminhos foram adicionados pelo próprio instalador do ACBr na adição de novos componentes. Com relação a variáveis de ambiente, pode ser que eu tenha feito algo errado ou no lugar errado, mas tentei essa abordagem. Na IDE do Delphi, eu naveguei em Tools->Options->Environment Variables->User overrides e criei um váriavel ACBR, onde que, em Delphi->Option->Library-Library Path, eu substitui todos os caminhos: Ex: "C:\Componentes\ACBr\Fonte" por "$(ACBR)...", mas esse procedimento não funcionou.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
17 horas atrás, ERG disse:

Obrigado pelo retorno Juliomar.

Esses caminhos foram adicionados pelo próprio instalador do ACBr na adição de novos componentes. Com relação a variáveis de ambiente, pode ser que eu tenha feito algo errado ou no lugar errado, mas tentei essa abordagem. Na IDE do Delphi, eu naveguei em Tools->Options->Environment Variables->User overrides e criei um váriavel ACBR, onde que, em Delphi->Option->Library-Library Path, eu substitui todos os caminhos: Ex: "C:\Componentes\ACBr\Fonte" por "$(ACBR)...", mas esse procedimento não funcionou.

se está aassim quer dizer que tu deixou desmarcado a opção LibXX no instalador

e também deve ter um caminho enorme onde a gente já sugere por exemplo c:\acbr

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
  • Consultores
  • Solution

somente para deixar registrado para o Jenkins foi feito 2 configurações que me atendeu, alterar o regedit e usar o DCC_UseMSBuildExternally
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry

msbuild "${nomeProjeto}" /target:build /p:Config=Release  /p:DCC_UseMSBuildExternally=true /p:DCC_BuildAllUnits=true /p:Platform=Win32  /clp:ErrorsOnly

  • Curtir 1
Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro
Em 26/01/2024 at 11:07, Victor H. Gonzales - Panda disse:

somente para deixar registrado para o Jenkins foi feito 2 configurações que me atendeu, alterar o regedit e usar o DCC_UseMSBuildExternally
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry

msbuild "${nomeProjeto}" /target:build /p:Config=Release  /p:DCC_UseMSBuildExternally=true /p:DCC_BuildAllUnits=true /p:Platform=Win32  /clp:ErrorsOnly

Estava com esse problema, isso aqui resolveu! Valeu Panda!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.