ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dianne Yumul <dia...@wellsgaming.com>
Subject Re: Java source files not part of any package
Date Wed, 28 Oct 2009 18:58:35 GMT
Another option would be going back to running javac twice but with the  
includes in the appropriate place:

<javac srcdir="${src.common}" destdir="${bin}" includeAntRuntime="no"
              classpathref="lib.path" debug="${compile.debug}">
	<include name="AuthWindow.java"/>
	<include name="Capacity.java"/>
	<include name="CapacityPrinter.java"/>
	<include name="DateFormatField.java"/>
</javac>
<javac srcdir="${src}" destdir="${bin}"  includeAntRuntime="no"
	     classpathref="lib.path" debug="${compile.debug}">
</javac>

This way it compiles only what I need from the Common folder and  
everything from the project's src folder.
Is there a disadvantage to doing it this way?

Thanks.

On Oct 28, 2009, at 10:23 AM, Dianne Yumul wrote:

> Thank you Steve for the suggestions.  I tried option 2 with the  
> following:
>
> <property name="src" location="src"/>
> <property name="src.common" location="../../Common">
>
> <javac destdir="${bin}"  includeAntRuntime="no"  
> classpathref="lib.path" debug="${compile.debug}">
> 	<src path="src"/>
> 	<src>
> 		<fileset file="${src.common}/AuthWindow.java"/>
> 	</src>
> </javac>
>
> But I get the error /Common/AuthWindow.java is not a directory.
>
> Going back to the manual and some more searching.
>
> Thanks.
>
> On Oct 28, 2009, at 3:51 AM, Steve Loughran wrote:
>
>> Dianne Yumul wrote:
>>> Hello Everyone,
>>> I'm learning to use Ant 1.7.0 as part of Xcode 3.1.2 on Mac OS X  
>>> 10.6.  We have a separate directory called Common/ where we keep  
>>> common java source files. These files need to get included, not  
>>> all at the same time though, when compiling our Java  
>>> applications.  What would be the best way to do this?
>>> If I add Common/ to srcdir, it compiles everything inside when I  
>>> only need a one or two.  The FAQ mentions that "If you have Java  
>>> source files that aren't declared to be part of any package, you  
>>> can still use the <javac> task to compile these files correctly -  
>>> just set the srcdir and destdir attributes to the actual directory  
>>> the source files live in and the directory the class files should  
>>> go into, respectively."  But how to do this exactly? Do I need two  
>>> separate javac tasks like the following?
>>> <javac srcdir="../../../Common/src" destdir="../../../Common/bin"  
>>> classpathref="lib.path" debug="on"/>
>>> <javac srcdir="src" destdir="bin" classpathref="lib.path"  
>>> debug="on"/>
>>
>> that's not going to help, ant will still compile everything in  
>> common/
>>
>> Two options
>>
>> * <copy> only the files you need to somewhere (like build/src and  
>> include that in the compile
>>
>>
>> * use the nested <fileset file> elements in <src> inside javac
>>
>> <property name="common.dir" location="../../../Common" />
>>
>> <javac destdir="${build.classes.dir}">
>> <src>
>> <fileset file="${common.dir}/Utils.java" />
>> <fileset file="${common.dir}/Arrays.java" />
>> </src>
>>
>>
>> Know that Javac will pull in extra java source files if imported,  
>> it may compile more than you expect.
>>
>> -steve
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message