This is an old revision of the document!
A ideia é adicionar nova forma de distribuir APIs.
Atualmente APIs são resources dentro do JAR. Isto tem várias vantagens, como uma desenvolvimento e distribuição mais simples. No entanto, os ficheiros das APIs, que muitos serão JS, não estão facilmente disponíveis pelos IDEs. Como disponibilizar estes ficheiros numa pasta de forma a estarem disponíveis pelos IDEs?
Dois caminhos possíveis:
Em qualquer dos casos, é preciso manter suporte para APIs como resources. Mesmo que se mude o Clava para usar pastas, outros weavers estão a usar APIs como resources para distribuir/usar as APIs.
Qualquer uma das abordagens introduz problemas relacionados com o ambiente de desenvolvimento de weavers. Neste momento, quando de desenvolve um weaver, pode-se mudar diretamente os ficheiros .lara/.js, sendo resources são atualizados automaticamente, nem é preciso reiniciar a aplicação Java para ver refletidas as mudanças.
Durante a instalação ou execução as APIs são extraídas para uma subpasta predefinida onde o JAR está localizado. À partida este é o método que implica menos mudanças, a questão é quando/como extrair, e que mecanismo usar para manter uma espécie de cache, para minimizar as vezes que as resources são extraídas.
Transformar LARA API resources em ficheiros que vão bundled no zip, e que são indicados ao graalVM como uma pasta de includes (para o import funcionar), e adicionado automaticamente à pasta de includes