Posso adicionar objetos personalizados ao contexto Velocity com o plug-in do arquétipo Maven?

Nós temos vários geradores de código que usamVelocidade para gerar projetos. A geração pode ser bastante complicada:

A reflexão é usada (para introspectar proxies de terceiros com os quais temos que interagir) antes da chamada de velocidade - as propriedades resultantes (um gráfico de objeto complexo) são adicionadas ao contexto de velocidade

a estrutura do projeto e os arquivos podem variar dependendo das opções selecionadas

os modelos fazem mais do que apenas substituição de variáveis ​​(eles fazem uso de um objeto personalizado adicionado ao contexto de velocidade, que contém muitas propriedades derivadas, incluindo coleções de outros objetos que são iterados nos modelos)

Eu adoraria substituir estes comarquétipos do maven como eles também usam Velocity, mas parece que eles só parecem capazes de substituição de variável simples e uma estrutura de arquivo / pasta estática.

Existe uma maneira de fazer o processamento antes de criar um projeto a partir de um arquétipo, adicionar objetos ao contexto de velocidade e fazer com que os modelos arquetípicos sejam capazes de acessá-los?

Em caso afirmativo, as pastas e arquivos a serem criados podem ser dinâmicos? (ou você precisa de um arquétipo separado para cada variação?)

Ou é melhor escrever um Mojo personalizado? (essencialmente envolvendo o gerador existente com um plugin Maven)

questionAnswers(0)

yourAnswerToTheQuestion