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 +4 -4
- data/{p4-doc/user/p4rubynotes.txt → README} +91 -22
- data/ext/P4/extconf.rb +1 -0
- data/lib/P4.rb +8 -0
- data/lib/P4/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b3f978b58597f0b0dceedf7f041fad06099e1b8
|
4
|
+
data.tar.gz: bae0a733de191edef6cfd399c5303b45870d5581
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
38
|
-
|
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.
|
112
|
+
5. Install P4Ruby into your local gem cache:
|
84
113
|
|
85
|
-
|
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
|
120
|
-
with Ruby
|
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
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
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
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.
|
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-
|
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: []
|