expressir 1.1.0 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cross_rubies +9 -18
- data/.github/workflows/rake.yml +50 -5
- data/.github/workflows/release.yml +12 -3
- data/.gitmodules +1 -1
- data/.hound.yml +3 -0
- data/.rubocop.yml +6 -506
- data/expressir.gemspec +3 -3
- data/ext/express-parser/express_parser.cpp +4361 -2955
- data/ext/express-parser/extconf.rb +6 -3
- data/lib/expressir/model/repository.rb +3 -5
- data/lib/expressir/version.rb +1 -1
- data/rakelib/cross-ruby.rake +10 -2
- metadata +9 -7
@@ -21,7 +21,7 @@ src_paths = [
|
|
21
21
|
if cross_build
|
22
22
|
rice_subdir = "rice-embed"
|
23
23
|
rice_root = Gem.loaded_specs["rice"].full_gem_path
|
24
|
-
rice_src = File.join(rice_root, "rice")
|
24
|
+
rice_src = File.join(rice_root, "include", "rice")
|
25
25
|
rice_embed = File.join(__dir__, rice_subdir)
|
26
26
|
unless File.exists?(rice_embed)
|
27
27
|
FileUtils.mkdir_p(rice_embed)
|
@@ -30,7 +30,7 @@ if cross_build
|
|
30
30
|
File.delete(*Dir.glob("#{rice_embed}/**/Makefile"))
|
31
31
|
end
|
32
32
|
|
33
|
-
src_paths.push("#{rice_subdir}/
|
33
|
+
src_paths.push("#{rice_subdir}/include")
|
34
34
|
|
35
35
|
$INCFLAGS << " -I#{__dir__}/#{rice_subdir}"
|
36
36
|
|
@@ -39,6 +39,9 @@ if cross_build
|
|
39
39
|
$CXXFLAGS << " -O3 -Wa,-mbig-obj"
|
40
40
|
# workaround for LoadError: 127: The specified procedure could not be found.
|
41
41
|
$DLDFLAGS << " -static -static-libgcc -static-libstdc++"
|
42
|
+
elsif RbConfig::CONFIG['target_os'] =~ /darwin/
|
43
|
+
$CXXFLAGS << " -mmacosx-version-min=10.14 -Wno-register -fno-c++-static-destructors"
|
44
|
+
$DLDFLAGS << " -mmacosx-version-min=10.14"
|
42
45
|
end
|
43
46
|
else
|
44
47
|
require 'mkmf-rice'
|
@@ -46,7 +49,7 @@ else
|
|
46
49
|
dir_config(extension_name)
|
47
50
|
end
|
48
51
|
|
49
|
-
$CPPFLAGS << " -std=c++
|
52
|
+
$CPPFLAGS << " -std=c++17 -DANTLR4CPP_STATIC -DHAVE_CXX11"
|
50
53
|
$INCFLAGS << " -I#{__dir__}/#{antlr4_src}"
|
51
54
|
$srcs = []
|
52
55
|
|
@@ -1,13 +1,11 @@
|
|
1
1
|
module Expressir
|
2
2
|
module Model
|
3
|
-
|
4
|
-
# - section 10 Scope and visibility
|
5
|
-
# - section 10.3.13 Schema
|
3
|
+
# Multi-schema global scope
|
6
4
|
class Repository < ModelElement
|
7
|
-
model_attr_accessor :schemas, 'Array<Schema>'
|
5
|
+
model_attr_accessor :schemas, 'Array<Declarations::Schema>'
|
8
6
|
|
9
7
|
# @param [Hash] options
|
10
|
-
# @option options [Array<Schema>] :schemas
|
8
|
+
# @option options [Array<Declarations::Schema>] :schemas
|
11
9
|
def initialize(options = {})
|
12
10
|
@schemas = options[:schemas] || []
|
13
11
|
|
data/lib/expressir/version.rb
CHANGED
data/rakelib/cross-ruby.rake
CHANGED
@@ -44,6 +44,8 @@ CrossRuby = Struct.new(:version, :host) do
|
|
44
44
|
"x86-mingw32"
|
45
45
|
when /\Ax86_64.*linux/
|
46
46
|
"x86_64-linux"
|
47
|
+
when /\A(arm64|aarch64).*linux/
|
48
|
+
"aarch64-linux"
|
47
49
|
when /\Ai[3-6]86.*linux/
|
48
50
|
"x86-linux"
|
49
51
|
when /\Ax86_64-darwin/
|
@@ -63,6 +65,8 @@ CrossRuby = Struct.new(:version, :host) do
|
|
63
65
|
"i686-w64-mingw32-"
|
64
66
|
when "x86_64-linux"
|
65
67
|
"x86_64-redhat-linux-"
|
68
|
+
when "aarch64-linux"
|
69
|
+
"aarch64-redhat-linux-"
|
66
70
|
when "x86-linux"
|
67
71
|
"i686-redhat-linux-"
|
68
72
|
when /x86_64.*darwin/
|
@@ -82,6 +86,8 @@ CrossRuby = Struct.new(:version, :host) do
|
|
82
86
|
"pei-i386"
|
83
87
|
when "x86_64-linux"
|
84
88
|
"elf64-x86-64"
|
89
|
+
when "aarch64-linux"
|
90
|
+
"elf64-arm64"
|
85
91
|
when "x86-linux"
|
86
92
|
"elf32-i386"
|
87
93
|
when "x86_64-darwin"
|
@@ -245,12 +251,14 @@ def gem_builder(plat)
|
|
245
251
|
end
|
246
252
|
|
247
253
|
namespace "gem" do
|
254
|
+
REDHAT_PREREQ = "sudo yum install -y git"
|
255
|
+
UBUNTU_PREREQ = "sudo apt-get update -y && sudo apt-get install -y automake autoconf libtool build-essential"
|
248
256
|
CROSS_RUBIES.find_all { |cr| cr.windows? || cr.linux? || cr.darwin? }.map(&:platform).uniq.each do |plat|
|
249
257
|
pre_req = case plat
|
250
258
|
when /\linux/
|
251
|
-
"
|
259
|
+
"if [[ $(awk -F= '/^NAME/{print $2}' /etc/os-release) == '\"Ubuntu\"' ]]; then #{UBUNTU_PREREQ}; else #{REDHAT_PREREQ}; fi"
|
252
260
|
else
|
253
|
-
"
|
261
|
+
"#{UBUNTU_PREREQ}"
|
254
262
|
end
|
255
263
|
desc "build native gem for #{plat} platform"
|
256
264
|
task plat do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: expressir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 4.0.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 4.0.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: asciidoctor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,7 +192,8 @@ dependencies:
|
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 1.7.0
|
195
|
-
description:
|
195
|
+
description: Expressir (“EXPRESS in Ruby”) is a Ruby parser for EXPRESS and a set
|
196
|
+
of Ruby tools for accessing ISO EXPRESS data models.
|
196
197
|
email:
|
197
198
|
- open.source@ribose.com'
|
198
199
|
executables:
|
@@ -206,6 +207,7 @@ files:
|
|
206
207
|
- ".github/workflows/release.yml"
|
207
208
|
- ".gitignore"
|
208
209
|
- ".gitmodules"
|
210
|
+
- ".hound.yml"
|
209
211
|
- ".rspec"
|
210
212
|
- ".rubocop.yml"
|
211
213
|
- ".yardopts"
|
@@ -741,8 +743,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
741
743
|
- !ruby/object:Gem::Version
|
742
744
|
version: '0'
|
743
745
|
requirements: []
|
744
|
-
rubygems_version: 3.
|
746
|
+
rubygems_version: 3.2.33
|
745
747
|
signing_key:
|
746
748
|
specification_version: 4
|
747
|
-
summary: ISO EXPRESS parser
|
749
|
+
summary: ISO EXPRESS parser and tools in Ruby.
|
748
750
|
test_files: []
|