expressir 1.1.0 → 1.2.3
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/.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: []
|