picrate 2.2.0-java → 2.3.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/extensions.xml +1 -1
  3. data/CHANGELOG.md +2 -0
  4. data/Rakefile +1 -0
  5. data/docs/_includes/footer.html +1 -1
  6. data/docs/_layouts/post.html +1 -1
  7. data/docs/_methods/noise_mode.md +88 -0
  8. data/docs/classes.md +2 -2
  9. data/docs/editors.md +2 -2
  10. data/docs/gems.md +3 -3
  11. data/docs/index.html +1 -1
  12. data/docs/libraries.md +2 -2
  13. data/docs/live.md +2 -2
  14. data/docs/magic.md +2 -2
  15. data/docs/methods.md +2 -2
  16. data/docs/modules.md +3 -3
  17. data/docs/objects.md +2 -2
  18. data/lib/picrate/app.rb +7 -2
  19. data/lib/picrate/native_folder.rb +1 -3
  20. data/lib/picrate/version.rb +1 -1
  21. data/library/pdf/pdf.rb +6 -0
  22. data/picrate.gemspec +1 -0
  23. data/pom.rb +16 -3
  24. data/pom.xml +25 -3
  25. data/src/main/java/monkstone/PicrateLibrary.java +1 -1
  26. data/src/main/java/monkstone/fastmath/DegLutTables.java +111 -0
  27. data/src/main/java/monkstone/fastmath/Deglut.java +41 -93
  28. data/src/main/java/monkstone/noise/FastTerrain.java +874 -0
  29. data/src/main/java/monkstone/noise/Noise.java +90 -0
  30. data/src/main/java/monkstone/noise/NoiseGenerator.java +75 -0
  31. data/src/main/java/monkstone/noise/NoiseMode.java +28 -0
  32. data/src/main/java/monkstone/noise/OpenSimplex2F.java +881 -0
  33. data/src/main/java/monkstone/noise/OpenSimplex2S.java +1106 -0
  34. data/src/main/java/monkstone/noise/SmoothTerrain.java +1099 -0
  35. data/src/main/java/monkstone/vecmath/package-info.java +1 -1
  36. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
  37. data/src/main/java/monkstone/videoevent/package-info.java +1 -1
  38. data/src/main/java/processing/awt/ShimAWT.java +260 -94
  39. data/src/main/java/processing/core/PApplet.java +14748 -13443
  40. data/src/main/java/processing/core/PConstants.java +5 -5
  41. data/src/main/java/processing/core/PFont.java +1 -1
  42. data/src/main/java/processing/core/PGraphics.java +200 -201
  43. data/src/main/java/processing/core/PImage.java +539 -549
  44. data/src/main/java/processing/core/PShape.java +18 -18
  45. data/src/main/java/processing/core/PVector.java +23 -23
  46. data/src/main/java/processing/data/Table.java +4 -4
  47. data/src/main/java/processing/net/Client.java +13 -13
  48. data/src/main/java/processing/net/Server.java +5 -5
  49. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +4 -4
  50. data/src/main/java/processing/pdf/PGraphicsPDF.java +607 -0
  51. data/test/deglut_spec_test.rb +2 -2
  52. data/test/respond_to_test.rb +0 -1
  53. data/vendors/Rakefile +1 -1
  54. metadata +15 -4
  55. 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: bdddfc2a81e103e5e35ecf3e45af1420d9d476b8d972b4843c3476d4ad77cbe4
4
- data.tar.gz: b58efaf4b2b75dea12197f91351832df20b259e620dcf533b993838e08ef7246
3
+ metadata.gz: 2e297a6447b346b596fdc87a909fe388a0cd42f7f8a7f4b2a48d523bba03a2e6
4
+ data.tar.gz: 8d0ead8d48a2c9a05caa6e0e27674f433af3acea1c1fd9045f19aa00f45f08db
5
5
  SHA512:
6
- metadata.gz: e1d0f48db5a13ba7ef0b52d4ceca8f856d71151e65ad8fb7edd863068cea034da00e2c961dac336b51a28d37f17a79a51c1a510ab4512d54a9dc68f088cda29b
7
- data.tar.gz: 528f50eeb4307547999670ab4059a316ce671b748f86e2fc2beeebbd1c3bf7f38b89663c77b63ddafb9988d8c5345e3e51a10e8554d9b59262333c8f03fc7193
6
+ metadata.gz: e1f3cdf8c0d0e22193b6d2686a4b0d5bb2f37129e5df058086b5279ca2711fdd6eee91d6701cccc59c7c564db2012da86fad2cfd648df31ed6f091e1166b4409
7
+ data.tar.gz: 7df4dfab9072b06f42190aa042fa47cb91979f323f3040b6697b799e31dfff79ca4f6b12f7998bd7909ca8dcb90566ab152fd1ab4e50f639b597671b6885e8a5
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,5 @@
1
+ v2.3.0 Abandon Processing Value Noise in favour of OpenSimplex2, with choosable options. Added pdf library using iText5.
2
+
1
3
  v2.2.0 Bump to latest JOGL-rc January 2021
2
4
 
3
5
  v2.1.2 Bump to JRuby-9.2.14.0
data/Rakefile CHANGED
@@ -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)`
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('.')
@@ -16,6 +16,10 @@ module Processing
16
16
  java_import 'monkstone.vecmath.ShapeRender'
17
17
  end
18
18
 
19
+ module NoiseModule
20
+ java_import 'monkstone.noise.NoiseMode'
21
+ end
22
+
19
23
  # This class is the base class the user should inherit from when making
20
24
  # their own sketch.
21
25
  #
@@ -55,6 +59,7 @@ module Processing
55
59
  include HelperMethods
56
60
  include MathTool
57
61
  include Math
62
+ include NoiseModule
58
63
  # Alias some methods for familiarity for Shoes coders.
59
64
  alias oval ellipse
60
65
  alias stroke_width stroke_weight
@@ -144,7 +149,7 @@ module Processing
144
149
  def data_path(dat)
145
150
  dat_root = File.join(SKETCH_ROOT, 'data')
146
151
  Dir.mkdir(dat_root) unless File.exist?(dat_root)
147
- File.join(dat_root, dat)
152
+ File.join(dat_root, dat).to_java(:string)
148
153
  end
149
154
 
150
155
  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')
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.2.0'
4
+ VERSION = '2.3.0'
5
5
  end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @TODO usage
4
+ class Processing::App
5
+ java_import Java::ProcessingPdf::PGraphicsPDF
6
+ end
data/picrate.gemspec CHANGED
@@ -27,6 +27,7 @@ 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 << 'lib/itextpdf-5.5.13.2.jar'
30
31
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
31
32
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
32
33
  gem.add_development_dependency 'minitest', '~> 5.10'
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.2.0'
5
+ id 'ruby-processing:picrate:2.3.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.'
@@ -24,6 +24,7 @@ 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
+ 'itextpdf.version' => '5.5.13.2',
27
28
  'jruby.api' => 'http://jruby.org/apidocs/',
28
29
  'source.directory' => 'src',
29
30
  'processing.api' => 'http://processing.github.io/processing-javadocs/core/',
@@ -31,15 +32,27 @@ project 'picrate', 'http://maven.apache.org' do
31
32
  'project.build.sourceEncoding' => 'utf-8',
32
33
  'polyglot.dump.pom' => 'pom.xml')
33
34
 
34
- pom 'org.jruby:jruby:9.2.14.0'
35
+ pom 'org.jruby:jruby:9.2.16.0'
35
36
  jar 'org.jogamp.jogl:jogl-all:${jogl.version}'
36
37
  jar 'org.jogamp.gluegen:gluegen-rt-main:${jogl.version}'
37
38
  jar 'org.processing:video:3.0.2'
39
+ jar 'com.itextpdf:itextpdf:${itextpdf.version}'
38
40
  end
39
41
 
40
42
  overrides do
41
43
  plugin :resources, '3.1.0'
42
- plugin :dependency, '3.1.2'
44
+ plugin :dependency, '3.1.2' do
45
+ execute_goals( id: 'default-cli',
46
+ artifactItems:[
47
+ { groupId: 'com.itextpdf',
48
+ artifactId: 'itextpdf',
49
+ version: '${itextpdf.version}',
50
+ type: 'jar',
51
+ outputDirectory: '${picrate.basedir}/lib'
52
+ }
53
+ ]
54
+ )
55
+ end
43
56
  plugin(:compiler, '3.8.1',
44
57
  'release' => '11')
45
58
  plugin(:javadoc, '2.10.4',
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>ruby-processing</groupId>
13
13
  <artifactId>picrate</artifactId>
14
- <version>2.2.0</version>
14
+ <version>2.3.0</version>
15
15
  <name>picrate</name>
16
16
  <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
17
17
  <url>http://maven.apache.org</url>
@@ -64,6 +64,7 @@ DO NOT MODIFIY - GENERATED CODE
64
64
  <url>https://github.com/ruby-processing/PiCrate/issues</url>
65
65
  </issueManagement>
66
66
  <properties>
67
+ <itextpdf.version>5.5.13.2</itextpdf.version>
67
68
  <jogl.version>2.3.2</jogl.version>
68
69
  <jruby.api>http://jruby.org/apidocs/</jruby.api>
69
70
  <picrate.basedir>${project.basedir}</picrate.basedir>
@@ -76,7 +77,7 @@ DO NOT MODIFIY - GENERATED CODE
76
77
  <dependency>
77
78
  <groupId>org.jruby</groupId>
78
79
  <artifactId>jruby</artifactId>
79
- <version>9.2.14.0</version>
80
+ <version>9.2.16.0</version>
80
81
  <type>pom</type>
81
82
  </dependency>
82
83
  <dependency>
@@ -94,6 +95,11 @@ DO NOT MODIFIY - GENERATED CODE
94
95
  <artifactId>video</artifactId>
95
96
  <version>3.0.2</version>
96
97
  </dependency>
98
+ <dependency>
99
+ <groupId>com.itextpdf</groupId>
100
+ <artifactId>itextpdf</artifactId>
101
+ <version>${itextpdf.version}</version>
102
+ </dependency>
97
103
  </dependencies>
98
104
  <build>
99
105
  <resources>
@@ -124,6 +130,22 @@ DO NOT MODIFIY - GENERATED CODE
124
130
  <plugin>
125
131
  <artifactId>maven-dependency-plugin</artifactId>
126
132
  <version>3.1.2</version>
133
+ <executions>
134
+ <execution>
135
+ <id>default-cli</id>
136
+ <configuration>
137
+ <artifactItems>
138
+ <artifactItem>
139
+ <groupId>com.itextpdf</groupId>
140
+ <artifactId>itextpdf</artifactId>
141
+ <version>${itextpdf.version}</version>
142
+ <type>jar</type>
143
+ <outputDirectory>${picrate.basedir}/lib</outputDirectory>
144
+ </artifactItem>
145
+ </artifactItems>
146
+ </configuration>
147
+ </execution>
148
+ </executions>
127
149
  </plugin>
128
150
  <plugin>
129
151
  <artifactId>maven-compiler-plugin</artifactId>