Hi, I noticed that the Travis snap package is out of date, likely because they need to bump the version manually.
They already bump the version manually on their Gemfile (it’s a Ruby app). I would like to write a patch so that snapcraft can read the version number from such Gemfile instead of having a fixed value.
So I was thinking to edit the snapcraft file like this:
name: travis
version: nil
summary: Travis CI client
description: CLI and Ruby client library for Travis CI
grade: stable
confinement: strict
apps:
travis:
command: travis
plugs: [network, home, removable-media]
parts:
travis:
plugin: ruby
build-packages: [wget]
override-build: |
snapcraftctl build
GEM_VERSION=`ruby -e 'require "rubygems"' -e 'puts Gem::Specification::load("travis.gemspec").version'`
snapcraftctl set-version $GEM_VERSION
GEM_VERSION=v$GEM_VERSION
wget "https://github.com/travis-ci/travis.rb/archive/$GEM_VERSION.tar.gz"
mv $GEM_VERSION.tar.gz $SNAPCRAFT_PART_SRC
gem build travis.gemspec
gem install travis-*.gem --env-shebang
prime: ['-lib/ruby/gems/*/gems/ffi-*/ext/ffi_c/libffi-*/include/ffitarget.h']
stage-packages: [git]
Questions:
- Instead of override pull can I set the source dynamically? Like
source: https://github.com/travis-ci/travis.rb/archive/`$GEM_VERSION`.tar.gz