Como, o CorDapps pode lidar com dependências transitivas
Atualmente na v2, se um CorDapp fizer referência a um módulo X, que possui uma dependência transitiva para um módulo Y, de modo que Y seja usado por Corda, um conflito de versão em potencial poderá ocorrer se as respectivas versões de Y para Corda e X forem diferentes. Um exemplo é a reutilização de uma biblioteca interna existente, contendo lógica de negócios e serialização, que depende deJackson
.
Nesse caso, o empacotamento CorDapp resultante e o tempo de execução do Corda parecem reforçar a versão de Y relevante para o Corda.
Se as versões de Y diferirem suficientemente, podemos obter cenários como quebra de X porque Y não suporta certos tipos e métodos.
Existe uma maneira geral de a configuração gradle (ou algum outro mecanismo) poder ser usada para restringir a versão correta de Y para uso pelo X, sem afetar o tempo de execução do Corda?