I kind of agree, but I kind of feel like it’s a bit too much writing. It’s more convenient to just write down the libraries necessary and a minimal amount of rules (probably zero for Java, based on what I think will happen) and be done.
For example, a simple ant buildfile looks like this according to Apache Ant’s official tutorials:
<project name="MyProject" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/>
<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
whereas with the program my friend and I are making, an example setup for C (he hates Java and loves C and C++ so the Java compatibility will be purely done by me) would look like this:
This is basically the setup the setup for a project my friend made with it.
.buildifile:
-llua
to build:
buildify
Which I find more convenient. In the future the .buildifile will likely have LIBS=-llua instead of just -llua to better comply with the new rules that will later be added. You can see our program here.