Java::Build is a family of modules which you can use instead of Ant.
SYNOPSIS
use Java::Build::JVM; # access to the javac compiler in one jvm
use Java::Build::Tasks; # some helpful methods similar to Ant tasks
my $source_files = build_file_list(
BASE_DIR => $some_path,
INCLUDE_PATTERNS => [ qr/.java$/ ],
);
my $dirty_sources = what_needs_compiling(
SOURCE_FILE_LIST => $source_files,
);
if (@$dirty_sources) {
my $compiler = Java::Ant::JVM->getCompiler();
$compiler->destination($base_dir);
$compiler->classpath($base_dir);
$compiler->compile($dirty_sources);
my $class_files = build_file_list(
BASE_DIR => $some_path,
INCLUDE_PATTERNS => [ qr/.class$/ ],
EXCLUDE_PATTERNS => [ qr/Test/ ],
EXCLUDE_DEFAULTS => 1,
STRIP_BASE_DIR => 1,
);
jar(
JAR_FILE => $jar_file_name,
FILE_LIST => $class_files,
BASE_DIR => $some_path,
);
}
ABSTRACT
This family of modules helped me move away from Ant to a proper scripting language, namely Perl. With it you can use a single JVM for compiling your java programs. It provides many useful methods to help you build lists of files, package them with jar, etc. Currently the modules are unix centric. If you make them work elsewhere, please send in patches.
Product's homepage
Requirements:
· Perl
· Inline
· Inline::Java
· Carp
· File::Find
· Cwd
· File::Temp
· Exporter