picrate 2.1.2-java → 2.4.2-java

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