Ambiente de desenvolvimento do TLPP
Para criarmos os programas em TLPP para o servidor REST usando os @annotation ou as classes, precisamos preparar nosso ambiente de desenvolvimento.
O ambiente de desenvolvimento para escrever aplicações REST requer alguns includes que são distribuídos junto com o RPO padrão do TLPP (tlpp.rpo).
Caso queria atualizar o tlpp.rpo consulte a página de Downloads do TLPP.
Extraindo os includes
Como os includes fazem parte do RPO (tlpp.rpo), basta executar a função tlpp.environment.getIncludesTLPP para extraí-los.
Após executar esta função os includes serão extraídos dentro do diretório do "RootPath" do seu ambiente, em um diretório chamado "includes".
Tendo isto basta adicionar este diretório nos seus "PATHs de includes" no seu ambiente de compilação.
Obs. os includes estão disponíveis a partir da versão 01.02.02 do RPO (tlpp.rpo)
Para extrair podemos executar esta função de diversas maneiras:
Usando o próprio AppServer via linha de comandos:
[AppServer] -env=[seu ambiente] -run=tlpp.environment.getIncludesTLPP
Ex:
appserver.exe -env=TLPPCORE -run=tlpp.environment.getIncludesTLPPUsando o SmartClient:
Abrir o SmartClient e digitar na tela:- Programa inicial: tlpp.environment.getIncludesTLPP
- Comunicação no cliente: [seu serviço]
- Ambiente no servidor: [seu ambiente]
Usando o SmartClient via linha de comandos:
[SmartClient] -M -Q -E=[seu ambiente] -Z=[hostname / IP]-Y=[Porta] -P=tlpp.environment.getIncludesTLPP
Ex:
smartclient.exe -M -Q -E=TLPPCORE -Z=localhost -Y=5012 -P=tlpp.environment.getIncludesTLPPVia código TLPP ou AdvPL:
Function u_TLPPIncs() Local lRet := .F. Local cRet := "" Local aMessages := {} Local nI := 0 ConOut("Getting TLPP includes ...") lRet := tlpp.environment.getIncludesTLPP(@cRet, @aMessages) If(lRet != .T.) ConOut("Error: " + cValToChar(cRet)) For nI := 1 to Len(aMessages) ConOut(cValToChar(nI) + " Error: " + cValToChar(aMessages[nI])) Next Else ConOut("OK. 'includes' extracted on path: " + cValToChar(cRet)) EndIf Return lRet
Obs. Você pode criar fontes .tlpp e/ou .prw sem nenhum include se eles não tiverem nenhuma dependência