Skip to content

Instantly share code, notes, and snippets.

@alejandrobernardis
Created February 20, 2012 20:26
Show Gist options
  • Save alejandrobernardis/1871207 to your computer and use it in GitHub Desktop.
Save alejandrobernardis/1871207 to your computer and use it in GitHub Desktop.
Flash, Flex SDK, AS3, ANT
######################################
## Project Information
######################################
author = Alejandro M. Bernardis
author.email = alejandrob@kirikacode.com
project.owner = Kirika Code
project.owner.url = http://www.kirikacode.com
project.fullname = AS3 Kirika Code Application
project.version = 1.0.0
project.name = AS3KCAPP
project.year = 2010
project.license = GNU GPLv2
project.copyright = Copyright (c) ${project.year} ${project.owner}
######################################
## Project Properties
######################################
app.title = ${project.fullname}
app.description = Modelo generico para el desarrollo de applicaciones.
app.publisher = ${project.owner}
app.creator = ${author}
app.language = ES
######################################
## Directories
######################################
deploy.dir = deploy
lib.dir = libs
src.dir = src
swc.dir = libs-bin
library = /Users/bernardisa/Development/library
######################################
## Swf Properties
######################################
swf.background.color = FFFFFF
swf.framerate = 30
swf.width = 750
swf.height = 800
swf.output.main = application.swf
swf.class.main = Application.as
swf.output.content = application_content.swf
swf.class.content = ApplicationContent.as
swf.player = 10
######################################
## Swc Properties
######################################
swc.output.name = as3_lib_
swc.output.dir = deploy
swc.source = ${src.dir}
######################################
## Sdk and Framework Properties
######################################s
flex.sdk = 3.6.0.16995
flex.dir = ${library}/sdk/available/flex_sdk_v${flex.sdk}
compiler = ${flex.dir}/bin/mxmlc
compiler.swc = ${flex.dir}/bin/compc
compiler.asdoc = ${flex.dir}/bin/asdoc
framework = ${flex.dir}/frameworks
classes = ${framework}/libs
classes.player = ${classes}/player/${swf.player}/playerglobal.swc
player = ${library}/player/${swf.player}/Flash Player.app
<?xml version="1.0"?>
<project name="as3-kirika-application" default="Test" basedir="./">
<!-- Properties -->
<property file="build.properties"/>
<!-- Configuration -->
<macrodef name="using-config">
<element name="tasks" optional="no"/>
<attribute name="verboseStacktrace"/>
<sequential>
<copy file="build_sdk_${flex.sdk}.xml" tofile="flex-config.xml">
<filterset>
<filter token="flex.dir" value="${flex.dir}"/>
<filter token="app.title" value="${app.title}"/>
<filter token="app.description" value="${app.description}"/>
<filter token="app.publisher" value="${app.publisher}"/>
<filter token="app.creator" value="${app.creator}"/>
<filter token="app.language" value="${app.language}"/>
<filter token="framework" value="${framework}"/>
<filter token="classes" value="${classes}"/>
<filter token="classes.player" value="${classes.player}"/>
<filter token="classes.extlibs" value="${swc.dir}"/>
<filter token="verboseStacktrace" value="@{verboseStacktrace}"/>
</filterset>
</copy>
<tasks/>
<delete file="flex-config.xml"/>
</sequential>
</macrodef>
<!-- Build SWF -->
<macrodef name="swf-macro">
<attribute name="verboseStacktrace"/>
<attribute name="sourceFile"/>
<attribute name="outputFile"/>
<attribute name="buildDirectory"/>
<sequential>
<using-config verboseStacktrace="@{verboseStacktrace}">
<tasks>
<delete file="@{buildDirectory}/@{outputFile}"/>
<exec executable="${compiler}">
<!-- properties -->
<arg line="-default-size ${swf.width} ${swf.height}"/>
<arg line="-default-frame-rate=${swf.framerate}"/>
<arg line="-default-background-color=0x${swf.background.color}"/>
<!-- sources -->
<arg line="-load-config=flex-config.xml"/>
<arg line="-source-path=${src.dir}"/>
<arg line="-source-path+=${lib.dir}"/>
<arg line="-file-specs=${src.dir}/@{sourceFile}"/>
<!-- output -->
<arg line="-output=@{buildDirectory}/@{outputFile}"/>
</exec>
</tasks>
</using-config>
</sequential>
</macrodef>
<macrodef name="exec-macro">
<attribute name="outputFile"/>
<attribute name="buildDirectory"/>
<sequential>
<exec executable="${player}" spawn="true">
<arg line="@{buildDirectory}/@{outputFile}" />
</exec>
</sequential>
</macrodef>
<macrodef name="swc-macro">
<attribute name="verboseStacktrace"/>
<attribute name="outputFile"/>
<attribute name="buildDirectory"/>
<sequential>
<using-config verboseStacktrace="@{verboseStacktrace}">
<tasks>
<delete file="@{buildDirectory}/${swc.output.name}@{outputFile}.swc"/>
<delete file="@{buildDirectory}/${swc.output.name}@{outputFile}.xml"/>
<exec executable="${compiler.swc}">
<arg line="-debug=false"/>
<arg line="-load-config=flex-config.xml"/>
<arg line="-source-path=${swc.source}"/>
<arg line="-source-path+=${lib.dir}"/>
<arg line="-include-sources=${swc.source}"/>
<arg line="-include-sources+=${lib.dir}"/>
<arg line="-output=@{buildDirectory}/${swc.output.name}@{outputFile}.swc"/>
<arg line="-link-report=@{buildDirectory}/${swc.output.name}@{outputFile}.xml" />
</exec>
</tasks>
</using-config>
</sequential>
</macrodef>
<!-- Build SWC-CLASS -->
<macrodef name="cmp-macro">
<attribute name="verboseStacktrace"/>
<attribute name="sourceFile"/>
<attribute name="outputFile"/>
<attribute name="buildDirectory"/>
<sequential>
<using-config verboseStacktrace="@{verboseStacktrace}">
<tasks>
<delete file="@{buildDirectory}/${swc.output.name}@{outputFile}.swc"/>
<delete file="@{buildDirectory}/${swc.output.name}@{outputFile}.xml"/>
<exec executable="${compiler.swc}">
<arg line="-load-config=flex-config.xml"/>
<arg line="-include-classes=@{sourceFile}"/>
<arg line="-source-path=${swc.source}"/>
<arg line="-output=@{buildDirectory}/${swc.output.name}@{outputFile}.swc"/>
<arg line="-link-report=@{buildDirectory}/${swc.output.name}@{outputFile}.xml" />
</exec>
</tasks>
</using-config>
</sequential>
</macrodef>
<!-- Project Data -->
<target name="_header_" description="Initializes the build">
<tstamp/>
<echo message="============================================="/>
<echo message="${project.name}-${project.version} [${TODAY}]"/>
<echo message="Copyright (c) ${project.year} ${project.owner}"/>
<echo message="Author: ${author}"/>
<echo message="---------------------------------------------"/>
<echo message="OS : ${os.name}"/>
<echo message="Flex SDK : ${flex.sdk}"/>
<echo message="Flash Player : ${swf.player}"/>
<echo message="=============================================="/>
</target>
<!-- Library -->
<target name="KirikaCodeLibrary" depends="_header_" description="Build Library">
<swc-macro
verboseStacktrace="true"
outputFile="KirikaCodeApplication"
buildDirectory="${swc.output.dir}" />
</target>
<!-- CLASSES -->
<target name="ClassKCAll" description="Build Libraries"
depends="_header_,
ClassKCComponentSteps,
ClassKCConfig,
ClassKCQueueLoader">
</target>
<target name="ClassKCComponentSteps" depends="_header_" description="Build Library">
<cmp-macro verboseStacktrace="true"
sourceFile="kc.core.KCComponentSteps"
outputFile="KCComponentSteps"
buildDirectory="${swc.output.dir}" />
</target>
<target name="ClassKCConfig" depends="_header_" description="Build Library">
<cmp-macro
verboseStacktrace="true"
sourceFile="kc.core.KCConfig"
outputFile="KCConfig"
buildDirectory="${swc.output.dir}" />
</target>
<target name="ClassKCQueueLoader" depends="_header_" description="Build Library">
<cmp-macro
verboseStacktrace="true"
sourceFile="kc.core.KCQueueLoader"
outputFile="KCQueueLoader"
buildDirectory="${swc.output.dir}" />
</target>
</project>
<?xml version="1.0"?>
<flex-config>
<target-player>10.0.0</target-player>
<compiler>
<accessible>false</accessible>
<locale>
<locale-element>en_US</locale-element>
</locale>
<allow-source-path-overlap>false</allow-source-path-overlap>
<show-actionscript-warnings>true</show-actionscript-warnings>
<debug>true</debug>
<external-library-path>
<path-element>@classes.player@</path-element>
</external-library-path>
<keep-generated-actionscript>false</keep-generated-actionscript>
<library-path>
<path-element>@classes@</path-element>
<path-element>@classes.player@</path-element>
<path-element>@classes.extlibs@</path-element>
</library-path>
<namespaces>
<namespace>
<uri>http://www.adobe.com/2006/mxml</uri>
<manifest>@framework@/mxml-manifest.xml</manifest>
</namespace>
</namespaces>
<optimize>true</optimize>
<show-binding-warnings>true</show-binding-warnings>
<show-unused-type-selector-warnings>true</show-unused-type-selector-warnings>
<strict>true</strict>
<as3>true</as3>
<es>false</es>
<verbose-stacktraces>@verboseStacktrace@</verbose-stacktraces>
<fonts>
<advanced-anti-aliasing>true</advanced-anti-aliasing>
<max-cached-fonts>20</max-cached-fonts>
<max-glyphs-per-face>1000</max-glyphs-per-face>
<managers>
<manager-class>flash.fonts.JREFontManager</manager-class>
<manager-class>flash.fonts.AFEFontManager</manager-class>
<manager-class>flash.fonts.BatikFontManager</manager-class>
</managers>
</fonts>
<warn-array-tostring-changes>false</warn-array-tostring-changes>
<warn-assignment-within-conditional>true</warn-assignment-within-conditional>
<warn-bad-array-cast>true</warn-bad-array-cast>
<warn-bad-bool-assignment>true</warn-bad-bool-assignment>
<warn-bad-date-cast>true</warn-bad-date-cast>
<warn-bad-es3-type-method>true</warn-bad-es3-type-method>
<warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>
<warn-bad-nan-comparison>true</warn-bad-nan-comparison>
<warn-bad-null-assignment>true</warn-bad-null-assignment>
<warn-bad-null-comparison>true</warn-bad-null-comparison>
<warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>
<warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>
<warn-changes-in-resolve>false</warn-changes-in-resolve>
<warn-class-is-sealed>true</warn-class-is-sealed>
<warn-const-not-initialized>true</warn-const-not-initialized>
<warn-constructor-returns-value>false</warn-constructor-returns-value>
<warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>
<warn-deprecated-function-error>true</warn-deprecated-function-error>
<warn-deprecated-property-error>true</warn-deprecated-property-error>
<warn-duplicate-argument-names>true</warn-duplicate-argument-names>
<warn-duplicate-variable-def>true</warn-duplicate-variable-def>
<warn-for-var-in-changes>false</warn-for-var-in-changes>
<warn-import-hides-class>true</warn-import-hides-class>
<warn-instance-of-changes>true</warn-instance-of-changes>
<warn-internal-error>true</warn-internal-error>
<warn-level-not-supported>true</warn-level-not-supported>
<warn-missing-namespace-decl>true</warn-missing-namespace-decl>
<warn-negative-uint-literal>true</warn-negative-uint-literal>
<warn-no-constructor>false</warn-no-constructor>
<warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>
<warn-no-type-decl>true</warn-no-type-decl>
<warn-number-from-string-changes>false</warn-number-from-string-changes>
<warn-scoping-change-in-this>false</warn-scoping-change-in-this>
<warn-slow-text-field-addition>true</warn-slow-text-field-addition>
<warn-unlikely-function-value>true</warn-unlikely-function-value>
<warn-xml-class-has-changed>false</warn-xml-class-has-changed>
</compiler>
<use-network>true</use-network>
<metadata>
<title>@app.title@</title>
<description>@app.description@</description>
<publisher>@app.publisher@</publisher>
<creator>@app.creator@</creator>
<language>@app.language@</language>
</metadata>
</flex-config>
#!/bin/bash
base_path=`pwd`
mkdir -p $base_path/deploy
mkdir -p $base_path/lib
mkdir -p $base_path/lib-bin
mkdir -p $base_path/src
echo "OK!~"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment