# Example usage of the featuress of JavaClass::Analyse::TransitiveDependencies
# to collect all transitive dependencies of a certain class or a whole package # (Cumulative Component Dependencies).
- # Author
-
Peter Kofler
- # Copyright
-
Copyright © 2009, Peter Kofler.
- # License
- # See
-
Another example how to list all imported types
# # === Steps #
# require 'javaclass/dsl/mixin' #
# 1) create the classpath of the given workspace # cp = workspace(location) # puts “#{cp.count} classes found on classpath” #
# define a filter to limit all operations to the classes we are interested in # filter = Proc.new { |classname| classname.same_or_subpackage_of?(package) } #
# 2a) collect all transitive dependencies of a single class into an AdderTree
# dependencies = cp.transitive_dependency_tree(start_class.to_javaname, &filter) # puts “#{dependencies.size} classes in transitive dependency graph of class #{start_class}” # dependencies.debug_print #
# 2b) or collect all transitive dependencies of a whole package # dependencies = cp.transitive_dependencies_package(start_class.to_javaname.package, &filter) # puts “#{dependencies.size} classes in transitive dependency graph of package #{start_class.to_javaname.package}” # dependencies.debug_print