Added build target which translates rocksim component directories in resources-src...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 26 Apr 2012 21:12:35 +0000 (21:12 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 26 Apr 2012 21:12:35 +0000 (21:12 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@622 180e2498-e6e9-4542-8430-84ac67f01cd8

core/build.xml
core/lib-extra/ant-contrib-1.0b3.jar [new file with mode: 0644]

index a1c930c9a8f6a910162fbaec401daa4a72553e78..7ae8c365d07dca7e13ec532b506aef5d505060f4 100644 (file)
                <pathelement location="${src-test.dir}"/>
                <fileset dir="lib-test/" includes="*.jar"/>
        </path>
-       
+
+       <path id="run-classpath">
+               <path refid="classpath"/>
+               <pathelement location="${basedir}/resources"/>
+               <pathelement location="${classes.dir}"/>
+       </path>
+
+       <!-- Add Ant-contrib tasks so we can use for loop -->
+       <taskdef resource="net/sf/antcontrib/antlib.xml">
+               <classpath>
+                       <pathelement location="lib-extra/ant-contrib-1.0b3.jar"/>
+               </classpath>
+       </taskdef>
 
        
        <!-- CLEAN -->
-       <target name="clean">
+       <target name="clean" description="Removes all build artifacts">
                <delete dir="${build.dir}"/>
                <delete dir="tmp/"/>
        </target>
                        <zipfileset src="lib/opencsv-2.3.jar" />
                </jar>
        </target>
-       
+
+       <!-- CONVERT vendor csv to ORC files -->
+       <macrodef name="build-orc-file">
+               <attribute name="dir"/>
+               <attribute name="vendor"/>
+               <sequential>
+                       <echo>Generating ORC file for vendor @{vendor}</echo>
+                       <java classname="net.sf.openrocket.preset.loader.RocksimComponentFileTranslator"
+                               fork="true"
+                               classpathref="run-classpath"
+                               failonerror="true">
+                               <arg value="@{dir}"/>
+                               <arg value="resources/datafiles/presets/@{vendor}.orc"/>
+                       </java>
+               </sequential>
+       </macrodef>
+
+       <target name="generate-orc-files"
+               description="Generate ORC file from vendor csv"
+               depends="build">
+
+               <for param="vendor-dir">
+                       <dirset dir="resources-src/datafiles/rocksim_components"
+                               includes="*"
+                               excludes="giantleaprocketry"/>
+                       <sequential>
+                               <propertyregex property="vendor"
+                                       override="true"
+                                       input="@{vendor-dir}"
+                                       select="\1"
+                                       regexp=".*[/\\]([^/\\]*)$"/>
+                               <build-orc-file dir="@{vendor-dir}" vendor="${vendor}"/>
+                       </sequential>
+               </for>
+       </target>
        
        <!-- DIST-SRC -->
        <target name="dist-src">
@@ -213,4 +259,4 @@ ${nonascii}</fail>
                </echo>
        </target>
     
-</project>
\ No newline at end of file
+</project>
diff --git a/core/lib-extra/ant-contrib-1.0b3.jar b/core/lib-extra/ant-contrib-1.0b3.jar
new file mode 100644 (file)
index 0000000..0625376
Binary files /dev/null and b/core/lib-extra/ant-contrib-1.0b3.jar differ