English     Español
[Main Index] : Programming : Languages : Perl : CPAN Modules : Language Interfaces : Java
 Java::Build CPAN (Perl) Module 

Search

 

Categories

Java::Build::GenericBuild   Java::Build::Tasks  
Java::Build::JVM  

Documents

Java::Build - a family of modules which you can use instead of Ant (Displayed)
README 

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


NAME

Java::Build - 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.


DESCRIPTION

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

  • Variables instead of properties.

  • Flow of control structures.

  • The ability to write functions.

  • Cleaner build files (you don't have to code in XML)

  • All the other benefits of Perl (CPAN, regexes, etc.)


SEE ALSO

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

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


AUTHOR

Phil Crow, <philcrow2000@yahoo.com


COPYRIGHT AND LICENSE

Copyright 2003 by Phil Crow

This library is free software; you can redistribute it and/or modify it under the same terms as Perl 5.8.0 itself.

Information

This site is currently in testing, it is not yet operating using the full database. Until it is officially launched you may wish to visit Help-Site Computer Manuals. After launch, this site (HelpSpy) will replace Help-Site. Information about the spider which is currently trawling the Internet looking for links to add to this directory can be found here.
   

©Copyright Nicholas Reynolds 2004