propane 3.7.1-java → 3.11.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/extensions.xml +1 -1
  3. data/.mvn/wrapper/maven-wrapper.properties +1 -1
  4. data/.travis.yml +1 -1
  5. data/CHANGELOG.md +7 -1
  6. data/README.md +8 -15
  7. data/Rakefile +6 -5
  8. data/lib/propane/app.rb +11 -15
  9. data/lib/propane/helper_methods.rb +6 -6
  10. data/lib/propane/version.rb +1 -1
  11. data/lib/{propane-3.7.1.jar → propane-3.11.0.jar} +0 -0
  12. data/library/pdf/itextpdf-5.5.13.2.jar +0 -0
  13. data/library/pdf/pdf.rb +7 -0
  14. data/library/svg/batik-all-1.14.jar +0 -0
  15. data/library/svg/svg.rb +7 -0
  16. data/mvnw +3 -3
  17. data/mvnw.cmd +2 -2
  18. data/pom.rb +32 -5
  19. data/pom.xml +58 -7
  20. data/propane.gemspec +9 -5
  21. data/src/main/java/monkstone/FastNoiseModuleJava.java +127 -0
  22. data/src/main/java/monkstone/MathToolModule.java +30 -30
  23. data/src/main/java/monkstone/PropaneLibrary.java +2 -0
  24. data/src/main/java/monkstone/SmoothNoiseModuleJava.java +127 -0
  25. data/src/main/java/monkstone/fastmath/DegLutTables.java +111 -0
  26. data/src/main/java/monkstone/fastmath/Deglut.java +6 -56
  27. data/src/main/java/monkstone/filechooser/Chooser.java +1 -1
  28. data/src/main/java/monkstone/noise/OpenSimplex2F.java +914 -0
  29. data/src/main/java/monkstone/noise/OpenSimplex2S.java +1138 -0
  30. data/src/main/java/monkstone/slider/WheelHandler.java +1 -1
  31. data/src/main/java/monkstone/vecmath/JRender.java +6 -6
  32. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +27 -31
  33. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +26 -40
  34. data/src/main/java/processing/awt/PGraphicsJava2D.java +11 -3
  35. data/src/main/java/processing/awt/PImageAWT.java +6 -4
  36. data/src/main/java/processing/core/PApplet.java +13259 -13379
  37. data/src/main/java/processing/core/PConstants.java +155 -163
  38. data/src/main/java/processing/core/PGraphics.java +118 -111
  39. data/src/main/java/processing/core/PImage.java +14 -14
  40. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +13 -13
  41. data/src/main/java/processing/opengl/PJOGL.java +6 -5
  42. data/src/main/java/processing/opengl/PShader.java +1 -6
  43. data/src/main/java/processing/opengl/PSurfaceJOGL.java +6 -6
  44. data/src/main/java/processing/pdf/PGraphicsPDF.java +581 -0
  45. data/src/main/java/processing/svg/PGraphicsSVG.java +378 -0
  46. data/src/main/{java/processing/opengl → resources}/cursors/arrow.png +0 -0
  47. data/src/main/{java/processing/opengl → resources}/cursors/cross.png +0 -0
  48. data/src/main/{java/processing/opengl → resources}/cursors/hand.png +0 -0
  49. data/src/main/{java/processing/opengl → resources}/cursors/license.txt +0 -0
  50. data/src/main/{java/processing/opengl → resources}/cursors/move.png +0 -0
  51. data/src/main/{java/processing/opengl → resources}/cursors/text.png +0 -0
  52. data/src/main/{java/processing/opengl → resources}/cursors/wait.png +0 -0
  53. data/src/main/{java/processing/opengl → resources}/shaders/ColorFrag.glsl +0 -0
  54. data/src/main/{java/processing/opengl → resources}/shaders/ColorVert.glsl +0 -0
  55. data/src/main/{java/processing/opengl → resources}/shaders/LightFrag.glsl +0 -0
  56. data/src/main/{java/processing/opengl → resources}/shaders/LightVert.glsl +0 -0
  57. data/src/main/{java/processing/opengl → resources}/shaders/LineFrag.glsl +0 -0
  58. data/src/main/{java/processing/opengl → resources}/shaders/LineVert.glsl +0 -0
  59. data/src/main/{java/processing/opengl → resources}/shaders/MaskFrag.glsl +0 -0
  60. data/src/main/{java/processing/opengl → resources}/shaders/PointFrag.glsl +0 -0
  61. data/src/main/{java/processing/opengl → resources}/shaders/PointVert.glsl +0 -0
  62. data/src/main/{java/processing/opengl → resources}/shaders/TexFrag.glsl +0 -0
  63. data/src/main/{java/processing/opengl → resources}/shaders/TexLightFrag.glsl +0 -0
  64. data/src/main/{java/processing/opengl → resources}/shaders/TexLightVert.glsl +0 -0
  65. data/src/main/{java/processing/opengl → resources}/shaders/TexVert.glsl +0 -0
  66. data/test/deglut_spec_test.rb +2 -2
  67. data/test/test_helper.rb +1 -0
  68. data/vendors/Rakefile +1 -1
  69. metadata +49 -46
  70. data/library/simplex_noise/simplex_noise.rb +0 -5
  71. data/src/main/java/monkstone/noise/SimplexNoise.java +0 -436
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d91c85e879a5cf795566043ce69accbc17b2d71f34ddbfbe7f3a7855975b5e3
4
- data.tar.gz: 70ddc22146913b60b6cf5dc66e9cbb47efa20e394acc039aca71a16282f80e76
3
+ metadata.gz: 0d5ef355d6c1809f15dca038d16d0bc0e258c600758cb97fe8ff9e3234380d6f
4
+ data.tar.gz: e1ad523e3339a8e6430ccd2aa83387f42139eb8cf54488eff804b2cf3c33f8a7
5
5
  SHA512:
6
- metadata.gz: 6d17d5093f9e26213ec22d936ae15cf0c50b3cc9ae162423c7499294cc0d96df7bc964e20f9cd9bfb47b31afeed9d1407482a1137fc0f837e7235950fb25963b
7
- data.tar.gz: e22db42e8e8b3a780da3faa62fbbcb7bd7f653ba6bda5f92cc3338853178d2a21e77662e1d08871cbb2b6223ccdffe4047d4e5ec7e78bea946424c6d660d7190
6
+ metadata.gz: cee42549f1c66a63c81e07836fa17b097be4f11140e0569f8c2f87f36a717aa31df99ad21b943c870fe76218a376d59bf5df9f3daef4ae451754b80fdb7d746b
7
+ data.tar.gz: 7ef32ce991b5f42e3e1fc09e459eb96a84da38eb373f8b3a5592ea7ccd6f974c8b566f6ccc0645d32f997a1cf7ac763e97ef4822c620bcf23ddadce0abdee6f0
data/.mvn/extensions.xml CHANGED
@@ -3,6 +3,6 @@
3
3
  <extension>
4
4
  <groupId>io.takari.polyglot</groupId>
5
5
  <artifactId>polyglot-ruby</artifactId>
6
- <version>0.4.5</version>
6
+ <version>0.4.6</version>
7
7
  </extension>
8
8
  </extensions>
@@ -1,2 +1,2 @@
1
- distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
1
+ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip
2
2
  wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
data/.travis.yml CHANGED
@@ -2,7 +2,7 @@ language: java
2
2
  dist: bionic
3
3
 
4
4
  rvm:
5
- - jruby-9.2.12.0
5
+ - jruby-9.2.17.0
6
6
  jdk:
7
7
  - openjdk11
8
8
  os:
data/CHANGELOG.md CHANGED
@@ -1,4 +1,10 @@
1
- **v3.7.1** Recommend JRuby-9.2.15.0 use
1
+ **v3.11.0** Suggest use of JRuby-9.3.1.0+, some refactoring of GfxRender and ShapeRender. Change `declared_field` to field possible since JRuby-9.3.0.0, required since JRuby-9.3.1.0
2
+
3
+ **v3.10.0** Default to using FastNoise module, with alternative of SmoothNoise module.
4
+
5
+ **v3.8.0** Refactor noise to delegate pattern, improve default implementation and add simplex noise option
6
+
7
+ **v3.7.1** Recommend JRuby-9.2.16.0 use
2
8
 
3
9
  **v3.5.0** Rebase processing core code around Sam Pottingers latest fixes for JOGL an image save, does mean breaking some of Diwis and Joshua Davis examples, but one hopes codeanticode knows what he's doing.
4
10
 
data/README.md CHANGED
@@ -1,19 +1,17 @@
1
1
  # Propane [![Gem Version](https://badge.fury.io/rb/propane.svg)](https://badge.fury.io/rb/propane) ![Travis CI](https://travis-ci.org/ruby-processing/propane.svg)
2
2
 
3
- This version is intended to work with openjdk11+, @sampottinger is currently working on [vanilla processing][vanilla] which will enable JRubyArt to catch up.
3
+ This version is intended to work with openjdk11+.
4
4
 
5
- A slim layer to communicate with Processing from JRuby, features maven build. We have created a configuration free version of ruby processing, for processing-4.0+, where we include a modified processing core (`public runPropane()` to replace `protected runSketch()`. These jars are small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby. Currently JavaFX is unsupported again @sampottinger is currently working on [vanilla processing][vanilla] to use OpenJFX. It would be nice make use of java modules, but I think we should let jruby project do that first (unless processing.org beat them to it).
5
+ A slim layer to communicate with Processing from JRuby, features maven build. We have created a configuration free version of ruby processing, for processing-4.0+, where we include a modified processing core (`public runPropane()` to replace `protected runSketch()`. These jars are small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby. Currently JavaFX is unsupported. Using maven to create an automatic module, to be refined.
6
6
 
7
7
  adjust above for your OS/distro setup.
8
8
 
9
9
  ## Requirements
10
10
 
11
- There may be a linker issue with P2D or P3D sketches with stock openjdk with some linux distros, in which case you might find [Adopt open jdk binaries][adopt] will work for you.
11
+ Tested with OpenJDK11 and OpenJDK17.
12
12
 
13
- - `jdk-11.0.7+`
14
- - `jruby-9.2.14.0`
15
-
16
- Currently you can ignore `illegal reflective access` warnings, see [here how to suppress them][warning].
13
+ - `jdk-11.0.11+`
14
+ - `jruby-9.3.1.0`
17
15
 
18
16
  ## Building and testing
19
17
 
@@ -27,10 +25,10 @@ rake javadoc
27
25
 
28
26
  ```bash
29
27
  jgem install propane # from rubygems
30
- jgem install propane-3.6.0-java.gem # local install
28
+ jgem install propane-3.11.0-java.gem # local install
31
29
  # Alternative
32
30
  jruby -S gem install propane # from rubygems
33
- jruby -S gem install propane-3.6.0-java.gem # local install
31
+ jruby -S gem install propane-3.11.0-java.gem # local install
34
32
  ```
35
33
 
36
34
  ## Check Install
@@ -39,11 +37,6 @@ To check version and confirm gem bin files are on your path (also checks JDK ver
39
37
  ```bash
40
38
  propane --version
41
39
  ```
42
-
43
- ## Suppressing Reflective Access warnings
44
-
45
- Since propane-3.5.0 it is possible to suppress reflective access warnings by setting JAVA_HOME environmental variable jruby does the rest.
46
-
47
40
  ## Usage
48
41
 
49
42
  A propane sketch:-
@@ -100,7 +93,7 @@ See [gh-pages][gh-pages] for more detailed instructions and much more.
100
93
  ```bash
101
94
  propane --install samples
102
95
  ```
103
- please move existing `propane_samples` if you wish to keep them. The current release features several PixelFlow glsl library examples, including a few shadertoy demos as sketches.
96
+ please move existing `propane_samples` if you wish to keep them. The current release features some noise sketches that exploit the new choice of noise implementation.
104
97
 
105
98
  [adopt]: https://adoptopenjdk.net/
106
99
  [building]:http://ruby-processing.github.io/building/building/
data/Rakefile CHANGED
@@ -17,7 +17,8 @@ end
17
17
 
18
18
  desc 'Install'
19
19
  task :install do
20
- sh "mv target/propane-#{Propane::VERSION}.jar lib"
20
+ sh 'mvn dependency:copy'
21
+ FileUtils.mv("target/propane-#{Propane::VERSION}.jar", 'lib')
21
22
  end
22
23
 
23
24
  desc 'Gem'
@@ -35,9 +36,9 @@ task :compile do
35
36
  sh './mvnw package'
36
37
  end
37
38
 
38
- desc 'JRuby-Complete'
39
- task :install_complete do
40
- sh 'cd vendors && rake'
39
+ desc 'pmd'
40
+ task :pmd do
41
+ sh './mvnw pmd:pmd'
41
42
  end
42
43
 
43
44
  desc 'Test'
@@ -53,7 +54,7 @@ end
53
54
  desc 'clean'
54
55
  task :clean do
55
56
  Dir['./**/*.{jar,gem}'].each do |path|
56
- puts "Deleting #{path} ..."
57
+ puts 'Deleting #{path} ...'
57
58
  File.delete(path)
58
59
  end
59
60
  FileUtils.rm_rf('./target')
data/lib/propane/app.rb CHANGED
@@ -11,10 +11,12 @@ module Propane
11
11
  Java::Monkstone::PropaneLibrary.load(JRuby.runtime)
12
12
  SKETCH_ROOT = File.absolute_path('.')
13
13
  # import custom Vecmath renderers
14
- module Render
15
- java_import 'monkstone.vecmath.GfxRender'
16
- java_import 'monkstone.vecmath.ShapeRender'
17
- end
14
+ java_import 'monkstone.vecmath.GfxRender'
15
+ java_import 'monkstone.vecmath.ShapeRender'
16
+
17
+ # module NoiseModule
18
+ # java_import 'monkstone.noise.NoiseMode'
19
+ # end
18
20
 
19
21
  # This class is the base class the user should inherit from when making
20
22
  # their own sketch.
@@ -54,7 +56,7 @@ module Propane
54
56
  include HelperMethods
55
57
  include Math
56
58
  include MathTool
57
- include Render
59
+ include FastNoise
58
60
  # Alias some methods for familiarity for Shoes coders.
59
61
  alias oval ellipse
60
62
  alias stroke_width stroke_weight
@@ -114,7 +116,7 @@ module Propane
114
116
 
115
117
  def initialize(options = {}, arguments = [])
116
118
  # Guard against invalid input.
117
- proxy_java_fields
119
+ proxy_java_fields # see helper_methods
118
120
  raise TypeError unless options.is_a? Hash
119
121
  raise TypeError unless arguments.is_a? Array
120
122
 
@@ -153,19 +155,13 @@ module Propane
153
155
 
154
156
  def import_opengl
155
157
  # Include processing opengl classes that we'd like to use:
156
- %w[FontTexture FrameBuffer LinePath LineStroker PGL
157
- PGraphics2D PGraphics3D PGraphicsOpenGL PShader
158
- PShapeOpenGL Texture].each do |klass|
158
+ %w[FontTexture FrameBuffer LinePath LineStroker PGL PGraphics2D
159
+ PGraphics3D PGraphicsOpenGL PJOGL PShader PSurfaceJOGL
160
+ VertexBuffer PShapeOpenGL Texture].each do |klass|
159
161
  java_import "processing.opengl.#{klass}"
160
162
  end
161
163
  end
162
164
 
163
- def proxy_java_fields
164
- fields = %w[sketchPath key frameRate mousePressed keyPressed]
165
- methods = fields.map { |field| java_class.declared_field(field) }
166
- @declared_fields = Hash[fields.zip(methods)]
167
- end
168
-
169
165
  # When certain special methods get added to the sketch, we need to let
170
166
  # Processing call them by their expected Java names.
171
167
  def method_added(method_name) #:nodoc:
@@ -116,14 +116,14 @@ module Propane
116
116
  # some methods. Add to this list as needed.
117
117
  def proxy_java_fields
118
118
  fields = %w[key frameRate mousePressed keyPressed]
119
- methods = fields.map { |field| java_class.declared_field(field) }
120
- @declared_fields = Hash[fields.zip(methods)]
119
+ methods = fields.map { |field| java_class.field(field) }
120
+ @jfields = Hash[fields.zip(methods)]
121
121
  end
122
122
 
123
123
  # Fix java conversion problems getting the last key
124
124
  # If it's ASCII, return the character, otherwise the integer
125
125
  def key
126
- int = @declared_fields['key'].value(java_self)
126
+ int = @jfields['key'].value(java_self)
127
127
  int < 256 ? int.chr : int
128
128
  end
129
129
 
@@ -160,19 +160,19 @@ module Propane
160
160
 
161
161
  # frame_rate needs to support reading and writing
162
162
  def frame_rate(fps = nil)
163
- return @declared_fields['frameRate'].value(java_self) unless fps
163
+ return @jfields['frameRate'].value(java_self) unless fps
164
164
 
165
165
  super(fps)
166
166
  end
167
167
 
168
168
  # Is the mouse pressed for this frame?
169
169
  def mouse_pressed?
170
- @declared_fields['mousePressed'].value(java_self)
170
+ @jfields['mousePressed'].value(java_self)
171
171
  end
172
172
 
173
173
  # Is a key pressed for this frame?
174
174
  def key_pressed?
175
- @declared_fields['keyPressed'].value(java_self)
175
+ @jfields['keyPressed'].value(java_self)
176
176
  end
177
177
 
178
178
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Propane
4
- VERSION = '3.7.1'
4
+ VERSION = '3.11.0'
5
5
  end
Binary file
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @TODO usage
4
+ class Propane::App
5
+ require_relative 'itextpdf-5.5.13.2.jar'
6
+ java_import Java::ProcessingPdf::PGraphicsPDF
7
+ end
Binary file
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @TODO usage
4
+ class Propane::App
5
+ require_relative 'batik-all-1.14.jar'
6
+ java_import Java::ProcessingSvg::PGraphicsSVG
7
+ end
data/mvnw CHANGED
@@ -212,9 +212,9 @@ else
212
212
  echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213
213
  fi
214
214
  if [ -n "$MVNW_REPOURL" ]; then
215
- jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
215
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
216
216
  else
217
- jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
217
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
218
218
  fi
219
219
  while IFS="=" read key value; do
220
220
  case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
@@ -246,7 +246,7 @@ else
246
246
  else
247
247
  curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
248
248
  fi
249
-
249
+
250
250
  else
251
251
  if [ "$MVNW_VERBOSE" = true ]; then
252
252
  echo "Falling back to using Java to download"
data/mvnw.cmd CHANGED
@@ -120,7 +120,7 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120
120
  set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121
121
  set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122
122
 
123
- set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
123
+ set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
124
124
 
125
125
  FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
126
126
  IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
@@ -134,7 +134,7 @@ if exist %WRAPPER_JAR% (
134
134
  )
135
135
  ) else (
136
136
  if not "%MVNW_REPOURL%" == "" (
137
- SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
137
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
138
138
  )
139
139
  if "%MVNW_VERBOSE%" == "true" (
140
140
  echo Couldn't find %WRAPPER_JAR%, downloading it ...
data/pom.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  project 'propane', 'https://github.com/monkstone/propane' do
4
4
  model_version '4.0.0'
5
- id 'propane:propane:3.7.1'
5
+ id 'propane:propane:3.11.0'
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.'
@@ -44,18 +44,42 @@ project 'propane', 'https://github.com/monkstone/propane' do
44
44
  'polyglot.dump.pom' => 'pom.xml',
45
45
  'project.build.sourceEncoding' => 'utf-8',
46
46
  'jogl.version' => '2.3.2', # for compiling actual included 2.4.0-rc
47
+ 'jruby.version' => '9.3.1.0',
48
+ 'batik.version' => '1.14',
49
+ 'itextpdf.version' => '5.5.13.2',
47
50
  'jruby.api' => 'http://jruby.org/apidocs/')
48
51
 
49
- pom 'org.jruby:jruby:9.2.15.0'
52
+ jar 'org.jruby:jruby-base:${jruby.version}'
53
+ jar 'org.apache.xmlgraphics:batik-all:${batik.version}'
54
+ jar 'com.itextpdf:itextpdf:${itextpdf.version}'
50
55
  jar 'org.processing:video:3.3.7' # only for compiling
51
56
  jar 'org.jogamp.jogl:jogl-all:${jogl.version}'
52
57
  jar 'org.jogamp.gluegen:gluegen-rt-main:${jogl.version}'
53
58
 
54
59
  overrides do
60
+
55
61
  plugin('org.codehaus.mojo:versions-maven-plugin:2.7',
56
62
  'generateBackupPoms' => 'false')
57
63
  plugin(:compiler, '3.8.1',
58
64
  'release' => '11')
65
+ plugin :dependency, '3.1.2' do
66
+ execute_goals( id: 'default-cli',
67
+ artifactItems:[
68
+ { groupId: 'com.itextpdf',
69
+ artifactId: 'itextpdf',
70
+ version: '${itextpdf.version}',
71
+ type: 'jar',
72
+ outputDirectory: '${propane.basedir}/library/pdf'
73
+ },
74
+ { groupId: 'org.apache.xmlgraphics',
75
+ artifactId: 'batik-all',
76
+ version: '${batik.version}',
77
+ type: 'jar',
78
+ outputDirectory: '${propane.basedir}/library/svg'
79
+ }
80
+ ]
81
+ )
82
+ end
59
83
  plugin(:javadoc, '3.2.0',
60
84
  'detectOfflineLinks' => 'false',
61
85
  'links' => ['${jruby.api}',
@@ -66,17 +90,20 @@ project 'propane', 'https://github.com/monkstone/propane' do
66
90
  'Automatic-Module-Name' => 'processing.core'
67
91
  }
68
92
  })
93
+ plugin('org.apache.maven.plugins:maven-pmd-plugin:3.14.0')
69
94
  end
70
95
  build do
71
96
  resource do
72
97
  directory '${source.directory}/main/java'
73
- includes '**/**/*.glsl', '**/*.jnilib'
98
+ includes '**/*.jnilib'
74
99
  excludes '**/**/*.java'
75
100
  end
76
101
  resource do
77
102
  directory '${source.directory}/main/resources'
78
- includes '**/*.png', '*.txt'
79
- excludes
103
+ includes '**/*.png', '**/*.glsl', '**/*.txt'
80
104
  end
81
105
  end
82
106
  end
107
+ reporting do
108
+ plugin('org.apache.maven.plugins:maven-jxr-plugin:2.3')
109
+ end
data/pom.xml CHANGED
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
 
4
4
 
5
- DO NOT MODIFIY - GENERATED CODE
5
+ DO NOT MODIFY - GENERATED CODE
6
6
 
7
7
 
8
8
  -->
@@ -11,7 +11,7 @@ DO NOT MODIFIY - GENERATED CODE
11
11
  <modelVersion>4.0.0</modelVersion>
12
12
  <groupId>propane</groupId>
13
13
  <artifactId>propane</artifactId>
14
- <version>3.7.1</version>
14
+ <version>3.11.0</version>
15
15
  <name>propane</name>
16
16
  <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
17
17
  <url>https://github.com/monkstone/propane</url>
@@ -62,8 +62,11 @@ DO NOT MODIFIY - GENERATED CODE
62
62
  <url>https://github.com/ruby-processing/propane/issues</url>
63
63
  </issueManagement>
64
64
  <properties>
65
+ <batik.version>1.14</batik.version>
66
+ <itextpdf.version>5.5.13.2</itextpdf.version>
65
67
  <jogl.version>2.3.2</jogl.version>
66
68
  <jruby.api>http://jruby.org/apidocs/</jruby.api>
69
+ <jruby.version>9.3.1.0</jruby.version>
67
70
  <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
68
71
  <processing.api>http://processing.github.io/processing-javadocs/core/</processing.api>
69
72
  <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
@@ -73,9 +76,18 @@ DO NOT MODIFIY - GENERATED CODE
73
76
  <dependencies>
74
77
  <dependency>
75
78
  <groupId>org.jruby</groupId>
76
- <artifactId>jruby</artifactId>
77
- <version>9.2.15.0</version>
78
- <type>pom</type>
79
+ <artifactId>jruby-base</artifactId>
80
+ <version>${jruby.version}</version>
81
+ </dependency>
82
+ <dependency>
83
+ <groupId>org.apache.xmlgraphics</groupId>
84
+ <artifactId>batik-all</artifactId>
85
+ <version>${batik.version}</version>
86
+ </dependency>
87
+ <dependency>
88
+ <groupId>com.itextpdf</groupId>
89
+ <artifactId>itextpdf</artifactId>
90
+ <version>${itextpdf.version}</version>
79
91
  </dependency>
80
92
  <dependency>
81
93
  <groupId>org.processing</groupId>
@@ -98,7 +110,6 @@ DO NOT MODIFIY - GENERATED CODE
98
110
  <resource>
99
111
  <directory>${source.directory}/main/java</directory>
100
112
  <includes>
101
- <include>**/**/*.glsl</include>
102
113
  <include>**/*.jnilib</include>
103
114
  </includes>
104
115
  <excludes>
@@ -109,7 +120,8 @@ DO NOT MODIFIY - GENERATED CODE
109
120
  <directory>${source.directory}/main/resources</directory>
110
121
  <includes>
111
122
  <include>**/*.png</include>
112
- <include>*.txt</include>
123
+ <include>**/*.glsl</include>
124
+ <include>**/*.txt</include>
113
125
  </includes>
114
126
  </resource>
115
127
  </resources>
@@ -130,6 +142,33 @@ DO NOT MODIFIY - GENERATED CODE
130
142
  <release>11</release>
131
143
  </configuration>
132
144
  </plugin>
145
+ <plugin>
146
+ <artifactId>maven-dependency-plugin</artifactId>
147
+ <version>3.1.2</version>
148
+ <executions>
149
+ <execution>
150
+ <id>default-cli</id>
151
+ <configuration>
152
+ <artifactItems>
153
+ <artifactItem>
154
+ <groupId>com.itextpdf</groupId>
155
+ <artifactId>itextpdf</artifactId>
156
+ <version>${itextpdf.version}</version>
157
+ <type>jar</type>
158
+ <outputDirectory>${propane.basedir}/library/pdf</outputDirectory>
159
+ </artifactItem>
160
+ <artifactItem>
161
+ <groupId>org.apache.xmlgraphics</groupId>
162
+ <artifactId>batik-all</artifactId>
163
+ <version>${batik.version}</version>
164
+ <type>jar</type>
165
+ <outputDirectory>${propane.basedir}/library/svg</outputDirectory>
166
+ </artifactItem>
167
+ </artifactItems>
168
+ </configuration>
169
+ </execution>
170
+ </executions>
171
+ </plugin>
133
172
  <plugin>
134
173
  <artifactId>maven-javadoc-plugin</artifactId>
135
174
  <version>3.2.0</version>
@@ -152,7 +191,19 @@ DO NOT MODIFIY - GENERATED CODE
152
191
  </archive>
153
192
  </configuration>
154
193
  </plugin>
194
+ <plugin>
195
+ <artifactId>maven-pmd-plugin</artifactId>
196
+ <version>3.14.0</version>
197
+ </plugin>
155
198
  </plugins>
156
199
  </pluginManagement>
157
200
  </build>
201
+ <reporting>
202
+ <plugins>
203
+ <plugin>
204
+ <artifactId>maven-jxr-plugin</artifactId>
205
+ <version>2.3</version>
206
+ </plugin>
207
+ </plugins>
208
+ </reporting>
158
209
  </project>
data/propane.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.email = ['mamba2928@yahoo.co.uk']
12
12
  gem.licenses = %w[GPL-3.0 LGPL-2.0]
13
13
  gem.description = <<-EOS
14
- A batteries included version of processing in ruby targetting jdk11.
14
+ A batteries included version of processing in ruby targetting jdk11+.
15
15
  EOS
16
16
  gem.summary = 'ruby implementation of processing-4.0 on MacOS, linux and windows (64bit only)'
17
17
  gem.homepage = 'https://ruby-processing.github.io/propane/'
@@ -21,17 +21,21 @@ Gem::Specification.new do |gem|
21
21
  gem.files << 'lib/jogl-all.jar'
22
22
  gem.files << 'lib/gluegen-rt-natives-linux-amd64.jar'
23
23
  gem.files << 'lib/gluegen-rt-natives-macosx-universal.jar'
24
+ # gem.files << 'lib/gluegen-rt-natives-ios-arm64.jar'
24
25
  gem.files << 'lib/gluegen-rt-natives-windows-amd64.jar'
25
26
  gem.files << 'lib/jogl-all-natives-linux-amd64.jar'
26
27
  gem.files << 'lib/jogl-all-natives-macosx-universal.jar'
28
+ # gem.files << 'lib/jogl-all-natives-ios-arm64.jar'
27
29
  gem.files << 'lib/jogl-all-natives-windows-amd64.jar'
30
+ gem.files << 'library/pdf/itextpdf-5.5.13.2.jar'
31
+ gem.files << 'library/svg/batik-all-1.14.jar'
28
32
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
29
33
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
30
- gem.add_development_dependency 'jruby-openssl', '~> 0.1.0', '>=0.1.3'
34
+ gem.add_development_dependency 'jruby-openssl', '~> 0.10', '>=0.10.7'
31
35
  gem.add_development_dependency 'minitest', '~> 5.14'
32
- gem.add_runtime_dependency 'rake', '~> 12.3'
33
- gem.add_runtime_dependency 'arcball', '~> 1.0', '>= 1.0.2'
36
+ gem.add_runtime_dependency 'rake', '~> 13.0'
37
+ gem.add_runtime_dependency 'arcball', '~> 1.2'
34
38
  gem.require_paths = ['lib']
35
39
  gem.platform = 'java'
36
- gem.requirements << 'java runtime >= 11.0.2+'
40
+ gem.requirements << 'java runtime >= 11.0.11+'
37
41
  end