Converta ivy.xml em pom.xml

Eu tenho um ivy.xml – https://gist.github.com/1898060 Eu também tenho o arquivo jar relacionado a este ivy.xml. O que eu preciso é um mecanismo para importar este projeto para o meu repository maven e usá-lo no meu projeto maven. SO basicamente, se eu sou capaz de converter o ivy.xml para pom.xml, eu poderia ser capaz de fazê-lo funcionar. Existe algum mecanismo através do qual eu possa conseguir isso. Eu estou procurando por algo como um plugin maven para realizar essa tarefa. Eu sei que existem maneiras que podemos editar o ivy.xml e build.xml para conseguir isso, mas então eu não quero fazê-lo, como o projeto está em um repository privado.

    O que você realmente precisa fazer é publicar os flasks construídos pelo projeto ANT no seu repository Maven.

    ant -Dproject.version=0.9.0-local-20120211095554 clean publish 

    Eu sei que você não quer mudar a construção ANT, mas a criação de um alvo “publicar” extra irá integrar corretamente seus projetos ANT e Maven.

    Os dois artefatos jar, publicados pela sua construção ANT modificada, podem ser consumidos normalmente da seguinte forma:

      com.opengamma og-analytics 0.9.0-local-20120211095554   com.opengamma og-analytics 0.9.0-local-20120211095554 sources  

    Modificações na sua construção ANT

    ivy.xml

    As principais alterações estão na seção de publicações:

                        

    Notas:

    • O projeto ANT agora publicará 3 arquivos, jar, sources jar e o Maven POM
    • No Maven, os jars de origem possuem um atributo “classifier” que é definido como “sources” (não source). Para facilitar isso, estamos adicionando um atributo extra de hera .
    • Não há necessidade de informações de versão e status no header da tag de informações . Isso será adicionado pela etapa de publicação.

    build.xml

               

    Notas:

    • A tarefa de entrega é opcional, mas recomendada caso seu arquivo ivy contenha revisões dinâmicas, como “latest.release” ou “latest.integration”.
    • A tarefa principal tem suporte poderoso para converter configurações de hera em escopos Maven. Não se aplica no seu caso, mas um incentivo para aprender mais sobre a hera 🙂
    • A tarefa de publicação usa um padrão especificado para localizar arquivos especificados na seção de publicações da ivy.

    ivysettings.xml

    É aqui que você configura o local dos repositorys e credenciais a serem usados ​​pelo destino de construção de publicação.

             

    Notas:

    • Os downloads do Ivy usam o resolvedor padrão configurado nexus-central .
    • A tarefa de publicação da ivy envia para o repository Nexus chamado nexus-deploy
    • O domínio de segurança neste exemplo corresponde ao Nexus Maven. Seria diferente para outros gerentes de recompra.

    O próprio Apache Ant fornece uma tarefa para fazer isso – makepom . Sempre ajuda a consultar a documentação!