project do
model_version '1.0.1'
parent 'example:parent:1.1' do
relative_path '../pom.xml'
end
id 'example:project:1.1'
packaging 'jar'
name 'my name'
url 'example.com'
description 'some description'
inception_year 2020
organization do
name 'ngo'
url 'ngo.org'
end
licenses do
license do
name 'AGPL'
url 'gnu.org/agpl'
distribution 'online'
comments 'should be used more often'
end
end
developers do
developer do
id '1'
name 'first'
email 'first@example.com'
url 'example.com/first'
organization 'orga'
organization_url 'example.org'
roles 'developer', 'architect'
timezone 'IST'
properties :gender => :male
end
end
contributors do
contributor do
name 'first'
email 'first@example.com'
url 'example.com/first'
organization 'orga'
organization_url 'example.org'
roles 'developer', 'architect'
timezone 'IST'
properties :gender => :male
end
end
mailing_lists do
mailing_list do
name 'development'
subscribe 'subcribe@example.com'
unsubscribe 'unsubcribe@example.com'
post 'post@example.com'
archive 'example.com/archive'
other_archives 'example.com/archive1', 'example.com/archive2'
end
end
prerequisites do
maven '3.0.5'
end
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
dependencies do
dependency do
group_id 'com.example'
artifact_id 'tools'
version '1.2.3'
classifier 'super'
scope 'provided'
system_path '/home/development/tools.jar'
optional true
exclusion 'org.example:some'
exclusion 'org.example', 'something'
end
end
end
dependencies do
dependency do
group_id 'com.example'
artifact_id 'tools'
version '2.3'
type :war
classifier 'super'
scope 'provided'
system_path '/home/development/wartools.jar'
optional false
exclusion 'org.example:some'
exclusion 'org.example', 'something'
end
end
repositories do
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
end
plugin_repositories do
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
end
build do
default_goal :deploy
directory 'target'
final_name 'myproject'
source_directory 'src'
script_source_directory 'script'
test_source_directory 'test'
output_directory 'pkg'
test_output_directory 'pkg/test'
extension 'org.group:gem-extension:1.2'
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' do
inherited true
configuration :finalName => :testing
end
jruby_plugin :gem, '1.0.0' do
dependency do
group_id 'rubygems'
artifact_id 'bundler'
version '1.7.13'
type :gem
end
end
plugin :antrun do
execute_goals( 'run' ) do
configuration( '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'
}
} )
id 'copy'
phase 'package'
end
dependency do
group_id 'org.super.duper'
artifact_id 'executor'
version '1.0.0'
end
end
plugin 'org.codehaus.mojo:exec-maven-plugin' do
execute_goal( 'exec' ) do
id 'invoker-generator'
configuration( '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
end
plugin_management do
plugin( "org.mortbay.jetty:jetty-maven-plugin:8.1" ) do
configuration( :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
end
end
end
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# value
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#