Changeset 1113

Show
Ignore:
Timestamp:
11/11/08 23:06:07 (8 weeks ago)
Author:
douglas
Message:

AAPT Package has upToDate.

Location:
AntTasks
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • AntTasks/build.xml

    r1112 r1113  
    7171                        make="true" 
    7272                        verbose="true" 
    73                         java="../DeliciousAndroid/build/source" 
     73                        java="${archives.dir}" 
    7474                        manifest="../DeliciousAndroid/AndroidManifest.xml" 
    7575                        include="/home/douglas/android-sdk-linux_x86-1.0_r1/android.jar" 
    7676                        resource="../DeliciousAndroid/resource" 
     77                /> 
     78 
     79                <aaptpackage 
     80                        force="true" 
     81                        verbose="true" 
     82                        manifest="../DeliciousAndroid/AndroidManifest.xml" 
     83                        include="/home/douglas/android-sdk-linux_x86-1.0_r1/android.jar" 
     84                        resource="../DeliciousAndroid/resource" 
     85                        assets="../DeliciousAndroid/assets" 
     86                        file="${archives.dir}/DeliciousAndroid.zip" 
    7787                /> 
    7888        </target> 
  • AntTasks/source/net/douglasthrift/anttasks/AAPTPackage.java

    r1112 r1113  
    2727import java.util.Iterator; 
    2828 
     29import org.apache.tools.ant.Project; 
     30import org.apache.tools.ant.taskdefs.UpToDate; 
    2931import org.apache.tools.ant.types.DirSet; 
     32import org.apache.tools.ant.types.FileSet; 
    3033import org.apache.tools.ant.types.Path; 
     34import org.apache.tools.ant.types.resources.FileResource; 
     35import org.apache.tools.ant.types.resources.Union; 
    3136 
    3237public class AAPTPackage extends CommandTask 
     
    3944        private File manifest_; 
    4045        private Path include_; 
    41         private File assetSources_; 
     46        private File assets_; 
    4247        private File publicDefinitions_; 
    4348        private File resource_; 
     
    8186        } 
    8287 
    83         public void setAssestSources(File assetSources) 
    84         { 
    85                 assetSources_ = assetSources; 
     88        public void setAssets(File assets) 
     89        { 
     90                assets_ = assets; 
    8691        } 
    8792 
     
    142147                                arguments("-I", iterator.next().toString()); 
    143148 
    144                 if (assetSources_ != null && assetSources_.exists()) 
    145                         arguments("-A", assetSources_); 
     149                if (assets_ != null && assets_.exists()) 
     150                        arguments("-A", assets_); 
    146151 
    147152                if (publicDefinitions_ != null) 
     
    166171        private boolean isUpToDate() 
    167172        { 
    168                 return false; 
     173                Project project = getProject(); 
     174                UpToDate upToDate = (UpToDate)project.createTask("uptodate"); 
     175                Union union = upToDate.createSrcResources(); 
     176 
     177                if (manifest_ != null) 
     178                { 
     179                        FileSet fileSet = (FileSet)project.createDataType("fileset"); 
     180 
     181                        fileSet.setFile(manifest_); 
     182                        union.add(fileSet); 
     183                } 
     184 
     185                if (assets_ != null && assets_.exists()) 
     186                { 
     187                        FileSet fileSet = (FileSet)project.createDataType("fileset"); 
     188 
     189                        fileSet.setDir(assets_); 
     190                        union.add(fileSet); 
     191                } 
     192 
     193                if (resource_ != null) 
     194                { 
     195                        FileSet fileSet = (FileSet)project.createDataType("fileset"); 
     196 
     197                        fileSet.setDir(resource_); 
     198                        union.add(fileSet); 
     199                } 
     200 
     201                union.addAll(dirSets_); 
     202 
     203                // TODO: publicDefinitions_ 
     204 
     205                if (file_ != null) 
     206                { 
     207                        upToDate.setTargetFile(file_); 
     208 
     209                        if (!upToDate.eval()) 
     210                                return false; 
     211                } 
     212 
     213                if (java_ != null) 
     214                { 
     215                        FileSet fileSet = (FileSet)project.createDataType("fileset"); 
     216 
     217                        fileSet.setDir(java_); 
     218                        fileSet.setIncludes("**/R.java"); 
     219 
     220                        if (fileSet.size() == 0) 
     221                                return false; 
     222 
     223                        for (Iterator iterator = fileSet.iterator(); iterator.hasNext();) 
     224                        { 
     225                                upToDate.setTargetFile(((FileResource)iterator.next()).getFile()); 
     226 
     227                                if (!upToDate.eval()) 
     228                                        return false; 
     229                        } 
     230                } 
     231 
     232                return upToDate.eval(); 
    169233        } 
    170234}