Makefile in smartystreets_ruby_sdk-5.4.0 vs Makefile in smartystreets_ruby_sdk-5.5.0
- old
+ new
@@ -1,19 +1,45 @@
#!/usr/bin/make -f
+SOURCE_VERSION := 5.5
+VERSION_FILE = lib/smartystreets_ruby_sdk/version.rb
+CREDENTIALS_FILE = ~/.gem/credentials
+
+clean:
+ rm -f *.gem
+ git checkout "$(VERSION_FILE)"
+
tests:
- ruby -Ilib -e 'ARGV.each { |f| require f }' ./test/smartystreets_ruby_sdk/test*.rb ./test/smartystreets_ruby_sdk/us_street/test*.rb ./test/smartystreets_ruby_sdk/us_zipcode/test*.rb
+ rake test
-publish-patch:
- @python tag.py patch
- gem build smartystreets_ruby_sdk.gemspec
- gem push smartystreets_ruby_sdk-`git describe`.gem
+package: clean
+ sed -i "s/0\.0\.0/$(shell git describe)/g" "$(VERSION_FILE)"
+ gem build *.gemspec
+ git checkout "$(VERSION_FILE)"
-publish-minor:
- @python tag.py minor
- gem build smartystreets_ruby_sdk.gemspec
- gem push smartystreets_ruby_sdk-`git describe`.gem
+publish: credentials
+ gem push *.gem
-publish-major:
- @python tag.py major
- gem build smartystreets_ruby_sdk.gemspec
- gem push smartystreets_ruby_sdk-`git describe`.gem
+credentials:
+ mkdir -p "$(dir $(CREDENTIALS_FILE))"
+ test -f $(CREDENTIALS_FILE) || echo ":rubygems_api_key: $(RUBYGEMS_API_KEY)" > $(CREDENTIALS_FILE)
+ chmod 0600 $(CREDENTIALS_FILE)
+
+dependencies:
+ gem install minitest
+
+version:
+ $(eval PREFIX := $(SOURCE_VERSION).)
+ $(eval CURRENT := $(shell git describe 2>/dev/null))
+ $(eval EXPECTED := $(PREFIX)$(shell git tag -l "$(PREFIX)*" | wc -l | xargs expr -1 +))
+ $(eval INCREMENTED := $(PREFIX)$(shell git tag -l "$(PREFIX)*" | wc -l | xargs expr 0 +))
+ @if [ "$(CURRENT)" != "$(EXPECTED)" ]; then git tag -a "$(INCREMENTED)" -m "" 2>/dev/null || true; fi
+
+####################################################################3
+
+container-test:
+ docker-compose run sdk make tests
+container-package: version
+ docker-compose run sdk make package
+container-publish:
+ docker-compose run sdk make publish
+ git push origin --tags