require 'fileutils' project 'rp5extras', 'https://github.com/monkstone/propane' do model_version '4.0.0' id 'propane:propane', '2.2.0.pre' packaging 'jar' description 'rp5extras for propane' organization 'ruby-processing', 'https://ruby-processing.github.io' { 'monkstone' => 'Martin Prout' }.each do |key, value| developer key do name value roles 'developer' end end license 'GPL 3', 'http://www.gnu.org/licenses/gpl-3.0-standalone.html' issue_management 'https://github.com/ruby-processing/propane/issues', 'Github' source_control( url: 'https://github.com/ruby-processing/propane', connection: 'scm:git:git://github.com/ruby-processing/propane.git', developer_connection: 'scm:git:git@github.com/ruby-processing/propane.git' ) properties('source.directory' => 'src', 'propane.basedir' => '${project.basedir}', 'polyglot.dump.pom' => 'pom.xml', 'maven.compiler.source' => '1.8', 'project.build.sourceEncoding' => 'utf-8', 'maven.compiler.target' => '1.8', 'jruby.api' => 'http://jruby.org/apidocs/', 'processing.api' => 'http://processing.github.io/processing-javadocs/core/', 'jruby.api' => 'http://jruby.org/apidocs/', 'jogl.version' => '2.3.2' ) pom 'org.jruby:jruby:9.1.5.0' jar 'org.processing:core:3.2.3' jar 'org.processing:video:3.0.2' jar('org.jogamp.jogl:jogl-all:${jogl.version}') jar('org.jogamp.gluegen:gluegen-rt-main:${jogl.version}') overrides do plugin :resources, '2.6' plugin :dependency, '2.10' do execute_goals( id: 'default-cli', artifactItems: [ { groupId: 'org.processing', artifactId: 'core', version: '3.2.3', type: 'jar', outputDirectory: '${propane.basedir}/lib' }, { groupId: 'org.jogamp.jogl', artifactId: 'jogl-all', version: '${jogl.version}', type: 'jar', outputDirectory: '${propane.basedir}/lib' }, { groupId: 'org.jogamp.gluegen', artifactId: 'gluegen-rt', version: '${jogl.version}', type: 'jar', outputDirectory: '${propane.basedir}/lib' }, { groupId: 'org.jogamp.jogl', artifactId: 'jogl-all', version: '${jogl.version}', classifier: 'natives-windows-amd64', type: 'jar', outputDirectory: '${propane.basedir}/lib' }, { groupId: 'org.jogamp.gluegen', artifactId: 'gluegen-rt', version: '${jogl.version}', type: 'jar', classifier: 'natives-windows-amd64', outputDirectory: '${propane.basedir}/lib' } ] ) end plugin( :compiler, '3.6.0', source: '${maven.compiler.source}', target: '${maven.compiler.target}' ) plugin( :javadoc, '2.10.4', detect_offline_links: 'false', links: ['${jruby.api}', '${processing.api}'] ) plugin( :jar, '3.0.2', archive: { manifestFile: 'MANIFEST.MF' } ) end build do default_goal 'package' source_directory 'src' final_name 'propane' end end