Skip to content

Commit 1c5c7f7

Browse files
authored
Merge pull request #24 from ruby-processing/jdk9
Jdk9
2 parents 75161e9 + 3b161d6 commit 1c5c7f7

File tree

9 files changed

+15
-39
lines changed

9 files changed

+15
-39
lines changed

.travis.yml

Lines changed: 0 additions & 10 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
**v2.6.6** Using a modified processing-core to support jdk9 (NB FX2D and sketches with control_panel using sliders are still expected to fail with jdk9). Jdk8 users should not notice any change.
2+
13
**v2.6.5** bump for processing-3.3.7
24

35
**v2.6.4** Vec2D and Vec3D now support `copy` constructor where the original can be a duck-type. Further the only requirement is that the duck-type responds to `:x`, and `:y` by returning a `float` or `fixnum` thus Vec2D can be promoted to Vec3D (where `z = 0`), or more usually some other Vector or Point class can be used as the original. A VectorUtils library has been implemented, see examples for usage.

README.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
# Propane
2-
[![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)](https://travis-ci.org/ruby-processing/propane)
2+
To build custom core see [processing-core][processing-core]
33

4-
A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.7, where we include processing core (from a local maven repository and opengl etc from maven central). 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, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to [building ruby-processing projects][building].
4+
A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.7, where we include a modified processing core (`public runPropane()` replaces `protected runSketch()`, not currently useable with jruby and jdk 9). 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, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to [building ruby-processing projects][building]. NB: this is a far from perfect solution and some sketches still fail to run with jdk9, but a least I get to diagnose those errors too.
55

6-
NB: The main reason for build failing is when the `core.jar` is not available from maven central, to install a local jar (_example for linux mint_):-
7-
```bash
8-
9-
mvn install:install-file /home/tux/processing-3.3.7/core/library/core.jar -DgroupId=org.processing -DartifactId=core -Dversion=3.3.7
10-
```
116
adjust above for your OS/distro setup.
127

138
## Requirements
149

15-
- jdk8+
10+
- jdk8+ (jdk9 mostly works, see changelog, but is noisy)
1611
- jruby-9.1.16.0
1712
- mvn-3.5.0+
18-
- core.jar processing-3.3.7 (_build only_)
13+
- processing-core.jar (_build only_) not generally available
1914

2015
## Building and testing
2116

@@ -28,7 +23,7 @@ rake javadoc
2823
## Installation
2924
```bash
3025
jgem install propane # from rubygems
31-
jgem install propane-2.6.4-java.gem # for local install
26+
jgem install propane-2.6.6-java.gem # local install requires a custom processing-core
3227
```
3328

3429
## Usage
@@ -86,3 +81,5 @@ propane --install samples
8681

8782
[building]:http://ruby-processing.github.io/building/building/
8883
[gh-pages]:https://ruby-processing.github.io/propane/
84+
[processing-core]:https://github.com/ruby-processing/processing-core
85+

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def create_manifest
77
File.open('MANIFEST.MF', 'w') do |f|
88
f.puts(title)
99
f.puts(version)
10-
f.puts('Class-Path: core-3.3.7.jar gluegen-rt-2.3.2.jar jog-all-2.3.2.jar')
10+
f.puts('Class-Path: processing-core.jar gluegen-rt-2.3.2.jar jog-all-2.3.2.jar')
1111
end
1212
end
1313

lib/propane/app.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def initialize(options = {}, arguments = [])
118118
Propane.app = self
119119
@arguments = arguments
120120
@options = options
121-
run_sketch
121+
run_propane
122122
end
123123

124124
def size(*args)

lib/propane/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# frozen_string_literal: true
22
module Propane
3-
VERSION = '2.6.4'.freeze
3+
VERSION = '2.6.6'.freeze
44
end

pom.rb

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require 'fileutils'
22
project 'rp5extras', 'https://github.com/monkstone/propane' do
33
model_version '4.0.0'
4-
id 'propane:propane', '2.6.5'
4+
id 'propane:propane', '2.6.6'
55
packaging 'jar'
66
description 'rp5extras for propane'
77
organization 'ruby-processing', 'https://ruby-processing.github.io'
@@ -42,13 +42,7 @@
4242
plugin :resources, '2.6'
4343
plugin :dependency, '2.10' do
4444
execute_goals( id: 'default-cli',
45-
artifactItems: [ { groupId: 'org.processing',
46-
artifactId: 'core',
47-
version: '3.3.7',
48-
type: 'jar',
49-
outputDirectory: '${propane.basedir}/lib'
50-
},
51-
{ groupId: 'org.jogamp.jogl',
45+
artifactItems: [ { groupId: 'org.jogamp.jogl',
5246
artifactId: 'jogl-all',
5347
version: '${jogl.version}',
5448
type: 'jar',

pom.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,6 @@ DO NOT MODIFIY - GENERATED CODE
100100
<id>default-cli</id>
101101
<configuration>
102102
<artifactItems>
103-
<artifactItem>
104-
<groupId>org.processing</groupId>
105-
<artifactId>core</artifactId>
106-
<version>3.3.7</version>
107-
<type>jar</type>
108-
<outputDirectory>${propane.basedir}/lib</outputDirectory>
109-
</artifactItem>
110103
<artifactItem>
111104
<groupId>org.jogamp.jogl</groupId>
112105
<artifactId>jogl-all</artifactId>

propane.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
1616
gem.homepage = 'https://ruby-processing.github.io/propane/'
1717
gem.files = `git ls-files`.split($/)
1818
gem.files << 'lib/propane.jar'
19-
gem.files << 'lib/core-3.3.7.jar'
19+
gem.files << 'lib/processing-core.jar'
2020
gem.files << 'lib/gluegen-rt-2.3.2.jar'
2121
gem.files << 'lib/jogl-all-2.3.2.jar'
2222
gem.files << 'lib/gluegen-rt-2.3.2-natives-linux-amd64.jar'

0 commit comments

Comments
 (0)