p4ruby 2014.2.0.pre3 → 2014.2.0.pre5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d54de1eb7bb72644ffa5f247b42efda01c22783
4
- data.tar.gz: 73b7022b99ad6a17f3b2737be1a38396514429f1
3
+ metadata.gz: 4b3f978b58597f0b0dceedf7f041fad06099e1b8
4
+ data.tar.gz: bae0a733de191edef6cfd399c5303b45870d5581
5
5
  SHA512:
6
- metadata.gz: 5bbd0db7fa7bbe379a63e8c6b9c3522e6227c8c8c8e3a98166e90a6edb8ac9129e7aa6c625f4eb6bcee777dd6d4a058467e9db59685e77e1bb3ca20ba0744dbc
7
- data.tar.gz: 7481faabf71db4ec9bbc860cbbf8b1c2ee37af08b534b7baa33f0ec17dd133ca66b52a892f2adc58bd9318fe7592aba3f292272fd6ee044a1cb98ef9b5e76c22
6
+ metadata.gz: 2ff8ca8759d02cd9242e4b442a56003bfa5f9df2a90134e2337ff0f9fc6f94bdf57f0ad8cf03f2b5a0c7cb5c7df86d1d82d32eb6d1bdf1ee90312bc674619f17
7
+ data.tar.gz: 8abffff36c41c61349c9bbace9bf5dfe05a7862031d4db41b23d42c6a0bef5d71270fb3b67749227ef12a5a65743400cc51a574897e82713b902f7e05a227617
@@ -28,18 +28,45 @@ Introduction
28
28
 
29
29
  Installing P4Ruby
30
30
 
31
+ As of 2014.2, the recommended mechanism for installing P4Ruby is via gems.
32
+
33
+ Outside of Windows, p4ruby gem installs must be compiled locally against
34
+ your installation of Ruby. If you can build the core Ruby distribution
35
+ locally, you likely can install P4Ruby without incident.
36
+
37
+ On Windows, precompiled gems will be made available.
38
+
31
39
  The main command to install p4ruby is via gem or bundle.
32
40
 
33
- gem install p4ruby
41
+ gem install p4ruby -- --with-p4api-dir=DIR
34
42
 
35
- Or, in your Gemfile, specify
43
+ In this case, the DIR above is the path to the C++ API distribution that
44
+ should match the major and minor version of P4Ruby. If you omit the
45
+ --with-p4api-dir option, the gem will attempt to download a version of the
46
+ API itself from ftp.perforce.com.
36
47
 
37
- ruby
38
- gem 'p4_web_api_client'
48
+ Alternatively, you can use Bundler (http://bundler.io). In your Gemfile,
49
+ specify
50
+
51
+ gem 'p4_web_api_client', '~> 2014.2'
39
52
 
40
53
  And then execute:
41
54
 
42
- bundle
55
+ bundle --with-p4api-dir=DIR
56
+
57
+ Installing a prerelease version of P4Ruby
58
+
59
+ Prereleases of upcoming versions are available also from RubyGems. The
60
+ syntax for prereleases typically involves adding the '.preN' suffix to your
61
+ version string, and indicating it directly.
62
+
63
+ For example:
64
+
65
+ # gem command line
66
+ gem install p4ruby --version=2014.2.0.pre5 -- --with-p4api-dir=DIR
67
+
68
+ # Gemfile, using range syntax
69
+ gem 'p4ruby', '~> 2014.2.0.pre'
43
70
 
44
71
  --------------------------------------------------------------------------
45
72
 
@@ -54,9 +81,6 @@ Building P4Ruby from Source
54
81
  of the Perforce API. Using the 'macos' variant
55
82
  does not work.
56
83
 
57
- Windows users should get the API from the
58
- "bin.mingwx86" platform directory for Ruby 1.8 or 1.9.
59
-
60
84
  TODO - Document the correct directory for Ruby 2.0 and 2.1 on
61
85
  Windows when it is made available.
62
86
 
@@ -76,15 +100,18 @@ Building P4Ruby from Source
76
100
  4. Test your distribution, which relies on a locally installed p4d,
77
101
  easily made available via the p4util project:
78
102
 
103
+ # This downloads a matching p4d executable and puts it into the local
104
+ # path work/p4d. You can replace these commands if you already have
105
+ # the p4d version you want to test against.
79
106
  gem install p4util
80
107
  p4util download p4d
108
+
109
+ # Run local tests
81
110
  rake test
82
111
 
83
- 5. To install P4Ruby, generate the gem:
112
+ 5. Install P4Ruby into your local gem cache:
84
113
 
85
- gem build p4ruby.gemspec
86
- gem install p4ruby-<version>.gem \
87
- --with-p4api-dir=<absolute path to Perforce C++ API>
114
+ rake install
88
115
 
89
116
  SSL support
90
117
  -----------
@@ -116,8 +143,9 @@ Compatibility Statements
116
143
 
117
144
  Ruby Compatibility
118
145
 
119
- The 2014.2 release of P4Ruby is supported building from source
120
- with Ruby 1.9, 2.0, and 2.1.
146
+ The 2014.2 release of P4Ruby is supported by installing the gem
147
+ with Ruby MRI releases 2.0, 2.1, and 2.2 with shared library
148
+ support.
121
149
 
122
150
  For detailed compatibility, please check the following table:
123
151
 
@@ -128,12 +156,25 @@ Compatibility Statements
128
156
  1.9 | 2011.1 or later
129
157
  2.0 | 2014.1 or later
130
158
  2.1 | 2014.2 or later
131
-
132
- The 2014.1 P4Ruby Windows installer requires Ruby 1.8 and was
133
- built with RubyInstaller 1.8 and MinGW 32-bit.
134
-
135
- TODO When MinGW-w64 builds are available, indicate that the
136
- P4Ruby 2014.2 builds do not need the windows installer.
159
+ 2.2 | 2014.2 or later
160
+
161
+ TODO 2014.2.0.pre4 needs mingw-w64 builds to support Ruby on windows
162
+
163
+ It is recommended that you use a Ruby distribution that can deploy
164
+ native gems easily, which, outside of Windows means obtaining a source
165
+ distribution of ruby and building it locally. This is easily done via RVM,
166
+ and can be installed system-wide, with other features (like wrappers) that
167
+ allow you to update the local installation of Ruby as security patches are
168
+ released. If using RVM, be sure to use --disable-binary when installing
169
+ your version of Ruby, to avoid any precompiled distributions that may not
170
+ have shared library support configured, which is needed for Ruby
171
+ extensions.
172
+
173
+ In general, Ruby VMs installed via package managers are not officially
174
+ coordinated with the MRI releases available on ruby-lang.org. You will
175
+ have to investigate the reliability of the source of your Ruby
176
+ distribution. In general, Ruby web application deployments avoid default
177
+ installations of Ruby, though your requirements may vary.
137
178
 
138
179
  OpenSSL Compatibility
139
180
 
@@ -161,8 +202,8 @@ Compatibility Statements
161
202
  only on the following platforms:
162
203
 
163
204
  Linux 2.6 Intel (x86, x86_64)
164
- Windows XP SP2+, 2003, Vista, 7, 2008 Intel (x86)
165
- Mac OS X 10.6, 10.7, 10.8 (x86_64), 10.9 (x86_64)
205
+ Windows XP SP2+, 2003, Vista, 7, 2008 Intel (x86), 8.1
206
+ Mac OS X 10.6, 10.7, 10.8 (x86_64), 10.9 (x86_64), 10.10 (x86_64)
166
207
 
167
208
  Note: As of 2012.1, a universal build of the Perforce C/C++
168
209
  API is no longer available for Darwin. P4Ruby is now
@@ -320,6 +361,34 @@ New functionality in 2014.2
320
361
  Add `enviro_file` property to P4 object, which underneath, uses the
321
362
  new `SetEnviroFile`/`GetEnviroFile` mechanism from the 14.2 C++ API.
322
363
 
364
+ Changes in 2014.2.0.pre5
365
+
366
+ * Fixed an issue where using the --with-p4api-dir option to gem install
367
+ would not actually set up the include and lib compilation directory
368
+ correctly.
369
+
370
+ * No longer distributing precompiled builds for linux or OS X due to
371
+ inadequate information from gem to match the Ruby distribution correctly.
372
+
373
+ * No longer embedding the C++ P4API to keep the total file size down to
374
+ allow the gem to be distributed via RubyGems.org.
375
+
376
+ * Changed logic to call p4.charset=nil if charset is already nil or resolves
377
+ to 'none'. Internally, this will trigger a call to ClientApi::SetTrans(0),
378
+ which should disable character set autodetection.
379
+
380
+ Bugs fixed in 2014.2.0.pre4
381
+
382
+ * (BUG#77207 / P4RUBY-176)
383
+ If the user has specified 'P4CHARSET=none' in a configuration file, or
384
+ has not set p4.charset='auto' (and it's default value was initialized to
385
+ 'none' by the C++ API), automatically disable character set detection.
386
+ This can cause the API to break when connecting to non-unicode servers
387
+ even though it appears to be configured to not be a unicode client.
388
+
389
+ * The default C++ API version should be included with the gem source, to
390
+ avoid calls to ftp.perforce.com.
391
+
323
392
  Bugs fixed in 2014.2.0.pre3
324
393
 
325
394
  * (BUG#75096 / P4RUBY-168)
data/ext/P4/extconf.rb CHANGED
@@ -362,6 +362,7 @@ def resolve_p4api_dir
362
362
  dir_config('p4api', "#{p4api_dir}/include", "#{p4api_dir}/lib")
363
363
  elsif with_config('p4api_dir')
364
364
  p4api_dir = with_config('p4api-dir')
365
+ dir_config('p4api', "#{p4api_dir}/include", "#{p4api_dir}/lib")
365
366
  elsif !p4api_dir
366
367
  raise '--with-p4api-dir option has not been specified, and --disable-p4api-download is in effect'
367
368
  end
data/lib/P4.rb CHANGED
@@ -133,6 +133,14 @@ class P4
133
133
  "servers" => ["server", "Name"],
134
134
  }
135
135
 
136
+ def initialize
137
+ # This will (eventually) call ClientApi::SetTrans(0) which should happen
138
+ # when we have not set a charset or the environment detects the 'none'
139
+ # setting. For whatever reason this is not done automatically by the API
140
+ # logic.
141
+ self.charset = nil if !self.charset or self.charset == 'none'
142
+ end
143
+
136
144
  def method_missing( m, *a )
137
145
 
138
146
  # Generic run_* methods
data/lib/P4/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class P4
2
- Version = VERSION = '2014.2.0.pre3'
2
+ Version = VERSION = '2014.2.0.pre5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: p4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2014.2.0.pre3
4
+ version: 2014.2.0.pre5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Perforce Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-14 00:00:00.000000000 Z
11
+ date: 2015-02-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby extensions to the C++ Perforce API.
14
14
  email: support@perforce.com
@@ -18,6 +18,7 @@ extensions:
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - LICENSE.txt
21
+ - README
21
22
  - ext/P4/clientprogressruby.cpp
22
23
  - ext/P4/clientprogressruby.h
23
24
  - ext/P4/clientuserruby.cpp
@@ -45,7 +46,6 @@ files:
45
46
  - ext/P4/undefdups.h
46
47
  - lib/P4.rb
47
48
  - lib/P4/version.rb
48
- - p4-doc/user/p4rubynotes.txt
49
49
  homepage: http://www.perforce.com/product/components/apis
50
50
  licenses:
51
51
  - MIT
@@ -56,12 +56,12 @@ require_paths:
56
56
  - lib
57
57
  required_ruby_version: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - '>'
64
+ - - ">"
65
65
  - !ruby/object:Gem::Version
66
66
  version: 1.3.1
67
67
  requirements: []