ivy4r 0.12.8 → 0.12.9
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +3 -0
- data/lib/buildr/ivy_extension.rb +257 -257
- data/lib/ivy/install.rb +33 -0
- data/lib/ivy/targets.rb +49 -48
- data/lib/ivy4r.rb +5 -0
- data/lib/ivy4r/version.rb +1 -1
- metadata +4 -3
data/CHANGELOG
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
=== 0.12.9 / 2011-01-17
|
2
|
+
* Added missing 'install' target, use it as defined in Ivy documentation
|
3
|
+
|
1
4
|
=== 0.12.8 / 2011-01-14
|
2
5
|
* Converted all tests to RSpec2 specs and grouped them according to functional and normal spec
|
3
6
|
* Started adding more specs to get a descent test coverage
|
data/lib/buildr/ivy_extension.rb
CHANGED
@@ -471,32 +471,32 @@ module Buildr
|
|
471
471
|
def valid_config_call?(method_name)
|
472
472
|
valid_calls = []
|
473
473
|
TYPES.each do|type|
|
474
|
-
|
475
|
-
|
474
|
+
TARGETS.each do|target|
|
475
|
+
valid_calls << type.to_s << target.to_s << "#{type}_#{target}" << "#{target}_#{type}"
|
476
|
+
end
|
477
|
+
end
|
478
|
+
valid_calls.member? method_name.to_s
|
476
479
|
end
|
477
|
-
end
|
478
|
-
valid_calls.member? method_name.to_s
|
479
|
-
end
|
480
480
|
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
481
|
+
# Sets a variable for given basename and type to given values. If values are empty returns the
|
482
|
+
# current value.
|
483
|
+
# I.e. <tt>handle_variable(:package, :include, /blua.*\.jar/, /da.*\.jar/)</tt>
|
484
|
+
def handle_variable(target, type, *values)
|
485
|
+
unless TARGETS.member?(target) && TYPES.member?(type)
|
486
|
+
raise ArgumentError, "Unknown config value for target #{target.inspect} and type #{type.inspect}"
|
487
|
+
end
|
488
|
+
if values.empty?
|
489
|
+
@target_config[target][type] ||= [Ivy.setting("#{target.to_s}.#{type.to_s}") || ''].flatten.uniq
|
490
|
+
else
|
491
|
+
@target_config[target][type] = [values].flatten.uniq
|
492
|
+
self
|
493
|
+
end
|
494
|
+
end
|
495
495
|
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
end
|
496
|
+
def post_resolve_tasks
|
497
|
+
@base_ivy ? @base_ivy.post_resolve_task_list : post_resolve_task_list
|
498
|
+
end
|
499
|
+
end
|
500
500
|
|
501
501
|
=begin rdoc
|
502
502
|
The Ivy Buildr extension adding the new tasks for ivy.
|
@@ -518,290 +518,290 @@ To use ivy in a +buildfile+ do something like:
|
|
518
518
|
|
519
519
|
For more configuration options see IvyConfig.
|
520
520
|
=end
|
521
|
-
module IvyExtension
|
522
|
-
|
521
|
+
module IvyExtension
|
522
|
+
include Buildr::Extension
|
523
523
|
|
524
|
-
|
524
|
+
class << self
|
525
525
|
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
526
|
+
def add_ivy_deps_to_java_tasks(project)
|
527
|
+
resolve_target = project.ivy.file_project.task('ivy:resolve')
|
528
|
+
project.task :compiledeps => resolve_target do
|
529
|
+
includes = project.ivy.compile_include
|
530
|
+
excludes = project.ivy.compile_exclude
|
531
|
+
types = project.ivy.compile_type
|
532
|
+
confs = [project.ivy.compile_conf].flatten
|
533
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
534
|
+
project.compile.with [deps, project.compile.dependencies].flatten
|
535
|
+
sort_dependencies(project.compile.dependencies, deps, project.path_to(''))
|
536
|
+
info "Ivy adding compile dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
537
|
+
end
|
538
|
+
end
|
539
539
|
|
540
|
-
|
540
|
+
project.task :compile => "#{project.name}:compiledeps"
|
541
|
+
|
542
|
+
project.task :testdeps => resolve_target do
|
543
|
+
includes = project.ivy.test_include
|
544
|
+
excludes = project.ivy.test_exclude
|
545
|
+
types = project.ivy.test_type
|
546
|
+
confs = [project.ivy.test_conf, project.ivy.compile_conf].flatten.uniq
|
547
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
548
|
+
project.test.with [deps, project.test.dependencies].flatten
|
549
|
+
sort_dependencies(project.test.dependencies, deps, project.path_to(''))
|
550
|
+
sort_dependencies(project.test.compile.dependencies, deps, project.path_to(''))
|
551
|
+
info "Ivy adding test dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
552
|
+
end
|
553
|
+
end
|
554
|
+
project.task "test:compile" => "#{project.name}:testdeps"
|
541
555
|
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
sort_dependencies(project.test.compile.dependencies, deps, project.path_to(''))
|
551
|
-
info "Ivy adding test dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
552
|
-
end
|
553
|
-
end
|
554
|
-
project.task "test:compile" => "#{project.name}:testdeps"
|
556
|
+
project.task :javadocdeps => resolve_target do
|
557
|
+
confs = [project.ivy.test_conf, project.ivy.compile_conf].flatten.uniq
|
558
|
+
if deps = project.ivy.deps(confs)
|
559
|
+
project.javadoc.with deps
|
560
|
+
info "Ivy adding javadoc dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
561
|
+
end
|
562
|
+
end
|
563
|
+
project.task :javadoc => "#{project.name}:javadocdeps"
|
555
564
|
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
project.javadoc.with deps
|
560
|
-
info "Ivy adding javadoc dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
565
|
+
[project.task(:eclipse), project.task(:idea), project.task(:idea7x)].each do |task|
|
566
|
+
task.prerequisites.each{|p| p.enhance ["#{project.name}:compiledeps", "#{project.name}:testdeps"]}
|
567
|
+
end
|
561
568
|
end
|
562
|
-
end
|
563
|
-
project.task :javadoc => "#{project.name}:javadocdeps"
|
564
|
-
|
565
|
-
[project.task(:eclipse), project.task(:idea), project.task(:idea7x)].each do |task|
|
566
|
-
task.prerequisites.each{|p| p.enhance ["#{project.name}:compiledeps", "#{project.name}:testdeps"]}
|
567
|
-
end
|
568
|
-
end
|
569
569
|
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
570
|
+
# Sorts the dependencies in #deps replacing the old order.
|
571
|
+
# Sorting is done as follows:
|
572
|
+
# 1. all dependencies that belong to the project identified by #project_path,
|
573
|
+
# .i.e. instrumented-classes, resources in the order the are contained in the array
|
574
|
+
# 2. all ivy dependencies identified by #ivy_deps
|
575
|
+
# 3. all dependencies added automatically by buildr
|
576
|
+
def sort_dependencies(deps, ivy_deps, project_path)
|
577
|
+
old_deps = deps.dup
|
578
|
+
belongs_to_project = /#{project_path}/
|
579
|
+
deps.sort! do |a, b|
|
580
|
+
a_belongs_to_project = belongs_to_project.match(a.to_s)
|
581
|
+
b_belongs_to_project = belongs_to_project.match(b.to_s)
|
582
|
+
a_ivy = ivy_deps.member? a
|
583
|
+
b_ivy = ivy_deps.member? b
|
584
584
|
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
585
|
+
if a_belongs_to_project && !b_belongs_to_project
|
586
|
+
-1
|
587
|
+
elsif !a_belongs_to_project && b_belongs_to_project
|
588
|
+
1
|
589
|
+
elsif a_ivy && !b_ivy
|
590
|
+
-1
|
591
|
+
elsif !a_ivy && b_ivy
|
592
|
+
1
|
593
|
+
else
|
594
|
+
old_deps.index(a) <=> old_deps.index(b)
|
595
|
+
end
|
596
|
+
end
|
595
597
|
end
|
596
|
-
end
|
597
|
-
end
|
598
598
|
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
599
|
+
def add_manifest_to_distributeables(project)
|
600
|
+
pkgs = project.packages.find_all { |pkg| ['jar', 'war', 'ear'].member? pkg.type.to_s }
|
601
|
+
pkgs.each do |pkg|
|
602
|
+
name = "#{pkg.name}manifest"
|
603
|
+
task = project.task name => project.ivy.file_project.task('ivy:resolve') do
|
604
|
+
if pkg.manifest # source jars have no manifest, only add to existing manifest files
|
605
|
+
pkg.with :manifest => pkg.manifest.merge(project.manifest.merge(project.ivy.manifest))
|
606
|
+
info "Adding manifest entries to package '#{pkg.name}'"
|
607
|
+
else
|
608
|
+
info "Could not merge info to package '#{pkg.to_s}' it has no manifest!"
|
609
|
+
end
|
610
|
+
end
|
611
|
+
project.task :build => task
|
609
612
|
end
|
610
613
|
end
|
611
|
-
project.task :build => task
|
612
|
-
end
|
613
|
-
end
|
614
614
|
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
615
|
+
def add_prod_libs_to_distributeables(project)
|
616
|
+
pkgs = project.packages.find_all { |pkg| ['war'].member? pkg.type.to_s }
|
617
|
+
pkgs.each do |pkg|
|
618
|
+
task = project.task "#{pkg.name}deps" => project.ivy.file_project.task('ivy:resolve') do
|
619
|
+
includes = project.ivy.package_include
|
620
|
+
excludes = project.ivy.package_exclude
|
621
|
+
types = project.ivy.package_type
|
622
|
+
confs = project.ivy.package_conf
|
623
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
624
|
+
pkg.with :libs => [deps, pkg.libs].flatten
|
625
|
+
info "Adding production libs from conf '#{confs.join(', ')}' to WAR '#{pkg.name}' in project '#{project.name}'"
|
626
|
+
end
|
627
|
+
end
|
628
|
+
project.task :build => task
|
626
629
|
end
|
627
|
-
end
|
628
|
-
project.task :build => task
|
629
|
-
end
|
630
630
|
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
631
|
+
pkgs = project.packages.find_all { |pkg| ['ear'].member? pkg.type.to_s }
|
632
|
+
pkgs.each do |pkg|
|
633
|
+
task = project.task "#{pkg.name}deps" => project.ivy.file_project.task('ivy:resolve') do
|
634
|
+
includes = project.ivy.package_include
|
635
|
+
excludes = project.ivy.package_exclude
|
636
|
+
types = project.ivy.package_type
|
637
|
+
confs = project.ivy.package_conf
|
638
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
639
|
+
pkg.add deps, :type => :lib, :path => ''
|
640
|
+
info "Adding production libs from conf '#{confs.join(', ')}' to EAR '#{pkg.name}' in project '#{project.name}'"
|
641
|
+
end
|
642
|
+
end
|
643
|
+
project.task :build => task
|
641
644
|
end
|
642
645
|
end
|
643
|
-
project.task :build => task
|
644
|
-
end
|
645
|
-
end
|
646
646
|
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
end
|
652
|
-
project.packages.each do |pkg|
|
653
|
-
target_file = project.ivy.publish[pkg] || File.basename(pkg.name).gsub(/-#{project.version}/, '')
|
654
|
-
taskname = ivy_project.path_to(ivy_project.ivy.publish_from, target_file)
|
655
|
-
if taskname != pkg.name
|
656
|
-
project.file taskname => pkg.name do
|
657
|
-
verbose "Ivy copying '#{pkg.name}' to '#{taskname}' for publishing"
|
658
|
-
FileUtils.mkdir_p File.dirname(taskname) unless File.directory?(File.dirname(taskname))
|
659
|
-
FileUtils.cp pkg.name, taskname
|
647
|
+
def add_copy_tasks_for_publish(project)
|
648
|
+
ivy_project = project
|
649
|
+
until ivy_project.ivy.own_file?
|
650
|
+
ivy_project = ivy_project.parent
|
660
651
|
end
|
661
|
-
|
652
|
+
project.packages.each do |pkg|
|
653
|
+
target_file = project.ivy.publish[pkg] || File.basename(pkg.name).gsub(/-#{project.version}/, '')
|
654
|
+
taskname = ivy_project.path_to(ivy_project.ivy.publish_from, target_file)
|
655
|
+
if taskname != pkg.name
|
656
|
+
project.file taskname => pkg.name do
|
657
|
+
verbose "Ivy copying '#{pkg.name}' to '#{taskname}' for publishing"
|
658
|
+
FileUtils.mkdir_p File.dirname(taskname) unless File.directory?(File.dirname(taskname))
|
659
|
+
FileUtils.cp pkg.name, taskname
|
660
|
+
end
|
661
|
+
end
|
662
662
|
|
663
|
-
|
663
|
+
ivy_project.task 'ivy:publish' => taskname
|
664
|
+
end
|
665
|
+
end
|
664
666
|
end
|
665
|
-
end
|
666
|
-
end
|
667
667
|
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
668
|
+
# Returns the +ivy+ configuration for the project. Use this to configure Ivy.
|
669
|
+
# see IvyConfig for more details about configuration options.
|
670
|
+
def ivy
|
671
|
+
@ivy_config ||= IvyConfig.new(self)
|
672
|
+
end
|
673
673
|
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
674
|
+
first_time do
|
675
|
+
namespace 'ivy' do
|
676
|
+
desc 'Resolves the ivy dependencies'
|
677
|
+
task :resolve
|
678
678
|
|
679
|
-
|
680
|
-
|
679
|
+
desc 'Publish the artifacts to ivy repository as defined by environment'
|
680
|
+
task :publish
|
681
681
|
|
682
|
-
|
683
|
-
|
682
|
+
desc 'Creates a dependency report for the project'
|
683
|
+
task :report
|
684
684
|
|
685
|
-
|
686
|
-
|
685
|
+
desc 'Clean the local Ivy cache and the local ivy repository'
|
686
|
+
task :clean
|
687
687
|
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
desc 'Clean the local Ivy result cache to force execution of ivy targets'
|
692
|
-
task :clean_result_cache
|
688
|
+
desc 'Creates default Maven POM for project from ivy.xml'
|
689
|
+
task :makepom
|
693
690
|
|
694
|
-
|
695
|
-
|
691
|
+
desc 'Clean the local Ivy result cache to force execution of ivy targets'
|
692
|
+
task :clean_result_cache
|
696
693
|
|
697
|
-
|
698
|
-
|
699
|
-
end
|
700
|
-
end
|
701
|
-
|
702
|
-
after_define do |project|
|
703
|
-
if project.ivy.enabled?
|
704
|
-
IvyExtension.add_ivy_deps_to_java_tasks(project)
|
705
|
-
IvyExtension.add_manifest_to_distributeables(project)
|
706
|
-
IvyExtension.add_prod_libs_to_distributeables(project)
|
707
|
-
IvyExtension.add_copy_tasks_for_publish(project)
|
694
|
+
desc 'Enable the local Ivy result cache by creating the marker file'
|
695
|
+
task :enable_result_cache
|
708
696
|
|
709
|
-
|
710
|
-
|
711
|
-
project.ivy.configure
|
697
|
+
desc 'Disable the local Ivy result cache by removing the marker file'
|
698
|
+
task :disable_result_cache
|
712
699
|
end
|
700
|
+
end
|
701
|
+
|
702
|
+
after_define do |project|
|
703
|
+
if project.ivy.enabled?
|
704
|
+
IvyExtension.add_ivy_deps_to_java_tasks(project)
|
705
|
+
IvyExtension.add_manifest_to_distributeables(project)
|
706
|
+
IvyExtension.add_prod_libs_to_distributeables(project)
|
707
|
+
IvyExtension.add_copy_tasks_for_publish(project)
|
708
|
+
|
709
|
+
namespace 'ivy' do
|
710
|
+
task :configure do
|
711
|
+
project.ivy.configure
|
712
|
+
end
|
713
713
|
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
714
|
+
task :clean => :configure do
|
715
|
+
# TODO This is redundant, refactor ivy_ant_wrap and this to use a single config object
|
716
|
+
rm_rf project.path_to(:reports, 'ivy')
|
717
|
+
project.ivy.cleancache
|
718
|
+
end
|
719
719
|
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
720
|
+
task :clean_result_cache do
|
721
|
+
project.send(:info, "Deleting IVY result cache dir '#{project.ivy.result_cache_dir}'")
|
722
|
+
rm_rf project.ivy.result_cache_dir
|
723
|
+
end
|
724
724
|
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
725
|
+
task :enable_result_cache do
|
726
|
+
project.send(:info, "Creating IVY caching marker file '#{project.ivy.caching_marker}'")
|
727
|
+
touch project.ivy.caching_marker
|
728
|
+
end
|
729
729
|
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
730
|
+
task :disable_result_cache do
|
731
|
+
project.send(:info, "Deleting IVY caching marker file '#{project.ivy.caching_marker}'")
|
732
|
+
rm_f project.ivy.caching_marker
|
733
|
+
end
|
734
734
|
|
735
|
-
|
736
|
-
|
737
|
-
|
735
|
+
task :resolve => "#{project.name}:ivy:configure" do
|
736
|
+
project.ivy.__resolve__
|
737
|
+
end
|
738
738
|
|
739
|
-
|
740
|
-
|
741
|
-
|
739
|
+
task :report => "#{project.name}:ivy:resolve" do
|
740
|
+
project.ivy.report
|
741
|
+
end
|
742
742
|
|
743
|
-
|
744
|
-
|
745
|
-
|
743
|
+
task :publish => "#{project.name}:ivy:resolve" do
|
744
|
+
project.ivy.__publish__
|
745
|
+
end
|
746
746
|
|
747
|
-
|
748
|
-
|
747
|
+
task :makepom => "#{project.name}:ivy:resolve" do
|
748
|
+
project.ivy.makepom
|
749
|
+
end
|
750
|
+
end
|
749
751
|
end
|
750
752
|
end
|
751
753
|
end
|
752
|
-
end
|
753
|
-
end
|
754
754
|
|
755
|
-
# Global targets that are not bound to a project
|
756
|
-
namespace 'ivy' do
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
755
|
+
# Global targets that are not bound to a project
|
756
|
+
namespace 'ivy' do
|
757
|
+
task :clean do
|
758
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
759
|
+
project.task('ivy:clean').invoke
|
760
|
+
end
|
761
|
+
end
|
762
762
|
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
763
|
+
task :clean_result_cache do
|
764
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
765
|
+
project.task('ivy:clean_result_cache').invoke
|
766
|
+
end
|
767
|
+
end
|
768
768
|
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
769
|
+
task :enable_result_cache do
|
770
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
771
|
+
project.task('ivy:enable_result_cache').invoke
|
772
|
+
end
|
773
|
+
end
|
774
774
|
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
775
|
+
task :disable_result_cache do
|
776
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
777
|
+
project.task('ivy:disable_result_cache').invoke
|
778
|
+
end
|
779
|
+
end
|
780
780
|
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
781
|
+
task :resolve do
|
782
|
+
info "Resolving all distinct ivy files"
|
783
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
784
|
+
project.task('ivy:resolve').invoke
|
785
|
+
end
|
786
|
+
end
|
787
787
|
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
788
|
+
task :publish => :package do
|
789
|
+
info "Publishing all distinct ivy files"
|
790
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
791
|
+
project.task('ivy:publish').invoke
|
792
|
+
end
|
793
|
+
end
|
794
|
+
|
795
|
+
task :makepom => :resolve do
|
796
|
+
info "Create Maven POMs for all projects with distinct ivy files"
|
797
|
+
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
798
|
+
project.task('ivy:makepom').invoke
|
799
|
+
end
|
800
|
+
end
|
792
801
|
end
|
793
|
-
end
|
794
802
|
|
795
|
-
|
796
|
-
|
797
|
-
Buildr.projects.find_all{ |p| p.ivy.own_file? }.each do |project|
|
798
|
-
project.task('ivy:makepom').invoke
|
803
|
+
class Buildr::Project # :nodoc:
|
804
|
+
include IvyExtension
|
799
805
|
end
|
800
806
|
end
|
801
807
|
end
|
802
|
-
|
803
|
-
class Buildr::Project # :nodoc:
|
804
|
-
include IvyExtension
|
805
|
-
end
|
806
|
-
end
|
807
|
-
end
|
data/lib/ivy/install.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'ivy/target'
|
2
|
+
|
3
|
+
module Ivy
|
4
|
+
class Install < Ivy::Target
|
5
|
+
def parameter
|
6
|
+
[
|
7
|
+
Parameter.new(:from, true),
|
8
|
+
Parameter.new(:to, true),
|
9
|
+
Parameter.new(:organisation, true),
|
10
|
+
Parameter.new(:module, true),
|
11
|
+
Parameter.new(:branch, false),
|
12
|
+
Parameter.new(:revision, true),
|
13
|
+
Parameter.new(:type, false),
|
14
|
+
Parameter.new(:validate, false),
|
15
|
+
Parameter.new(:overwrite, false),
|
16
|
+
Parameter.new(:transitive, false),
|
17
|
+
Parameter.new(:matcher, false),
|
18
|
+
Parameter.new(:settingsRef, false),
|
19
|
+
Parameter.new(:haltonfailure, false)
|
20
|
+
]
|
21
|
+
end
|
22
|
+
|
23
|
+
protected
|
24
|
+
def execute_ivy
|
25
|
+
call_nested :ivy_install => params
|
26
|
+
end
|
27
|
+
|
28
|
+
def create_return_values
|
29
|
+
nil
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
data/lib/ivy/targets.rb
CHANGED
@@ -1,49 +1,50 @@
|
|
1
|
-
require 'ivy/target'
|
2
|
-
require 'ivy/info'
|
3
|
-
require 'ivy/settings'
|
4
|
-
require 'ivy/configure'
|
5
|
-
require 'ivy/cleancache'
|
6
|
-
require 'ivy/resolve'
|
7
|
-
require 'ivy/makepom'
|
8
|
-
require 'ivy/cachepath'
|
9
|
-
#require 'ivy/listmodules'
|
10
|
-
require 'ivy/artifactproperty'
|
11
|
-
require 'ivy/artifactreport'
|
12
|
-
require 'ivy/findrevision'
|
13
|
-
require 'ivy/
|
14
|
-
require 'ivy/
|
15
|
-
require 'ivy/
|
16
|
-
require 'ivy/
|
17
|
-
require 'ivy/
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
*
|
23
|
-
*
|
24
|
-
*
|
25
|
-
*
|
26
|
-
*
|
27
|
-
*
|
28
|
-
*
|
29
|
-
*
|
30
|
-
*
|
31
|
-
*
|
32
|
-
*
|
33
|
-
*
|
34
|
-
*
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
*
|
41
|
-
*
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
*
|
1
|
+
require 'ivy/target'
|
2
|
+
require 'ivy/info'
|
3
|
+
require 'ivy/settings'
|
4
|
+
require 'ivy/configure'
|
5
|
+
require 'ivy/cleancache'
|
6
|
+
require 'ivy/resolve'
|
7
|
+
require 'ivy/makepom'
|
8
|
+
require 'ivy/cachepath'
|
9
|
+
#require 'ivy/listmodules'
|
10
|
+
require 'ivy/artifactproperty'
|
11
|
+
require 'ivy/artifactreport'
|
12
|
+
require 'ivy/findrevision'
|
13
|
+
require 'ivy/install'
|
14
|
+
require 'ivy/buildnumber'
|
15
|
+
require 'ivy/retrieve'
|
16
|
+
require 'ivy/publish'
|
17
|
+
require 'ivy/report'
|
18
|
+
require 'ivy/buildlist'
|
19
|
+
|
20
|
+
=begin
|
21
|
+
finished
|
22
|
+
* info
|
23
|
+
* settings
|
24
|
+
* configure
|
25
|
+
* cleancache
|
26
|
+
* buildnumber
|
27
|
+
* findrevision
|
28
|
+
* cachepath
|
29
|
+
* artifactreport
|
30
|
+
* resolve
|
31
|
+
* makepom
|
32
|
+
* retrieve
|
33
|
+
* publish
|
34
|
+
* artifactproperty
|
35
|
+
* report
|
36
|
+
o Using yEd to layout report graphs
|
37
|
+
* buildlist
|
38
|
+
|
39
|
+
TODO
|
40
|
+
* deliver
|
41
|
+
* install
|
42
|
+
* repreport
|
43
|
+
|
44
|
+
not working:
|
45
|
+
* listmodules
|
46
|
+
|
47
|
+
makes no sense:
|
48
|
+
* cachefileset
|
49
|
+
* var
|
49
50
|
=end
|
data/lib/ivy4r.rb
CHANGED
@@ -148,6 +148,11 @@ class Ivy4r
|
|
148
148
|
def findrevision(*params)
|
149
149
|
Ivy::Findrevision.new(ant, cache_dir).execute(*params)
|
150
150
|
end
|
151
|
+
|
152
|
+
# Calls the __install__ ivy target with given parameters always returns nil
|
153
|
+
def install(*params)
|
154
|
+
Ivy::Install.new(ant, cache_dir).execute(*params)
|
155
|
+
end
|
151
156
|
|
152
157
|
# Calls the __artifactproperty__ ivy target with given parameters and returns
|
153
158
|
# map with all defined properties
|
data/lib/ivy4r/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 12
|
8
|
-
-
|
9
|
-
version: 0.12.
|
8
|
+
- 9
|
9
|
+
version: 0.12.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Klaas Reineke
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-17 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- lib/ivy/configure.rb
|
146
146
|
- lib/ivy/findrevision.rb
|
147
147
|
- lib/ivy/info.rb
|
148
|
+
- lib/ivy/install.rb
|
148
149
|
- lib/ivy/java/all_version_matcher.rb
|
149
150
|
- lib/ivy/java/java_object_wrapper.rb
|
150
151
|
- lib/ivy/listmodules.rb
|