emf2svg 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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