project :name => 'my name', :url => 'example.com' do model_version '1.0.0' parent( :group_id => 'example', :artifact_id => 'parent', :version => '1.1', :relative_path => '../pom.xml' ) id( :group_id => 'example', :artifact_id => 'project', :version => '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', :archive => 'example.com/archive', :other_archives => [ 'example.com/archive1', 'example.com/archive2' ] ) prerequisites :maven => '3.0.5' modules 'part1', 'part2' scm( :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' ) issue_management( :system => 'jira', :url => 'https://issues.sonatype.org/' ) ci_management( :system => 'travis', :url => 'travis-ci.org/jruby/jruby' ) do notifier( :type => 'email', :address => 'mail2@example.com' ) notifier( :type => 'email', :send_on_error => true, :send_on_failure => false, :send_on_success =>true, :send_on_warning => false, :address => 'mail@example.com', :configuration => { :key1 => 'value1', :key2 => 'value2' } ) end distribution( :status => 'active', :download_url => 'http://dev.example.com/downloads' ) do repository( :unique_version => 123, :id => 'first', :name => 'First', :url => 'http://repo.example.com', :layout => 'legacy' ) do releases( :enabled => true, :update_policy => 'daily', :checksum_policy => :strict ) snapshots( :enabled =>false, :update_policy => :never, :checksum_policy => 'none' ) end snapshot_repository( :unique_version => 1234, :id => 'snapshots', :name => 'First Snapshots', :url => 'http://snaphots.example.com', :layout => 'legacy' ) do releases( :enabled => false, :update_policy => 'daily', :checksum_policy => :strict ) snapshots( :enabled =>true, :update_policy => :never, :checksum_policy => 'none' ) end site( :id => 'first', :name => 'dev site', :url => 'http://dev.example.com' ) relocation( :group_id => 'org.group', :artifact_id => 'artifact', :version => '1.2.3', :message => 'follow the maven convention' ) end properties :key1 => 'value1', 'key2' => :value2 dependency_management do jar( :group_id => 'com.example', :artifact_id => 'tools', :version => '1.2.3', :classifier => 'super', :scope => 'provided', :system_path => '/home/development/tools.jar', :exclusions => [ { :group_id => 'org.example', :artifact_id => 'some' }, { :group_id => 'org.example', :artifact_id => 'something' } ], :optional => true ) end war( :group_id => 'com.example', :artifact_id => 'tools', :version => '2.3', :classifier => 'super', :scope => 'provided', :system_path => '/home/development/wartools.jar', :exclusions => [ { :group_id => 'org.example', :artifact_id => 'some' }, { :group_id => 'org.example', :artifact_id => 'something' } ], :optional => false ) repository( :id => 'first', :url => 'http://repo.example.com', :name => 'First', :unique_version => 123, :layout => 'legacy' ) do releases( :enabled => true, :update_policy => 'daily', :checksum_policy => :strict ) snapshots( :enabled => false, :update_policy => :never, :checksum_policy => 'none' ) end snapshot_repository( :id => 'snapshots', :url => 'http://snaphots.example.com', :name => 'First Snapshots', :unique_version => 12345, :layout => 'legacy' ) do releases( :update_policy => 'daily', :checksum_policy => :strict ) snapshots( :update_policy => :never, :checksum_policy => 'none' ) end plugin_repository( :id => :first, :url => 'http://pluginrepo.example.com', :name => 'First', :unique_version => 12, :layout => 'legacy' ) do releases( :enabled => true, :update_policy => 'daily', :checksum_policy => :strict ) snapshots( :enabled => false, :update_policy => :never, :checksum_policy => 'none' ) end build do source_directory 'src' script_source_directory 'script' test_source_directory 'test' output_directory 'pkg' test_output_directory 'pkg/test' default_goal :install extension( :group_id => 'org.group', :artifact_id => 'gem-extension', :version => '1.2' ) resource( :target_path => 'target', :filtering => true, :directory => 'resources', :includes => [ '**/*' ], :excludes => [ '*~' ] ) test_resource( :target_path => 'target/test', :filtering => false, :directory => 'testresources', :includes => [ '**/*' ], :excludes => [ '*~' ] ) end end # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # value # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #