diff --git a/Gemfile b/Gemfile index a49f6b13..e876375c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,21 +1,12 @@ -source :rubygems ruby '1.9.3' rescue nil +source :rubygems +gemspec + gem 'travis-support', github: 'travis-ci/travis-support' gem 'travis-core', github: 'travis-ci/travis-core' gem 'hubble', github: 'roidrage/hubble' - -gem 'backports', '~> 2.5' -gem 'pg', '~> 0.13.2' -gem 'newrelic_rpm', '~> 3.3.0' -gem 'thin', '~> 1.4' -gem 'sinatra' -gem 'sinatra-contrib' -gem 'redcarpet' - -group :production do - gem 'rack-ssl' -end +gem 'yard-sinatra', github: 'rkh/yard-sinatra' group :test do gem 'rspec', '~> 2.11' @@ -23,7 +14,6 @@ group :test do end group :development do - gem 'yard-sinatra', github: 'rkh/yard-sinatra' gem 'foreman' gem 'rerun' end diff --git a/Gemfile.lock b/Gemfile.lock index 7870e3d9..745c9fbc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -45,6 +45,22 @@ GIT specs: travis-support (0.0.1) +PATH + remote: . + specs: + travis-api (0.0.1) + backports (~> 2.5) + hubble (~> 0.1) + newrelic_rpm (~> 3.3.0) + pg (~> 0.13.2) + rack-ssl (~> 1.3) + redcarpet (~> 2.1) + sinatra (~> 1.3) + sinatra-contrib (~> 1.3) + thin (~> 1.4) + travis-core + travis-support + GEM remote: http://rubygems.org/ specs: @@ -207,21 +223,14 @@ PLATFORMS ruby DEPENDENCIES - backports (~> 2.5) factory_girl (~> 2.4.0) foreman hubble! micro_migrations! - newrelic_rpm (~> 3.3.0) - pg (~> 0.13.2) - rack-ssl rake (~> 0.9.2) - redcarpet rerun rspec (~> 2.11) - sinatra - sinatra-contrib - thin (~> 1.4) + travis-api! travis-core! travis-support! yard-sinatra! diff --git a/Rakefile b/Rakefile index 60a72d37..5c5bce13 100644 --- a/Rakefile +++ b/Rakefile @@ -11,3 +11,25 @@ begin rescue LoadError warn "could not load rspec" end + +desc "generate gemspec" +task 'travis-api.gemspec' do + content = File.read 'travis-api.gemspec' + + fields = { + authors: `git shortlog -sn`.scan(/[^\d\s].*/), + email: `git shortlog -sne`.scan(/[^<]+@[^>]+/), + files: `git ls-files`.split("\n").reject { |f| f =~ /^(\.|Gemfile)/ } + } + + fields.each do |field, values| + updated = " s.#{field} = [" + updated << values.map { |v| "\n %p" % v }.join(',') + updated << "\n ]" + content.sub!(/ s\.#{field} = \[\n( .*\n)* \]/, updated) + end + + File.open('travis-api.gemspec', 'w') { |f| f << content } +end + +task default: 'travis-api.gemspec' diff --git a/travis-api.gemspec b/travis-api.gemspec index df9c7c12..76792ae9 100644 --- a/travis-api.gemspec +++ b/travis-api.gemspec @@ -1,8 +1,92 @@ # encoding: utf-8 Gem::Specification.new do |s| + s.description = 'The Travis API' + s.summary = 'Code running on http://api.travis-ci.org' s.name = 'travis-api' + s.homepage = 'http://api.travis-ci.org' s.version = '0.0.1' s.require_path = 'lib' + + s.authors = [ + "Konstantin Haase", + "Sven Fuchs", + "Piotr Sarnacki" + ] + + s.email = [ + "konstantin.mailinglists@googlemail.com", + "svenfuchs@artweb-design.de", + "drogus@gmail.com" + ] + + s.files = [ + "Procfile", + "README.md", + "Rakefile", + "config.ru", + "lib/travis/api/app.rb", + "lib/travis/api/app/access_token.rb", + "lib/travis/api/app/endpoint.rb", + "lib/travis/api/app/endpoint/artifacts.rb", + "lib/travis/api/app/endpoint/authorization.rb", + "lib/travis/api/app/endpoint/branches.rb", + "lib/travis/api/app/endpoint/builds.rb", + "lib/travis/api/app/endpoint/documentation.rb", + "lib/travis/api/app/endpoint/endpoints.rb", + "lib/travis/api/app/endpoint/home.rb", + "lib/travis/api/app/endpoint/hooks.rb", + "lib/travis/api/app/endpoint/jobs.rb", + "lib/travis/api/app/endpoint/profile.rb", + "lib/travis/api/app/endpoint/repositories.rb", + "lib/travis/api/app/endpoint/workers.rb", + "lib/travis/api/app/extensions.rb", + "lib/travis/api/app/extensions/smart_constants.rb", + "lib/travis/api/app/extensions/subclass_tracker.rb", + "lib/travis/api/app/helpers.rb", + "lib/travis/api/app/helpers/json_renderer.rb", + "lib/travis/api/app/middleware.rb", + "lib/travis/api/app/middleware/access_token.rb", + "lib/travis/api/app/middleware/cors.rb", + "lib/travis/api/app/middleware/logging.rb", + "lib/travis/api/app/responder.rb", + "script/server", + "spec/app_spec.rb", + "spec/default_spec.rb", + "spec/endpoint/artifacts_spec.rb", + "spec/endpoint/branches_spec.rb", + "spec/endpoint/builds_spec.rb", + "spec/endpoint/documentation_spec.rb", + "spec/endpoint/endpoints_spec.rb", + "spec/endpoint/hooks_spec.rb", + "spec/endpoint/jobs_spec.rb", + "spec/endpoint/profile_spec.rb", + "spec/endpoint/repositories_spec.rb", + "spec/endpoint/workers_spec.rb", + "spec/endpoint_spec.rb", + "spec/extensions/smart_constants_spec.rb", + "spec/extensions/subclass_tracker_spec.rb", + "spec/helpers/json_renderer_spec.rb", + "spec/middleware/access_token_spec.rb", + "spec/middleware/cors_spec.rb", + "spec/middleware/logging_spec.rb", + "spec/middleware_spec.rb", + "spec/spec_helper.rb", + "spec/support/factories.rb", + "travis-api.gemspec" + ] + + s.add_dependency 'travis-support' + s.add_dependency 'travis-core' + + s.add_dependency 'hubble', '~> 0.1' + s.add_dependency 'backports', '~> 2.5' + s.add_dependency 'pg', '~> 0.13.2' + s.add_dependency 'newrelic_rpm', '~> 3.3.0' + s.add_dependency 'thin', '~> 1.4' + s.add_dependency 'sinatra', '~> 1.3' + s.add_dependency 'sinatra-contrib', '~> 1.3' + s.add_dependency 'redcarpet', '~> 2.1' + s.add_dependency 'rack-ssl', '~> 1.3' end