Ir para conteúdo
  • Cadastre-se

dev botao

bat de compilação


Ver Solução Respondido por Victor H. Gonzales - Panda,
  • Este tópico foi criado há 295 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

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
Postado

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..

Postado (editado)

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
  • Moderadores
Postado
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_Transparent-02.png
 

 

Postado

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.

  • Moderadores
Postado
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_Transparent-02.png
 

 

  • 6 meses depois ...
  • Consultores
  • Solution
Postado

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"

  • 2 semanas depois ...
  • Membros Pro
Postado
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
  • Este tópico foi criado há 295 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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.