emf2svg 0.1.1 → 1.0.0
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/.github/workflows/main.yml +51 -16
- data/.github/workflows/release.yml +47 -9
- data/Rakefile +48 -0
- data/emf2svg.gemspec +3 -3
- data/lib/emf2svg/version.rb +1 -1
- metadata +12 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa122aad222e0fd176cfc1866e0cdb5aad0bfb21374ec8c6ee75003c86332423
|
|
4
|
+
data.tar.gz: 44eaa239f4747d9aca2303848ac1e620f5777d495c6e91731a82e948ccfc9032
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ed4f0f3dd1169d4e47228f169f56240a8025132e92eb5a5c84318cd99cfeb62f777c0ac945bfd666def89a0db88f990f4e8d0ae1e162d02bd0aa464defce6fa4
|
|
7
|
+
data.tar.gz: cfe0a4cbef936aa876fd72686f493a08886a44e4dda501394bd935236c5152989b8fba80a4db3502a83b7f96899c3687715f922805381e53af117d5f5a94e430
|
data/.github/workflows/main.yml
CHANGED
|
@@ -11,7 +11,7 @@ jobs:
|
|
|
11
11
|
strategy:
|
|
12
12
|
fail-fast: false
|
|
13
13
|
matrix:
|
|
14
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
|
14
|
+
os: [ ubuntu-18.04, ubuntu-latest, windows-latest, macos-latest ]
|
|
15
15
|
steps:
|
|
16
16
|
- uses: actions/checkout@v2
|
|
17
17
|
|
|
@@ -22,47 +22,82 @@ jobs:
|
|
|
22
22
|
|
|
23
23
|
- run: bundle exec rake
|
|
24
24
|
|
|
25
|
-
build
|
|
26
|
-
runs-on:
|
|
25
|
+
build:
|
|
26
|
+
runs-on: ${{ matrix.os }}
|
|
27
|
+
strategy:
|
|
28
|
+
fail-fast: false
|
|
29
|
+
matrix:
|
|
30
|
+
include:
|
|
31
|
+
- os: ubuntu-18.04
|
|
32
|
+
platform: any
|
|
33
|
+
- os: ubuntu-18.04
|
|
34
|
+
platform: x86_64-linux
|
|
35
|
+
- os: windows-latest
|
|
36
|
+
platform: x64-mingw32
|
|
37
|
+
- os: macos-latest
|
|
38
|
+
platform: x86_64-darwin
|
|
27
39
|
steps:
|
|
28
40
|
- uses: actions/checkout@v2
|
|
29
41
|
|
|
30
42
|
- uses: ruby/setup-ruby@v1
|
|
31
43
|
with:
|
|
32
44
|
ruby-version: '2.6'
|
|
45
|
+
bundler-cache: true
|
|
33
46
|
|
|
34
|
-
- run: bundle
|
|
35
|
-
|
|
36
|
-
- run: bundle install --jobs 4 --retry 3
|
|
37
|
-
|
|
38
|
-
- run: bundle exec rake build
|
|
47
|
+
- run: bundle exec rake gem:native:${{ matrix.platform }}
|
|
39
48
|
|
|
40
49
|
- uses: actions/upload-artifact@v2
|
|
41
50
|
with:
|
|
42
51
|
name: pkg
|
|
43
52
|
path: pkg/*.gem
|
|
44
53
|
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
- name: Install gem
|
|
55
|
+
run: gem install --no-document pkg/emf2svg-*.gem
|
|
56
|
+
|
|
57
|
+
- name: Test conversion
|
|
58
|
+
run: |
|
|
59
|
+
ruby -remf2svg -e "puts File.write('output.svg', Emf2svg.from_file('spec/examples/image1.emf'), mode: 'wb')"
|
|
60
|
+
|
|
61
|
+
test-build:
|
|
62
|
+
needs: build
|
|
47
63
|
runs-on: ${{ matrix.os }}
|
|
48
64
|
strategy:
|
|
49
65
|
fail-fast: false
|
|
50
66
|
matrix:
|
|
51
|
-
|
|
67
|
+
include:
|
|
68
|
+
- os: ubuntu-latest
|
|
69
|
+
platform: any
|
|
70
|
+
- os: windows-latest
|
|
71
|
+
platform: any
|
|
72
|
+
- os: macos-latest
|
|
73
|
+
platform: any
|
|
74
|
+
- os: ubuntu-18.04
|
|
75
|
+
platform: x86_64-linux
|
|
76
|
+
- os: ubuntu-latest
|
|
77
|
+
platform: x86_64-linux
|
|
78
|
+
- os: windows-latest
|
|
79
|
+
platform: x64-mingw32
|
|
80
|
+
- os: macos-latest
|
|
81
|
+
platform: x86_64-darwin
|
|
52
82
|
steps:
|
|
53
83
|
- uses: actions/checkout@v2
|
|
54
84
|
|
|
85
|
+
- uses: ruby/setup-ruby@v1
|
|
86
|
+
with:
|
|
87
|
+
ruby-version: '2.6'
|
|
88
|
+
|
|
55
89
|
- uses: actions/download-artifact@v2
|
|
56
90
|
with:
|
|
57
91
|
name: pkg
|
|
58
92
|
path: pkg
|
|
59
93
|
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
94
|
+
- name: Install native gem
|
|
95
|
+
if: matrix.platform == 'any'
|
|
96
|
+
run: gem install --no-document pkg/emf2svg-$(ruby -I lib -r emf2svg/version -e "puts Emf2svg::VERSION").gem
|
|
63
97
|
|
|
64
|
-
- name: Install gem
|
|
65
|
-
|
|
98
|
+
- name: Install binary gem
|
|
99
|
+
if: matrix.platform != 'any'
|
|
100
|
+
run: gem install --no-document pkg/emf2svg-*-${{ matrix.platform }}.gem
|
|
66
101
|
|
|
67
102
|
- name: Test conversion
|
|
68
103
|
run: |
|
|
@@ -6,31 +6,69 @@ on:
|
|
|
6
6
|
- 'v*'
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
|
-
|
|
10
|
-
runs-on:
|
|
9
|
+
build:
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
include:
|
|
15
|
+
- os: ubuntu-18.04
|
|
16
|
+
platform: any
|
|
17
|
+
- os: ubuntu-18.04
|
|
18
|
+
platform: x86_64-linux
|
|
19
|
+
- os: windows-latest
|
|
20
|
+
platform: x64-mingw32
|
|
21
|
+
- os: macos-latest
|
|
22
|
+
platform: x86_64-darwin
|
|
11
23
|
steps:
|
|
12
|
-
- uses: actions/checkout@
|
|
24
|
+
- uses: actions/checkout@v2
|
|
13
25
|
|
|
14
26
|
- uses: ruby/setup-ruby@v1
|
|
15
27
|
with:
|
|
16
28
|
ruby-version: '2.6'
|
|
29
|
+
bundler-cache: true
|
|
17
30
|
|
|
18
|
-
- run: bundle
|
|
31
|
+
- run: bundle exec rake gem:native:${{ matrix.platform }}
|
|
19
32
|
|
|
20
|
-
-
|
|
33
|
+
- uses: actions/upload-artifact@v2
|
|
34
|
+
with:
|
|
35
|
+
name: pkg
|
|
36
|
+
path: pkg/*.gem
|
|
37
|
+
|
|
38
|
+
- name: Install gem
|
|
39
|
+
run: gem install --no-document pkg/emf2svg-*.gem
|
|
40
|
+
|
|
41
|
+
- name: Test conversion
|
|
42
|
+
run: |
|
|
43
|
+
ruby -remf2svg -e "puts File.write('output.svg', Emf2svg.from_file('spec/examples/image1.emf'), mode: 'wb')"
|
|
44
|
+
|
|
45
|
+
publish:
|
|
46
|
+
needs: build
|
|
47
|
+
runs-on: ubuntu-latest
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v2
|
|
21
50
|
|
|
22
|
-
-
|
|
51
|
+
- uses: ruby/setup-ruby@v1
|
|
52
|
+
with:
|
|
53
|
+
ruby-version: '2.6'
|
|
54
|
+
bundler-cache: true
|
|
55
|
+
|
|
56
|
+
- uses: actions/download-artifact@v2
|
|
57
|
+
with:
|
|
58
|
+
name: pkg
|
|
59
|
+
path: pkg
|
|
23
60
|
|
|
24
61
|
- name: Publish to rubygems.org
|
|
25
62
|
env:
|
|
26
63
|
RUBYGEMS_API_KEY: ${{secrets.METANORMA_CI_RUBYGEMS_API_KEY}}
|
|
27
64
|
run: |
|
|
28
|
-
|
|
65
|
+
mkdir -p ~/.gem
|
|
29
66
|
touch ~/.gem/credentials
|
|
30
67
|
cat > ~/.gem/credentials << EOF
|
|
31
68
|
---
|
|
32
69
|
:rubygems_api_key: ${RUBYGEMS_API_KEY}
|
|
33
70
|
EOF
|
|
34
71
|
chmod 0600 ~/.gem/credentials
|
|
35
|
-
|
|
36
|
-
|
|
72
|
+
gem signin
|
|
73
|
+
ls -l pkg/
|
|
74
|
+
for gem in pkg/*.gem; do gem push -V $gem; done
|
data/Rakefile
CHANGED
|
@@ -15,3 +15,51 @@ task :compile do
|
|
|
15
15
|
require_relative "ext/extconf"
|
|
16
16
|
end
|
|
17
17
|
task spec: :compile
|
|
18
|
+
|
|
19
|
+
desc "Build install-compilation gem"
|
|
20
|
+
task "gem:native:any" do
|
|
21
|
+
sh "rake platform:any gem"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
require "rubygems/package_task"
|
|
25
|
+
|
|
26
|
+
desc "Define the gem task to build on any platform (compile on install)"
|
|
27
|
+
task "platform:any" do
|
|
28
|
+
spec = Gem::Specification::load("emf2svg.gemspec").dup
|
|
29
|
+
task = Gem::PackageTask.new(spec)
|
|
30
|
+
task.define
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
platforms = [
|
|
34
|
+
"x64-mingw32",
|
|
35
|
+
"x86_64-linux",
|
|
36
|
+
"x86_64-darwin",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
platforms.each do |platform|
|
|
40
|
+
desc "Build pre-compiled gem for the #{platform} platform"
|
|
41
|
+
task "gem:native:#{platform}" do
|
|
42
|
+
sh "rake compile platform:#{platform} gem"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
desc "Define the gem task to build on the #{platform} platform (binary gem)"
|
|
46
|
+
task "platform:#{platform}" do
|
|
47
|
+
spec = Gem::Specification::load("emf2svg.gemspec").dup
|
|
48
|
+
spec.platform = Gem::Platform.new(platform)
|
|
49
|
+
spec.files += Dir.glob("lib/emf2svg/*.{dll,so,dylib}")
|
|
50
|
+
spec.extensions = []
|
|
51
|
+
spec.dependencies.reject! { |d| d.name == "mini_portile2" }
|
|
52
|
+
|
|
53
|
+
task = Gem::PackageTask.new(spec)
|
|
54
|
+
task.define
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
require "rake/clean"
|
|
59
|
+
|
|
60
|
+
CLOBBER.include("pkg")
|
|
61
|
+
CLEAN.include("ports",
|
|
62
|
+
"tmp",
|
|
63
|
+
"lib/emf2svg/*.dll",
|
|
64
|
+
"lib/emf2svg/*.dylib",
|
|
65
|
+
"lib/emf2svg/*.so")
|
data/emf2svg.gemspec
CHANGED
|
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
|
9
9
|
spec.email = ["open.source@ribose.com"]
|
|
10
10
|
|
|
11
11
|
spec.summary = "Ruby interface to libemf2svg."
|
|
12
|
-
# spec.description = "TODO: Write a longer description or delete this line."
|
|
13
12
|
spec.homepage = "https://github.com/metanorma/emf2svg-ruby"
|
|
13
|
+
spec.license = "BSD-2-Clause"
|
|
14
14
|
spec.required_ruby_version = ">= 2.5.0"
|
|
15
15
|
|
|
16
16
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_runtime_dependency "mini_portile2", "~> 2.6"
|
|
31
31
|
|
|
32
32
|
spec.add_development_dependency "rubocop", "1.5.2"
|
|
33
|
-
spec.add_development_dependency "rubocop-performance"
|
|
34
|
-
spec.add_development_dependency "rubocop-rails"
|
|
33
|
+
spec.add_development_dependency "rubocop-performance", "~> 1.0"
|
|
34
|
+
spec.add_development_dependency "rubocop-rails", "~> 2.0"
|
|
35
35
|
|
|
36
36
|
spec.extensions = ["ext/extconf.rb"]
|
|
37
37
|
end
|
data/lib/emf2svg/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: emf2svg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-09-
|
|
11
|
+
date: 2021-09-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ffi
|
|
@@ -56,30 +56,30 @@ dependencies:
|
|
|
56
56
|
name: rubocop-performance
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
59
|
+
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
61
|
+
version: '1.0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- - "
|
|
66
|
+
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
68
|
+
version: '1.0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rubocop-rails
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
75
|
+
version: '2.0'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
82
|
+
version: '2.0'
|
|
83
83
|
description:
|
|
84
84
|
email:
|
|
85
85
|
- open.source@ribose.com
|
|
@@ -109,7 +109,8 @@ files:
|
|
|
109
109
|
- lib/emf2svg/recipe.rb
|
|
110
110
|
- lib/emf2svg/version.rb
|
|
111
111
|
homepage: https://github.com/metanorma/emf2svg-ruby
|
|
112
|
-
licenses:
|
|
112
|
+
licenses:
|
|
113
|
+
- BSD-2-Clause
|
|
113
114
|
metadata:
|
|
114
115
|
homepage_uri: https://github.com/metanorma/emf2svg-ruby
|
|
115
116
|
source_code_uri: https://github.com/metanorma/emf2svg-ruby
|