Java::Build - a family of modules which you can use instead of Ant


Java-Build documentation Contained in the Java-Build distribution.

Index


Code Index:

NAME

Top

Java::Build - a family of modules which you can use instead of Ant

SYNOPSIS

Top

    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

Top

  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.

DESCRIPTION

Top

With the modules in this distribution, you can aviod Ant. This gives you the following benefits:

SEE ALSO

Top

You will need to install recent versions of Inline and Inline::Java.

See Java::Build::JVM and Java::Build::Tasks for more details about their methods.

REQUIRES

Top

  Inline
  Inline::Java
  Carp;
  File::Find;
  Cwd;
  File::Temp;
  Exporter;

AUTHOR

Top

Phil Crow, <philcrow2000@yahoo.com<gt>

COPYRIGHT AND LICENSE

Top


Java-Build documentation Contained in the Java-Build distribution.

package Java::Build;

use strict;
use warnings;

use Carp;

our $VERSION = '0.05';

sub import {
    croak "Java::Build is a documentation only module.\n"
        . "Try Java::Build::JVM or Java::Build::Tasks\n";
}

1;
__END__