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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2f40393f8fd1ee8fac3c0bac60dd57cdffa37e7c29fe4c84654a1c09fd3eddc6
4
- data.tar.gz: 1177ab6679786bfaa7ee08dec8c38ac52cf7c9367c83a2c8197569950266c7df
3
+ metadata.gz: fa122aad222e0fd176cfc1866e0cdb5aad0bfb21374ec8c6ee75003c86332423
4
+ data.tar.gz: 44eaa239f4747d9aca2303848ac1e620f5777d495c6e91731a82e948ccfc9032
5
5
  SHA512:
6
- metadata.gz: a969bc6a4061541d00b0385951622f0d640d96f2d03a5a9081e9b583b4b60e4527e331ea88c287a9049ace569e85f9473bfaca9d029a5ed0122091ef43778f5c
7
- data.tar.gz: 688381d0362f87e799bbe26a18d673a3eda30f2eaa4e7c2e39d3e925f90304726d97b32d5d8e195c6fd1493c0dddc5643e08e1a0973d710eb3e1dbe2512690f3
6
+ metadata.gz: ed4f0f3dd1169d4e47228f169f56240a8025132e92eb5a5c84318cd99cfeb62f777c0ac945bfd666def89a0db88f990f4e8d0ae1e162d02bd0aa464defce6fa4
7
+ data.tar.gz: cfe0a4cbef936aa876fd72686f493a08886a44e4dda501394bd935236c5152989b8fba80a4db3502a83b7f96899c3687715f922805381e53af117d5f5a94e430
@@ -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-gem:
26
- runs-on: ubuntu-18.04
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 config set path 'vendor/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
- test-gem:
46
- needs: build-gem
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
- os: [ ubuntu-18.04, ubuntu-latest, windows-latest, macos-latest ]
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
- - uses: ruby/setup-ruby@v1
61
- with:
62
- ruby-version: '2.6'
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
- run: gem install --no-document pkg/emf2svg-*.gem
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
- release:
10
- runs-on: ubuntu-18.04
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@v1
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 config set path 'vendor/bundle'
31
+ - run: bundle exec rake gem:native:${{ matrix.platform }}
19
32
 
20
- - run: bundle install --jobs 4 --retry 3
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
- - run: bundle exec rake
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
- gem install gem-release
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
- git status
36
- gem release
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Emf2svg
4
- VERSION = "0.1.1"
4
+ VERSION = "1.0.0"
5
5
  end
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.1.1
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-03 00:00:00.000000000 Z
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