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 +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: []
|