picrate 2.1.2-java → 2.4.2-java

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/extensions.xml +1 -1
  3. data/CHANGELOG.md +8 -0
  4. data/README.md +3 -2
  5. data/Rakefile +2 -1
  6. data/docs/_includes/footer.html +1 -1
  7. data/docs/_layouts/post.html +1 -1
  8. data/docs/_methods/noise_mode.md +88 -0
  9. data/docs/_posts/2018-05-06-install_jruby.md +1 -1
  10. data/docs/_posts/2018-11-18-building-gem.md +3 -1
  11. data/docs/classes.md +2 -2
  12. data/docs/editors.md +2 -2
  13. data/docs/gems.md +3 -3
  14. data/docs/index.html +1 -1
  15. data/docs/libraries.md +2 -2
  16. data/docs/live.md +2 -2
  17. data/docs/magic.md +2 -2
  18. data/docs/methods.md +2 -2
  19. data/docs/modules.md +3 -3
  20. data/docs/objects.md +2 -2
  21. data/lib/picrate/app.rb +7 -6
  22. data/lib/picrate/native_folder.rb +1 -3
  23. data/lib/picrate/version.rb +1 -1
  24. data/library/pdf/pdf.rb +7 -0
  25. data/library/svg/svg.rb +7 -0
  26. data/picrate.gemspec +5 -3
  27. data/pom.rb +25 -4
  28. data/pom.xml +39 -4
  29. data/src/main/java/monkstone/FastNoiseModuleJava.java +127 -0
  30. data/src/main/java/monkstone/PicrateLibrary.java +3 -1
  31. data/src/main/java/monkstone/SmoothNoiseModuleJava.java +127 -0
  32. data/src/main/java/monkstone/fastmath/DegLutTables.java +111 -0
  33. data/src/main/java/monkstone/fastmath/Deglut.java +41 -93
  34. data/src/main/java/monkstone/noise/OpenSimplex2F.java +914 -0
  35. data/src/main/java/monkstone/noise/OpenSimplex2S.java +1138 -0
  36. data/src/main/java/monkstone/vecmath/package-info.java +1 -1
  37. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
  38. data/src/main/java/monkstone/videoevent/package-info.java +1 -1
  39. data/src/main/java/processing/awt/ShimAWT.java +260 -94
  40. data/src/main/java/processing/core/PApplet.java +14664 -13450
  41. data/src/main/java/processing/core/PConstants.java +5 -5
  42. data/src/main/java/processing/core/PFont.java +1 -1
  43. data/src/main/java/processing/core/PGraphics.java +200 -201
  44. data/src/main/java/processing/core/PImage.java +539 -549
  45. data/src/main/java/processing/core/PShape.java +18 -18
  46. data/src/main/java/processing/core/PVector.java +23 -23
  47. data/src/main/java/processing/data/Table.java +4 -4
  48. data/src/main/java/processing/net/Client.java +13 -13
  49. data/src/main/java/processing/net/Server.java +5 -5
  50. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +4 -4
  51. data/src/main/java/processing/pdf/PGraphicsPDF.java +529 -0
  52. data/src/main/java/processing/svg/PGraphicsSVG.java +378 -0
  53. data/test/deglut_spec_test.rb +2 -2
  54. data/test/respond_to_test.rb +0 -2
  55. data/test/test_helper.rb +1 -1
  56. data/vendors/Rakefile +1 -1
  57. metadata +26 -15
  58. data/src/main/java/monkstone/noise/SimplexNoise.java +0 -465
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e9ef3696c4eb0b3a488c7e25d30546ab03eae3a49e5220ec3d9cf4c862fddf3
4
- data.tar.gz: 88f799089492e9507bbb09baa4e9634c335627fea27ec8adf22207cf4678de7b
3
+ metadata.gz: 0ab492711c3332d165604d48dd5a816b774d1a3d8c3149ad03e06e5ecfefd091
4
+ data.tar.gz: 581eed24cf663f8752a035a10213240c20e182c3fce6a76f30e79d0df7051dc7
5
5
  SHA512:
6
- metadata.gz: 57be7c1825b5afe9fac52830070c97e04b18590d6db7d3ff099a83861e757eb7dfba02f1f9a3ad80c5e6b20c1ce73226a13be1ce3aefb3d6e66180af59d742d1
7
- data.tar.gz: a94c876edf96da7f89939d0cb11e8ab09f74c03686c5f36eaeae90ea61c5dd44e23c9d7812d521a17215110534a722f4a20ee7c29f8dffc28a1af0b15eac21db
6
+ metadata.gz: fe19f9cf14758e36a72c98cdd00baa4bab8e9db666f4c624b5ef593bf6621169d34c33f6513c337faa4bea24a8041d1d8c9681205c2ce6d3fd8dc9bd0d3bdbea
7
+ data.tar.gz: f63af7d23c1c38a2ed7050e8682f5336f6a607dc1094d6c67276c66661272e61c70bf0a86c0e3133eb9e6198cf407b560769dc41de811b71a611662150efee2a
data/.mvn/extensions.xml CHANGED
@@ -3,7 +3,7 @@
3
3
  <extension>
4
4
  <groupId>io.takari.polyglot</groupId>
5
5
  <artifactId>polyglot-ruby</artifactId>
6
- <version>0.4.5
6
+ <version>0.4.6
7
7
  </version>
8
8
  </extension>
9
9
  </extensions>
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ v2.4.1 patch library loader, add PGS library examples.
2
+
3
+ v2.4.0 Refactor noise to two modules, FastNoise (default) & SmoothNoise, with terrain noise `:tnoise` option.
4
+
5
+ v2.3.0 Abandon Processing Value Noise in favour of OpenSimplex2, with choosable options. Added pdf library using iText5.
6
+
7
+ v2.2.0 Bump to latest JOGL-rc January 2021
8
+
1
9
  v2.1.2 Bump to JRuby-9.2.14.0
2
10
 
3
11
  v2.1.1 Bump to JRuby-9.2.13.0, include examples using ruby `clamp` in place of processing `constrain`, update to video-2.0 release, add run instruction to help
data/README.md CHANGED
@@ -14,12 +14,12 @@ jgem install picrate
14
14
 
15
15
  Clone main branch:-
16
16
 
17
- Requires java to build (and jogl-2.4.0-rc jars), but uses a maven wrapper so you don't need to install maven. Suggest build/test on regular linux box, but is designed for use on both RaspberryPI 3B+ and RaspberryPI4. Needs installed jruby to test/run.
17
+ Requires java to build (and [jogl-2.4.0-rc jars][jogl_jars]), but uses a maven wrapper so you don't need to install maven. Suggest build/test on regular linux box, but is designed for use on both RaspberryPI 3B+ and RaspberryPI4. Needs installed jruby to test/run.
18
18
 
19
19
  ```bash
20
20
  cd PiCrate # or whatever you call it
21
21
  rake # assumes an installed version of vanilla processing
22
- jgem install picrate-2.1.2-java.gem
22
+ jgem install picrate-2.4.1-java.gem
23
23
 
24
24
  ```
25
25
  To create a template sketch:-
@@ -59,3 +59,4 @@ jruby --dev my_sketch.rb # --dev flag speeds start-up
59
59
  [propane]:https://ruby-processing.github.io/propane/
60
60
  [vim]:https://github.com/ruby-processing/PiCrate/blob/master/docs/_editors/vim.md
61
61
  [geany]:https://github.com/ruby-processing/PiCrate/blob/master/docs/_editors/geany.md
62
+ [jogl_jars]:https://jogamp.org/deployment/archive/rc/v2.4.0-rc-20210111/jar/
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ task default: %i[init compile install test gem]
9
9
  # Currently depends on local jogl-2.4.0 jars on path ~/jogl24
10
10
  desc 'Copy Jars'
11
11
  task :init do
12
- jogl24 = File.join(HOME_DIR, 'jogl24')
12
+ jogl24 = File.join(HOME_DIR, 'jogl-2.4-rc2021011')
13
13
  opengl = Dir.entries(jogl24).grep(/amd64|armv6hf|aarch64/).select { |jar| jar =~ /linux/ }
14
14
  opengl.concat %w[jogl-all.jar gluegen-rt.jar]
15
15
  opengl.each do |gl|
@@ -19,6 +19,7 @@ end
19
19
 
20
20
  desc 'Install'
21
21
  task :install do
22
+ sh "mvn dependency:copy"
22
23
  FileUtils.mv "target/picrate-#{PiCrate::VERSION}.jar", 'lib'
23
24
  end
24
25
 
@@ -29,7 +29,7 @@
29
29
  </div>
30
30
 
31
31
  <div class="footer-col footer-col-3">
32
- <p>{{ site.description }}</p>
32
+ <p>{{ site.description }}
33
33
  </div>
34
34
  </div>
35
35
 
@@ -5,7 +5,7 @@ layout: default
5
5
 
6
6
  <header class="post-header">
7
7
  <h1 class="post-title">{{ page.title }}</h1>
8
- <p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
8
+ <p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}
9
9
  </header>
10
10
 
11
11
  <article class="post-content">
@@ -0,0 +1,88 @@
1
+ ---
2
+ layout: post
3
+ title: "noise_mode"
4
+ ---
5
+
6
+ ### Name ###
7
+
8
+ `noise_mode` _NB: not currently available in vanilla processing_.
9
+
10
+ ### Examples ###
11
+
12
+ ```ruby
13
+ #!/usr/bin/env jruby -w
14
+ require 'picrate'
15
+
16
+ class TestNoise < Processing::App
17
+ attr_reader :z
18
+
19
+ def setup
20
+ stroke(255, 64)
21
+ @z = 0
22
+ end
23
+
24
+ def draw
25
+ noise_scale = 0.01
26
+ background(0)
27
+ grid(width, height, 10, 10) do |x, y|
28
+ arrow(x, y, noise(x * noise_scale, y * noise_scale, z * noise_scale) * TWO_PI * 2)
29
+ end
30
+ @z += 1
31
+ end
32
+
33
+ def mouse_pressed
34
+ mode = NoiseMode::OPEN_SMOOTH # Smooth classic OpenSimplex2
35
+ noise_mode mode
36
+ sketch_title mode.description
37
+ end
38
+
39
+ def mouse_released
40
+ mode = NoiseMode::DEFAULT # Fast classic OpenSimplex2
41
+ noise_mode(mode)
42
+ sketch_title mode.description
43
+ end
44
+
45
+
46
+ def arrow(x, y, ang)
47
+ push_matrix()
48
+ translate(x, y)
49
+ rotate(ang)
50
+ line(0, 0, 20, 0)
51
+ translate(20, 0)
52
+ rotate(PI + 0.4)
53
+ line(0, 0, 5, 0)
54
+ rotate(-0.8)
55
+ line(0, 0, 5, 0)
56
+ pop_matrix()
57
+ end
58
+
59
+ def settings
60
+ size(600, 400, P2D)
61
+ end
62
+ end
63
+
64
+ TestNoise.new
65
+
66
+ ```
67
+
68
+ ### Description ###
69
+
70
+ Currently supports four implementations of noise:-
71
+ 1. DEFAULT # fast classic OpenSimplex2
72
+ 2. OPEN_SMOOTH # smoother class OpenSimplex2F
73
+ 3. FAST_TERRAIN # more suited to terrain
74
+ 4. SMOOTH_TERRAIN # as above but smoother
75
+
76
+ ### Syntax ###
77
+
78
+ ```ruby
79
+ noise_mode(mode) # default is NoiseMode::DEFAULT, a fast classic OpenSimplex2
80
+ ```
81
+
82
+ ### Related ###
83
+
84
+ `noise(x, y, z, w)`
85
+
86
+ `noise(x, y, z)`
87
+
88
+ `noise(x, y)`
@@ -38,7 +38,7 @@ export PATH="${PATH}:${GEM_PATH}/bin"
38
38
 
39
39
  ### Automated install using bash ###
40
40
 
41
- The [picrate2_install.sh][bash] script currently installs jruby-9.2.14.0 and picrate-2.1.2.
41
+ The [picrate2_install.sh][bash] script currently installs jruby-9.2.14.0 and picrate-2.2.0.
42
42
 
43
43
  If you know better please post on wiki
44
44
 
@@ -6,7 +6,7 @@ categories: PiCrate update
6
6
  ---
7
7
  Requirements:-
8
8
 
9
- 1. Latest jogl-2.4.0-rc jars (place in ~/jogl24 folder).
9
+ 1. Latest jogl-2.4.0-rc jars (place in ~/jogl-2.4-rc2021011 folder see [jogl-jars][jars]).
10
10
 
11
11
  2. jdk-11+ and maven
12
12
 
@@ -16,3 +16,5 @@ git clone --depth 1 https://github.com/ruby-processing/PiCrate.git
16
16
  cd PiCrate
17
17
  rake # to build gem
18
18
  ```
19
+
20
+ [jars]:https://jogamp.org/deployment/archive/rc/v2.4.0-rc-20210111/jar/
data/docs/classes.md CHANGED
@@ -5,6 +5,6 @@ title: Classes
5
5
 
6
6
  {% for class in site.classes %}
7
7
  <h2>{{ item.title }}</h2>
8
- <p>{{ item.description }}</p>
9
- <p><h2><a href="{{ class.url | prepend: site.github.url }}">{{ class.title }}</a></h2></p>
8
+ <p>{{ item.description }}
9
+ <p><h2><a href="{{ class.url | prepend: site.github.url }}">{{ class.title }}</a></h2>
10
10
  {% endfor %}
data/docs/editors.md CHANGED
@@ -5,6 +5,6 @@ title: Editors
5
5
 
6
6
  {% for editor in site.editors %}
7
7
  <h2>{{ item.title }}</h2>
8
- <p>{{ item.description }}</p>
9
- <p><h2><a href="{{ editor.url | prepend: site.github.url }}">{{ editor.title }}</a></h2></p>
8
+ <p>{{ item.description }}
9
+ <p><h2><a href="{{ editor.url | prepend: site.github.url }}">{{ editor.title }}</a></h2>
10
10
  {% endfor %}
data/docs/gems.md CHANGED
@@ -4,8 +4,8 @@ title: Gems
4
4
  ---
5
5
  {% for gem in site.gems %}
6
6
  <h2>{{ item.title }}</h2>
7
- <p>{{ item.description }}</p>
8
- <p><h2><a href="{{ gem.url | prepend: site.github.url }}">{{ gem.title }}</a></h2></p>
7
+ <p>{{ item.description }}
8
+ <p><h2><a href="{{ gem.url | prepend: site.github.url }}">{{ gem.title }}</a></h2>
9
9
  {% endfor %}
10
10
 
11
- <p>If you are new to ruby, see <a href="http://guides.rubygems.org/what-is-a-gem/">what is a gem here</a></p>
11
+ <p>If you are new to ruby, see <a href="http://guides.rubygems.org/what-is-a-gem/">what is a gem here</a>
data/docs/index.html CHANGED
@@ -23,6 +23,6 @@ layout: default
23
23
  {% endfor %}
24
24
  </ul>
25
25
 
26
- <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.github.url }}">via RSS</a></p>
26
+ <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.github.url }}">via RSS</a>
27
27
 
28
28
  </div>
data/docs/libraries.md CHANGED
@@ -6,8 +6,8 @@ It is possible to use vanilla <a href="https://www.processing.org/reference/libr
6
6
 
7
7
  {% for library in site.libraries %}
8
8
  <h2>{{ item.title }}</h2>
9
- <p>{{ item.description }}</p>
10
- <p><h2><a href="{{ library.url | prepend: site.github.url }}">{{ library.title }}</a></h2></p>
9
+ <p>{{ item.description }}
10
+ <p><h2><a href="{{ library.url | prepend: site.github.url }}">{{ library.title }}</a></h2>
11
11
  {% endfor %}
12
12
 
13
13
  <h4>Key To Library Types</h4>
data/docs/live.md CHANGED
@@ -6,6 +6,6 @@ Spoiler alert, initially a least it is better just to accept the live works...
6
6
 
7
7
  {% for live_mode in site.live %}
8
8
  <h2>{{ item.title }}</h2>
9
- <p>{{ item.description }}</p>
10
- <p><h2><a href="{{ live_mode.url | prepend: site.github.url }}">{{ live_mode.title }}</a></h2></p>
9
+ <p>{{ item.description }}
10
+ <p><h2><a href="{{ live_mode.url | prepend: site.github.url }}">{{ live_mode.title }}</a></h2>
11
11
  {% endfor %}
data/docs/magic.md CHANGED
@@ -6,6 +6,6 @@ Spoiler alert, initially a least it is better just to accept the magic works...
6
6
 
7
7
  {% for spell in site.magic %}
8
8
  <h2>{{ item.title }}</h2>
9
- <p>{{ item.description }}</p>
10
- <p><h2><a href="{{ spell.url | prepend: site.github.url }}">{{ spell.title }}</a></h2></p>
9
+ <p>{{ item.description }}
10
+ <p><h2><a href="{{ spell.url | prepend: site.github.url }}">{{ spell.title }}</a></h2>
11
11
  {% endfor %}
data/docs/methods.md CHANGED
@@ -5,6 +5,6 @@ title: Methods
5
5
 
6
6
  {% for method in site.methods %}
7
7
  <h2>{{ item.title }}</h2>
8
- <p>{{ item.description }}</p>
9
- <p><h2><a href="{{ method.url | prepend: site.github.url }}">{{ method.title }}</a></h2></p>
8
+ <p>{{ item.description }}
9
+ <p><h2><a href="{{ method.url | prepend: site.github.url }}">{{ method.title }}</a></h2>
10
10
  {% endfor %}
data/docs/modules.md CHANGED
@@ -5,8 +5,8 @@ title: Modules
5
5
 
6
6
  {% for module in site.modules %}
7
7
  <h2>{{ item.title }}</h2>
8
- <p>{{ item.description }}</p>
9
- <p><h2><a href="{{ module.url | prepend: site.github.url }}">{{ module.title }}</a></h2></p>
8
+ <p>{{ item.description }}
9
+ <p><h2><a href="{{ module.url | prepend: site.github.url }}">{{ module.title }}</a></h2>
10
10
  {% endfor %}
11
11
 
12
- <p>If you are new to ruby, you can read more about <a href="https://www.tutorialspoint.com/ruby/ruby_modules.htm">modules here</a></p>
12
+ <p>If you are new to ruby, you can read more about <a href="https://www.tutorialspoint.com/ruby/ruby_modules.htm">modules here</a>
data/docs/objects.md CHANGED
@@ -4,6 +4,6 @@ title: Variables and Objects
4
4
  ---
5
5
  {% for object in site.objects %}
6
6
  <h2>{{ item.title }}</h2>
7
- <p>{{ item.description }}</p>
8
- <p><h2><a href="{{ object.url | prepend: site.github.url }}">{{ object.title }}</a></h2></p>
7
+ <p>{{ item.description }}
8
+ <p><h2><a href="{{ object.url | prepend: site.github.url }}">{{ object.title }}</a></h2>
9
9
  {% endfor %}
data/lib/picrate/app.rb CHANGED
@@ -5,7 +5,7 @@ require_relative 'helper_methods'
5
5
  require_relative 'library_loader'
6
6
  # A wrapper module for the processing App
7
7
  module Processing
8
- include_package 'processing.core' # imports the processing jar.
8
+ include_package 'processing.core' # imports the processing classes.
9
9
  # Load vecmath, fastmath and mathtool modules
10
10
  Java::Monkstone::PicrateLibrary.load(JRuby.runtime)
11
11
  SKETCH_ROOT = File.absolute_path('.')
@@ -55,6 +55,7 @@ module Processing
55
55
  include HelperMethods
56
56
  include MathTool
57
57
  include Math
58
+ include FastNoise
58
59
  # Alias some methods for familiarity for Shoes coders.
59
60
  alias oval ellipse
60
61
  alias stroke_width stroke_weight
@@ -83,7 +84,7 @@ module Processing
83
84
  class << self
84
85
  # Handy getters and setters on the class go here:
85
86
  attr_accessor :sketch_class, :library_loader, :arguments, :options
86
- attr_reader :surface
87
+ attr_reader :surface, :width, :height, :renderer
87
88
  def load_libraries(*args)
88
89
  library_loader ||= LibraryLoader.new
89
90
  library_loader.load_library(*args)
@@ -131,11 +132,11 @@ module Processing
131
132
  end
132
133
 
133
134
  def size(*args)
134
- w, h, mode = *args
135
+ w, h, renderer = *args
135
136
  @width ||= w
136
137
  @height ||= h
137
- @render_mode ||= mode
138
- import_opengl if /opengl/ =~ mode
138
+ @renderer ||= renderer
139
+ import_opengl if /opengl/ =~ renderer
139
140
  super(*args)
140
141
  end
141
142
 
@@ -144,7 +145,7 @@ module Processing
144
145
  def data_path(dat)
145
146
  dat_root = File.join(SKETCH_ROOT, 'data')
146
147
  Dir.mkdir(dat_root) unless File.exist?(dat_root)
147
- File.join(dat_root, dat)
148
+ File.join(dat_root, dat).to_java(:string)
148
149
  end
149
150
 
150
151
  private
@@ -1,5 +1,3 @@
1
- require 'rbconfig'
2
-
3
1
  # Utility to load native binaries on Java CLASSPATH
4
2
  #HACK until jruby returns a more specific 'host_os' than 'linux'
5
3
  class NativeFolder
@@ -10,7 +8,7 @@ class NativeFolder
10
8
  ARM64 = '-aarch64'.freeze
11
9
 
12
10
  def initialize
13
- @os = RbConfig::CONFIG['host_os'].downcase
11
+ @os = java.lang.System.get_property('os.name').downcase
14
12
  @bit = java.lang.System.get_property('os.arch')
15
13
  end
16
14
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PiCrate
4
- VERSION = '2.1.2'
4
+ VERSION = '2.4.2'
5
5
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @TODO usage
4
+ class Processing::App
5
+ require_relative 'itextpdf-5.5.13.2.jar'
6
+ java_import Java::ProcessingPdf::PGraphicsPDF
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @TODO usage
4
+ class Processing::App
5
+ require_relative 'batik-all-1.14.jar'
6
+ java_import Java::ProcessingSvg::PGraphicsSVG
7
+ end
data/picrate.gemspec CHANGED
@@ -27,12 +27,14 @@ Gem::Specification.new do |gem|
27
27
  gem.files << 'lib/jogl-all-natives-linux-amd64.jar'
28
28
  gem.files << 'lib/jogl-all-natives-linux-armv6hf.jar'
29
29
  gem.files << 'lib/jogl-all-natives-linux-aarch64.jar'
30
+ gem.files << 'library/pdf/itextpdf-5.5.13.2.jar'
31
+ gem.files << 'library/svg/batik-all-1.14.jar'
30
32
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
31
33
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
32
- gem.add_development_dependency 'minitest', '~> 5.10'
34
+ gem.add_development_dependency 'minitest', '~> 5.14'
33
35
  gem.add_runtime_dependency 'rake', '~> 13.0'
34
- gem.add_runtime_dependency 'arcball', '~> 1.0', '>= 1.0.1'
36
+ gem.add_runtime_dependency 'arcball', '~> 1.1', '>= 1.1.1'
35
37
  gem.require_paths = ['lib']
36
38
  gem.platform = 'java'
37
- gem.requirements << 'java runtime == 11'
39
+ gem.requirements << 'java runtime == 11+'
38
40
  end
data/pom.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  project 'picrate', 'http://maven.apache.org' do
4
4
  model_version '4.0.0'
5
- id 'ruby-processing:picrate:2.1.2'
5
+ id 'ruby-processing:picrate:2.4.2'
6
6
  packaging 'jar'
7
7
 
8
8
  description 'An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.'
@@ -24,22 +24,43 @@ project 'picrate', 'http://maven.apache.org' do
24
24
  issue_management 'https://github.com/ruby-processing/PiCrate/issues', 'Github'
25
25
  # Need to update to jogl 2.4.1 as soon as available, then make a dependency
26
26
  properties('jogl.version' => '2.3.2',
27
+ 'batik.version' => '1.14',
28
+ 'itextpdf.version' => '5.5.13.2',
27
29
  'jruby.api' => 'http://jruby.org/apidocs/',
28
30
  'source.directory' => 'src',
29
31
  'processing.api' => 'http://processing.github.io/processing-javadocs/core/',
30
32
  'picrate.basedir' => '${project.basedir}',
31
- 'project.build.sourceEncoding' => 'utf-8',
33
+ 'project.build.sourceEncoding' => 'UTF-8',
32
34
  'polyglot.dump.pom' => 'pom.xml')
33
35
 
34
- pom 'org.jruby:jruby:9.2.14.0'
36
+ pom 'org.jruby:jruby:9.2.19.0'
35
37
  jar 'org.jogamp.jogl:jogl-all:${jogl.version}'
36
38
  jar 'org.jogamp.gluegen:gluegen-rt-main:${jogl.version}'
37
39
  jar 'org.processing:video:3.0.2'
40
+ jar 'org.apache.xmlgraphics:batik-all:${batik.version}'
41
+ jar 'com.itextpdf:itextpdf:${itextpdf.version}'
38
42
  end
39
43
 
40
44
  overrides do
41
45
  plugin :resources, '3.1.0'
42
- plugin :dependency, '3.1.2'
46
+ plugin :dependency, '3.1.2' do
47
+ execute_goals( id: 'default-cli',
48
+ artifactItems:[
49
+ { groupId: 'com.itextpdf',
50
+ artifactId: 'itextpdf',
51
+ version: '${itextpdf.version}',
52
+ type: 'jar',
53
+ outputDirectory: '${picrate.basedir}/library/pdf'
54
+ },
55
+ { groupId: 'org.apache.xmlgraphics',
56
+ artifactId: 'batik-all',
57
+ version: '${batik.version}',
58
+ type: 'jar',
59
+ outputDirectory: '${picrate.basedir}/library/svg'
60
+ }
61
+ ]
62
+ )
63
+ end
43
64
  plugin(:compiler, '3.8.1',
44
65
  'release' => '11')
45
66
  plugin(:javadoc, '2.10.4',