|
1 | | -<project name="Teaching Kids Programming" basedir="." default="Publish TeachingKidsProgramming"> |
2 | | - <target name="compile" depends="cleanUp"> |
| 1 | +<?xml version="1.0"?> |
| 2 | +<project name="Teaching Kids Programming" basedir="." default="Publish TeachingKidsProgramming" xmlns:artifact="antlib:org.apache.maven.artifact.ant"> |
| 3 | + |
| 4 | + |
| 5 | + <property name="home" value="." /> |
| 6 | + <property name="src" value="${home}/src/main/java" /> |
| 7 | + <property name="rsrc" value="${home}/src/main/resources" /> |
| 8 | + <property name="build_home" value="/tmp/builds" /> |
| 9 | + <property name="build" value="${build_home}/build" /> |
| 10 | + <property name="targetJavaClass" value="org/teachingextensions/**,you/**" /> |
| 11 | + <property name="jar" value="${build}/TeachingKidsProgramming.jar" /> |
| 12 | + <property name="tkp_workspace" value="${home}/../TeachingKidsProgramming.Java" /> |
| 13 | + <property name="tkp_project" value="${tkp_workspace}/TeachingKidsProgramming" /> |
| 14 | + <property name="documentation" value="${home}/build/resources/teaching_kids_programming" /> |
| 15 | + <property name="excludeTests" value="true" /> |
| 16 | + |
| 17 | + <!-- maven integration --> |
| 18 | + <path id="maven-ant-tasks.classpath" path="build/maven-ant-tasks-2.1.3.jar" /> |
| 19 | + <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" /> |
| 20 | + <artifact:pom id="tkppom" file="pom.xml" /> |
| 21 | + <artifact:dependencies filesetId="pomdeps" pomRefId="tkppom" pathId="dependency.classpath" /> |
| 22 | + |
| 23 | + <target name="cleanTeachingKidsProgramming" description="Delete generated files from Eclipse project."> |
| 24 | + <delete dir="${tkp_project}/bin" failonerror="false" /> |
| 25 | + <delete dir="${tkp_project}/src" failonerror="false" /> |
| 26 | + <delete dir="${tkp_project}/build" failonerror="false" /> |
| 27 | + </target> |
| 28 | + |
| 29 | + <target name="cleanUp" description="Delete files from temp build directory."> |
| 30 | + <delete dir="${build}" /> |
| 31 | + </target> |
| 32 | + |
| 33 | + <target name="compile" depends="cleanUp" description="Compile sources."> |
3 | 34 | <mkdir dir="${build}" /> |
4 | | - <delete dir="${build}/com/spun" /> |
5 | 35 | <echo>${targetJavaClass}</echo> |
6 | | - <javac srcdir="${src}" destdir="${build}" debug="true" includes="${targetJavaClass}" target="1.7" source="1.7" listfiles="true"> |
| 36 | + <javac includeantruntime="false" srcdir="${src}" destdir="${build}" debug="true" includes="${targetJavaClass}" target="1.7" source="1.7" listfiles="true"> |
7 | 37 | <exclude name="**/tests/**" if="excludeTests" /> |
8 | | - |
9 | | - <classpath> |
10 | | - <fileset dir="${src}/jars"> |
11 | | - <include name="**/*.jar" /> |
12 | | - </fileset> |
13 | | - </classpath> |
| 38 | + <classpath refid="dependency.classpath" /> |
14 | 39 | </javac> |
15 | 40 | </target> |
16 | | - <target name="cleanUp"> |
17 | | - <delete dir="${build}" /> |
18 | | - </target> |
19 | 41 |
|
20 | | - <target name="buildJarFile" depends="compile"> |
| 42 | + <target name="stagesrc" description="Copy source files to temp build directory."> |
21 | 43 | <mkdir dir="${build}/src" /> |
22 | 44 | <copy todir="${build}/src"> |
23 | 45 | <fileset dir="${src}" includes="${targetJavaClass}/*.java"> |
24 | 46 | <exclude name="**/tests/**" if="excludeTests" /> |
25 | 47 | </fileset> |
26 | 48 | </copy> |
27 | 49 | <copy todir="${build}"> |
28 | | - <fileset dir="${src}" includes="${targetJavaClass}/*.png" /> |
| 50 | + <fileset dir="${rsrc}" includes="*.png" /> |
29 | 51 | </copy> |
| 52 | + <copy todir="${build}/src/org/teachingextensions/logo"> |
| 53 | + <fileset dir="${rsrc}" includes="*.png" /> |
| 54 | + </copy> |
| 55 | + </target> |
| 56 | + |
| 57 | + <target name="buildJarFile" depends="compile, stagesrc" description="Create jar file."> |
30 | 58 | <delete file="${jar}" failonerror="false" /> |
31 | 59 | <jar destfile="${jar}" update="false"> |
32 | 60 | <fileset dir="${build}" includes="**" /> |
33 | | - |
34 | 61 | </jar> |
35 | 62 | </target> |
36 | | - <target name="createDownload" depends="buildJarFile"> |
37 | | - <zip destfile="${zip}" basedir="${build}" includes="*.jar,*.txt"> |
38 | | - <fileset dir="${documentation}" includes="**" /> |
39 | | - </zip> |
40 | | - </target> |
41 | 63 |
|
42 | | - |
43 | | - <target name="Publish TeachingKidsProgramming"> |
44 | | - <property file="properties/teaching_kids_programming.properties" /> |
45 | | - <antcall target="createTeachingKidsProgramming" /> |
46 | | - </target> |
47 | | - |
48 | | - <target name="cleanTeachingKidsProgramming"> |
49 | | - <delete dir="${tkp_project}/bin" failonerror="false" /> |
50 | | - <delete dir="${tkp_project}/src" failonerror="false" /> |
51 | | - <delete dir="${tkp_project}/build" failonerror="false" /> |
52 | | - </target> |
53 | | - |
54 | | - <target name="createTeachingKidsProgramming" depends="cleanTeachingKidsProgramming, buildJarFile"> |
| 64 | + <target name="createTeachingKidsProgramming" depends="cleanTeachingKidsProgramming, buildJarFile" description="Copy build files to Eclipse project."> |
55 | 65 | <copy file="${build}/TeachingKidsProgramming.jar" todir="${tkp_project}/src/jars" /> |
56 | 66 | <copy file="${documentation}/build.xml" todir="${tkp_project}/build" /> |
57 | 67 | <copy todir="${tkp_project}/src" verbose="true"> |
|
67 | 77 | <zip destfile="${build}/tkp_workspace.v${version}.zip" basedir="${tkp_workspace}" includes="**"> |
68 | 78 | </zip> |
69 | 79 | </target> |
| 80 | + |
| 81 | + <target name="Publish TeachingKidsProgramming" description="Publish Eclipse Project"> |
| 82 | + <property file="properties/teaching_kids_programming.properties" /> |
| 83 | + <antcall target="createTeachingKidsProgramming" /> |
| 84 | + </target> |
| 85 | + |
| 86 | + |
| 87 | + <!-- Other targets --> |
| 88 | + <target name="createDownload" depends="buildJarFile"> |
| 89 | + <zip destfile="${zip}" basedir="${build}" includes="*.jar,*.txt"> |
| 90 | + <fileset dir="${documentation}" includes="**" /> |
| 91 | + </zip> |
| 92 | + </target> |
| 93 | + |
70 | 94 | <target name="Publish TKP Launcher"> |
71 | 95 | <property file="properties/tkplauncher.properties" /> |
72 | 96 | <antcall target="buildExecutableTkpJarFile" /> |
73 | 97 |
|
74 | 98 | </target> |
| 99 | + |
75 | 100 | <target name="buildExecutableTkpJarFile" depends="compile"> |
76 | 101 | <jar destfile="${jar}/TKP_Launcher.jar" update="false"> |
77 | 102 | <fileset dir="${build}" includes="**" /> |
|
80 | 105 | </manifest> |
81 | 106 | </jar> |
82 | 107 | </target> |
| 108 | + |
83 | 109 | <target name="Publish TKP ThumbDriveInstaller"> |
84 | 110 | <property file="properties/tkplauncher.properties" /> |
85 | 111 | <antcall target="buildThumbDriveInstaller" /> |
|
0 commit comments