arg_scanner 0.3.0 → 0.3.1
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/README.md +30 -21
- data/arg_scanner.gemspec +4 -3
- data/ext/arg_scanner/arg_scanner.h +0 -1
- data/ext/arg_scanner/extconf.rb +37 -0
- data/lib/arg_scanner/version.rb +1 -1
- metadata +23 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf233aaf09930a6c6307a167a952cf19e5ddff4ccb8010d792a127c2136f4479
|
4
|
+
data.tar.gz: f7ea48b2b8ba0d598deb63cd7c061b71c7c7c92cb9203ec1e1b12084e0f91929
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c80371429f9cb53ab8cd63976d665aa0b811e4180080a1d66b568ba0c635a310a25e3d4d7164dea0a8f1d44d33deaa1494666cca66e40cd3b37087a354399ec
|
7
|
+
data.tar.gz: 6095cc9f585d6ba3001e5e832b591d0dfb5c6f05ced2ccfaa49356b8b802dfb2a38f7288c07ef7a8b3254f5dab17a238d691dff723ca791c1ab2d3c898d43834
|
data/README.md
CHANGED
@@ -9,40 +9,49 @@ deliver the following information:
|
|
9
9
|
This information can be used then to calculate and use type contracts
|
10
10
|
for the analysed methods.
|
11
11
|
|
12
|
-
## Requirements
|
13
|
-
|
14
|
-
##### libglib2.0-dev
|
15
|
-
|
16
|
-
On Ubuntu run: ` $ sudo apt install libglib2.0-dev`
|
17
|
-
|
18
|
-
## Installation
|
19
|
-
|
20
12
|
`arg_scanner` is meant to be used as a binary to run any other ruby executable
|
21
13
|
manually so including it in the `Gemfile` is not necessary.
|
22
14
|
|
23
|
-
|
15
|
+
## Installation
|
24
16
|
|
25
|
-
|
26
|
-
|
27
|
-
|
17
|
+
The recommended way to install it is to execute command:
|
18
|
+
|
19
|
+
```
|
20
|
+
gem install arg_scanner
|
21
|
+
```
|
22
|
+
**You will possibly need to install [native dependencies](#dependencies)**
|
28
23
|
|
29
|
-
|
30
|
-
|
24
|
+
## Building from sources
|
25
|
+
|
26
|
+
If you want to compile the gem from sources, just run the following commands:
|
27
|
+
|
28
|
+
```
|
29
|
+
bundle install
|
30
|
+
bundle exec rake install
|
31
|
+
```
|
31
32
|
|
32
33
|
If you have problems with native extension compilation, make sure you have
|
33
|
-
actual version of [ruby-core-source gem](https://github.com/os97673/debase-ruby_core_source)
|
34
|
+
actual version of [ruby-core-source gem](https://github.com/os97673/debase-ruby_core_source) and
|
35
|
+
have [native dependencies](#dependencies) installed.
|
36
|
+
|
37
|
+
## Dependencies
|
38
|
+
|
39
|
+
##### [Glib](https://developer.gnome.org/glib/)
|
40
|
+
|
41
|
+
macOS: `brew install glib`
|
42
|
+
Debian/Ubuntu: `sudo apt install libglib2.0-dev`
|
43
|
+
Arch Linux: `sudo pacman -S glib2`
|
34
44
|
|
35
45
|
## Usage
|
36
46
|
|
37
|
-
`arg_scanner` provides
|
47
|
+
`arg_scanner` provides the `arg-scanner` binary which receives any number of
|
38
48
|
arguments and executes the given command in type tracking mode,
|
39
49
|
for example:
|
40
50
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
to receive and process that data.
|
51
|
+
```
|
52
|
+
arg-scanner --type-tracker --pipe-file-path=[pipe_file_path] bundle exec rake spec
|
53
|
+
```
|
54
|
+
`pipe_file_path` here is path to pipe file which is printed by server's stdout
|
46
55
|
|
47
56
|
## Contributing
|
48
57
|
|
data/arg_scanner.gemspec
CHANGED
@@ -30,8 +30,9 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.require_paths = ["lib"]
|
31
31
|
spec.extensions = ["ext/arg_scanner/extconf.rb"]
|
32
32
|
|
33
|
-
spec.add_development_dependency "bundler", "
|
34
|
-
spec.add_development_dependency "rake", "
|
33
|
+
spec.add_development_dependency "bundler", ">= 1.13"
|
34
|
+
spec.add_development_dependency "rake", ">= 12.0"
|
35
35
|
spec.add_development_dependency "rake-compiler"
|
36
|
-
spec.add_development_dependency "debase-ruby_core_source", ">= 0.10.
|
36
|
+
spec.add_development_dependency "debase-ruby_core_source", ">= 0.10.4"
|
37
|
+
spec.add_development_dependency "native-package-installer", ">= 1.0.0"
|
37
38
|
end
|
data/ext/arg_scanner/extconf.rb
CHANGED
@@ -3,6 +3,43 @@ require "mkmf"
|
|
3
3
|
RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
|
4
4
|
|
5
5
|
require "debase/ruby_core_source"
|
6
|
+
require "native-package-installer"
|
7
|
+
|
8
|
+
class NilClass
|
9
|
+
def empty?; true; end
|
10
|
+
end
|
11
|
+
|
12
|
+
# Just a replacement of have_header because have_header searches not recursively :(
|
13
|
+
def real_have_header(header_name)
|
14
|
+
if (have_header(header_name))
|
15
|
+
return true
|
16
|
+
end
|
17
|
+
yes_msg = "checking for #{header_name}... yes"
|
18
|
+
no_msg = "checking for #{header_name}... no"
|
19
|
+
|
20
|
+
include_env = ENV["C_INCLUDE_PATH"]
|
21
|
+
if !include_env.empty? && !Dir.glob("#{include_env}/**/#{header_name}").empty?
|
22
|
+
puts yes_msg
|
23
|
+
return true
|
24
|
+
end
|
25
|
+
if !Dir.glob("/usr/include/**/#{header_name}").empty?
|
26
|
+
puts yes_msg
|
27
|
+
return true
|
28
|
+
end
|
29
|
+
puts no_msg
|
30
|
+
return false
|
31
|
+
end
|
32
|
+
|
33
|
+
if !real_have_header('glib.h') &&
|
34
|
+
!NativePackageInstaller.install(:alt_linux => "glib2-devel",
|
35
|
+
:debian => "libglib2.0-dev",
|
36
|
+
:redhat => "glib2-devel",
|
37
|
+
:arch_linux => "glib2",
|
38
|
+
:homebrew => "glib",
|
39
|
+
:macports => "glib2",
|
40
|
+
:msys2 => "glib2")
|
41
|
+
exit(false)
|
42
|
+
end
|
6
43
|
|
7
44
|
hdrs = proc {
|
8
45
|
have_header("vm_core.h") and
|
data/lib/arg_scanner/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arg_scanner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nickolay Viuginov
|
@@ -10,34 +10,34 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-09-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '1.13'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '1.13'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rake
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- - "
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '12.0'
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- - "
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '12.0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
@@ -60,14 +60,28 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.10.
|
63
|
+
version: 0.10.4
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 0.10.4
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: native-package-installer
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.0.0
|
64
78
|
type: :development
|
65
79
|
prerelease: false
|
66
80
|
version_requirements: !ruby/object:Gem::Requirement
|
67
81
|
requirements:
|
68
82
|
- - ">="
|
69
83
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
84
|
+
version: 1.0.0
|
71
85
|
description:
|
72
86
|
email:
|
73
87
|
- viuginov.nickolay@gmail.com
|
@@ -124,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
138
|
version: '0'
|
125
139
|
requirements: []
|
126
140
|
rubyforge_project:
|
127
|
-
rubygems_version: 2.7.
|
141
|
+
rubygems_version: 2.7.9
|
128
142
|
signing_key:
|
129
143
|
specification_version: 4
|
130
144
|
summary: Program execution tracker to retrieve data types information
|