Implementando una versión de Maven a Github usando Travis CI

Pude implementar con éxito un JAR de un proyecto maven a Github usando tags. Sin embargo, la configuration actual asume que el nombre de file del JAR siempre permanece igual, y no es así. Cuando realizo una nueva versión, esto cambiará en consecuencia, por lo que la implementación fallará.

¿Hay alguna forma de que pueda usar el tipo de comodines en el file YAML? Según lo que encontré aquí en Stackoverflow y en la web, los comodines no son compatibles con YAML. No pude encontrar otro truco para hacer esto sin manipular el file .travis.yml en sí mismo, lo que me gustaría evitar.

La cadena de versión está disponible en pom.xml .

Current .travis.yml:

 language: java jdk: - openjdk7 deploy: provider: releases api_key: secure: asfdsdflkjsdflkj... file: target/helloci-1.0-SNAPSHOT.jar on: repo: ktk/helloci all_branches: true tags: true 

Seguramente podría escribir eso de alguna manera, pero entonces Travis CI cambiaría su propio file de configuration y no estoy seguro de si esto a) funcionará yb) es una buena idea.

Repo con quien estoy jugando: https://github.com/ktk/helloci

Los comodines son compatibles ahora, ejecuto esta configuration:

 before_deploy: - "mvn -DskipTests package" - export FOO=$(ls target/foo-version-*.jar) deploy: provider: releases api_key: secure: yep file: "${FOO}" 

Una solución alternativa es tener maven generar el file utilizando un nombre fijo, esto se puede hacer con

 <build> <finalName>helloci</finalName> </build> 

Sin embargo, es probable que desee mantener el nombre según las convenciones maven si no está construyendo en travis-ci. Puede lograr esto agregando lo siguiente a su pom:

 <properties> <finalName>${project.artifactId}-${project.version}</finalName> </properties> <build> <finalName>${finalName}</finalName> 

Y pasando -DfinalName=helloci al ejecutar maven agregando las siguientes 2 líneas a su file .travis.yml :

 before_install: mvn install -DskipTests=true -DfinalName=helloci install: mvn test 

Es posible que también desee agregar el nombre de la label al nombre del file generado. Esto se puede lograr con:

 before_install: mvn install -DskipTests=true -DfinalName=helloci-$TRAVIS_TAG deploy: file: target/helloci-$TRAVIS_TAG.jar 

Lo sentimos, los patrones de comodines no funcionan en este momento, pero veremos cómo hacer eso posible en Travis CI.