Para criarmos os programas em TL++ 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 distribuidos junto com o RPO padrão do TL++ (tlpp.rpo).
Caso queria atualizar o tlpp.rpo consulte a página de Downloads do TLPP.
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 adcionar 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.getIncludesTLPP
Usando o SmartClient:
Abrir o SmartClient e digitar na tela:
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.getIncludesTLPP
Via código tl++ 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