# coding: utf-8 lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'p4_web_api_client/version' Gem::Specification.new do |spec| spec.name = 'p4_web_api_client' spec.version = P4WebApiClient::VERSION spec.authors = ['Tristan Juricek'] spec.email = ['tjuricek@perforce.com'] spec.summary = 'Basic Ruby client for interacting with the P4 Web API' spec.description = 'The P4 Web API provides a simple HTTP interface for many p4 operations. This provides a simple ruby client to that interface.' spec.homepage = 'https://perforce.com' spec.license = 'MIT' spec.files = Dir['bin/*'] + Dir['lib/**/*.rb'] + Dir['spec/**/*.rb'] spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ['lib'] # These dependencies are for running tests against and integrated system. # By including them as "development gem dependencies", we actually pull them # into the runtime container by bundle install. I'm not sure about this practice. # We very likely want to move the specs to run against the normal 'contained' # services. # # spec.add_development_dependency 'bundler', '~> 1.7' # spec.add_development_dependency 'ci_reporter_rspec', '~> 1.0' # spec.add_development_dependency 'geminabox', '~> 0.12' # spec.add_development_dependency 'p4util', '~> 0.1' # spec.add_development_dependency 'p4_web_api', '~> 2014.2.0.pre' # spec.add_development_dependency 'puma', '~> 2.9' spec.add_development_dependency 'rake', '~> 10.3' # spec.add_development_dependency 'rspec', '~> 3.0' # spec.add_development_dependency 'rubocop', '~> 0.27' # spec.add_development_dependency 'yard', '~> 0.8' spec.add_runtime_dependency 'faraday', '~> 0.9' spec.add_runtime_dependency 'faraday_middleware', '~> 0.9' end
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 13972 | tjuricek |
Removing old microservice implementations. The system is now mostly a monolith. Eventually there will be a websocket service. |
||
#4 | 13525 | tjuricek |
Setup God to manage both the p4 web api and p4 project services processes. Apparently, there can only be one true god per machine. |
||
#3 | 13477 | tjuricek |
More docker-compose configuration for projects in research for HSM. Added a geminabox host for the cluster, which allows for quick rebuilds. Each cluster will cache the gems it needs, and publish as well. We may want to put the overwrite commands for all publish steps by default. Note: referencing "external links" can only be done 'at runtime', so "bundle install" really needs to be run in the context of 'docker-compose up' not 'docker-compose build'. This was edited in all configured libraries so far. Finally, added the p4_project_services projects to configuration, which is running under it's own puma instance. The postgres instance is a little tricky to figure out the exact workflow. Right now I'm using the host rake db:migrate task and calling createdb manually, since we need to pass the password along. |
||
#2 | 13416 | tjuricek |
Set up the p4_web_api related projects to be loaded by the parent Gemfile to make it a little easier to launch a test p4d with different seed data. Also fixed a couple of minor issues related to the client api. You'll notice that the 'rake api_reset api_init' task sets up a p4d for the p4_web_api tests, where the 'rake proj_reset proj_init' tasks set up p4d for project services testing. An example p4_web_api.ru that can be used for launching just the p4_web_api: require 'p4_web_api' # Do *not* let your development environment variables pollute how the p4 web api runs! ENV.keys.select { |k| k =~ /^P4/ }.each { |k| ENV.delete(k) } api = P4WebAPI::App.new puts 'changing paths' api.settings.token_path = '/Users/tjuricek/dev/p4ws/work/tokens' api.settings.workspace_folder = '/Users/tjuricek/dev/p4ws/work/workspaces' api.settings.p4 = {'port' => 'localhost:1666', 'charset' => 'auto'} run api |
||
#1 | 13412 | tjuricek |
Initial version of the web-services mainline. This is a collection of several projects, that will likely often get released together, though many of them may not always be relevant. See the README for more information. |