p4ruby 2014.2.0.pre3 → 2014.2.0.pre5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []