[ale] Bash wildcard

Charles Shapiro hooterpincher at gmail.com
Tue Mar 27 13:38:44 EDT 2012


I've used both ant and make.

Java differs from many compiled languages in how it organizes its
files.  Java compiles to a VM, so it lacks a link step.  It builds
source files to a class directory which mirrors the structure of its
source directory, or to a .jar file which is a zipped set of class
directories structured like the source directory.  Languages which
compile to native code can give you  more latitude on where you put
object files, since the linker is gonna sew  all your objects together
into libraries and executables anyways.    ant understands this fact
about java, so an ant build file can be less complex than the
equivalent make file for the same java project.  It doesn't have to
explicitly specify where the class file for a given source file lives,
as long as it knows the root of the output directory structure.   You
can also make an ant build script and not have to modify it when you
add a new file to your source code, which can be handy.

I've also used ant to build C++ projects.  In that case we built our
object files to a directory structure which mirrored the source
directories, as if we were building a java project.     ant also has a
rich set of control structures and commands which allow you to do
things like unit testing and debug builds.  OTOH, if you're building a
native-code project for several different platforms make might be a
better choice.

-- CHS

On Tue, Mar 27, 2012 at 11:01 AM, Michael Campbell
<michael.campbell at gmail.com> wrote:
> On Mon, Mar 26, 2012 at 4:06 PM, Chris Fowler <cfowler at outpostsentinel.com>
> wrote:
>
>>
>> Oh yea, why is make not good enough for Java?  Is it because the syntax
>> is so cryptic that Ant had to be created? I only say this from
>> experience.  I tried to craft a whole build process in Perl for this
>> project and after going back to the GNU Make manual I've ditched it and
>> went back to make. :P
>>
>
>  Many (most?) java people didn't come from a unix background so wouldn't
> have had the background to know about make.  I've seen plenty of java
> makefiles, so they do exist.
>
> There are a number of build tools in the java space; ant is probably the
> widest used.  Maven is used (and loved, or hated, and rarely anywhere
> between) in a lot of places, and a new upstart called Gradle (based on
> Groovy) is making inroads.
>
> The recent joke amongst us java folk is "The big difference between ant and
> maven is that the author of ant has apologized."
>
>
>
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>



More information about the Ale mailing list