#-*- mode: ruby -*- name 'my name' url 'example.com' model_version '1.0.1' parent( 'example:parent', '1.1', :relative_path => '../pom.xml' ) id 'example:project', '1.1' packaging 'jar' description 'some description' inception_year 2020 organization :name => 'ngo', :url => 'ngo.org' license( :name => 'AGPL', :url => 'gnu.org/agpl', :distribution => 'online', :comments => 'should be used more often' ) developer( :id => '1', :name => 'first', :url => 'example.com/first', :email => 'first@example.com', :organization => 'orga', :organization_url => 'example.org', :roles => [ 'developer', 'architect' ], :timezone => 'IST', :properties => { :gender => :male } ) contributor( :name => 'first', :url => 'example.com/first', :email => 'first@example.com', :organization => 'orga', :organization_url => 'example.org', :roles => [ 'developer', 'architect' ], :timezone => 'IST', :properties => { :gender => :male } ) mailing_list( :name => 'development', :subscribe => 'subcribe@example.com', :unsubscribe => 'unsubcribe@example.com', :post => 'post@example.com', :archives => [ 'example.com/archive', 'example.com/archive1', 'example.com/archive2' ] ) prerequisites :maven => '3.0.5' modules 'part1', 'part2' scm do connection 'scm:git:git://github.com/torquebox/maven-tools.git' developer_connection 'scm:git:ssh://git@github.com/torquebox/maven-tools.git' tag 'first' url 'http://github.com/torquebox/maven-tools' end issue_management do system 'jira' url 'https://issues.sonatype.org/' end ci_management do url 'travis-ci.org/jruby/jruby' system 'travis' notifier do type 'email' address 'mail2@example.com' end notifier do type 'email' address 'mail@example.com' send_on_error true send_on_failure false send_on_success true send_on_warning false configuration :key1 => 'value1', :key2 => 'value2' end end distribution do status 'active' download_url 'http://dev.example.com/downloads' repository do id :first url 'http://repo.example.com' name 'First' layout 'legacy' releases do enabled true update_policy 'daily' checksum_policy :strict end snapshots do enabled false update_policy :never checksum_policy 'none' end end snapshot_repository( 'snapshots', 'http://snaphots.example.com', 'First Snapshots', :layout => 'legacy' ) do releases( :enabled => false, :update_policy => 'daily', :checksum_policy => :strict ) snapshots( :enabled =>true, :update_policy => :never, :checksum_policy => 'none' ) end site do id 'first' url 'http://dev.example.com' name 'dev site' end relocation( 'org.group:artifact:1.2.3' ) do message 'follow the maven convention' end end properties :key1 => 'value1', 'key2' => :value2 dependency_management do jar( 'com.example:tools:1.2.3' ) do classifier 'super' scope 'provided' system_path '/home/development/tools.jar' optional true exclusion 'org.example:some' exclusion 'org.example', 'something' end end war( 'com.example:tools', '2.3' ) do classifier 'super' scope 'provided' system_path '/home/development/wartools.jar' optional false exclusion 'org.example:some' exclusion 'org.example', 'something' end repository do id :first url 'http://repo.example.com' name 'First' layout 'legacy' releases do enabled true update_policy 'daily' checksum_policy :strict end snapshots do enabled false update_policy :never checksum_policy 'none' end end snapshot_repository do id 'snapshots' url 'http://snaphots.example.com' name 'First Snapshots' layout 'legacy' releases do update_policy 'daily' checksum_policy :strict end snapshots do update_policy :never checksum_policy 'none' end end plugin_repository do id :first url 'http://pluginrepo.example.com' name 'First' layout 'legacy' releases do enabled true update_policy 'daily' checksum_policy :strict end snapshots do enabled false update_policy :never checksum_policy 'none' end end default_goal :deploy directory 'target' final_name 'myproject' extension 'org.group:gem-extension:1.2' source_directory 'src' script_source_directory 'script' test_source_directory 'test' output_directory 'pkg' test_output_directory 'pkg/test' resource do target_path 'target' filtering true directory 'resources' includes [ '**/*' ] excludes [ '*~' ] end test_resource do target_path 'target/test' filtering false directory 'testresources' includes [ '**/*' ] excludes [ '*~' ] end plugin :jar, '1.0', :inherited => true do configuration :finalName => :testing end jruby_plugin :gem, '1.0.0' do gem :bundler, '1.7.13' end phase :package do plugin :antrun do execute_goals( 'run', :id => 'copy', 'tasks' => { 'exec' => { '@executable' => '/bin/sh', '@osfamily' => 'unix', 'arg' => { '@line' => '-c \'cp "${jruby.basedir}/bin/jruby.bash" "${jruby.basedir}/bin/jruby"\'' } }, 'chmod' => { '@file' => '${jruby.basedir}/bin/jruby', '@perm' => '755' } } ) jar 'org.super.duper:executor:1.0.0' end end plugin 'org.codehaus.mojo:exec-maven-plugin' do execute_goal( 'exec', :id => 'invoker-generator', 'arguments' => [ '-Djruby.bytecode.version=${base.java.version}', '-classpath', xml( '' ), 'org.jruby.anno.InvokerGenerator', '${anno.sources}/annotated_classes.txt', '${project.build.outputDirectory}' ], 'executable' => 'java', 'classpathScope' => 'compile' ) end plugin_management do plugin( "org.mortbay.jetty:jetty-maven-plugin:8.1", :path => '/', :connectors => [ { :@implementation => "org.eclipse.jetty.server.nio.SelectChannelConnector", :port => '${run.port}' }, { :@implementation => "org.eclipse.jetty.server.ssl.SslSelectChannelConnector", :port => '${run.sslport}', :keystore => '${run.keystore}', :keyPassword => '${run.keystore.pass}', :trustPassword => '${run.truststore.pass}' } ], :httpConnector => { :port => '${run.port}' } ) end # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # value # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # value # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # value # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # vim: syntax=Ruby