Ir para conteúdo
  • Cadastre-se

dev botao

bat de compilação


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

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 2
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
  • 1 ano depois...
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.