Hello Martin, Is there anything that you've changed in the flexconfig.xml? I am also using the same Flex ANT Tasks and the latest Flex ANT Libraries. I haven't changed anything in the flexconfig file. I just copied the flexTasks.jar in my ANT_HOME/lib. So, I dont need to use a classpath to find the mxmlc task. Following is my build file to compile all the mxml files in a directory structure. It works for me. You may skip the ant-contrib part, i.e the for loops.
/*** Start my build file ****/ <project name="mybuild" default="build" basedir="."> <target name="build"> <taskdef resource="flexTasks.tasks" /> <taskdef resource="net/sf/antcontrib/antlib.xml"/> <property name="FLEX_HOME" value="C:\Program Files\Adobe\Flex Builder 2\Flex SDK 2"/> <property name="APP_ROOT" value="${basedir}"/> <for param="files"> <fileset dir="${APP_ROOT}\src"> <include name="**/*.mxml"/> </fileset> <sequential> <for list="en_US,fr_FR" param="locale"> <sequential> <mxmlc file="@{files}" keep-generated-actionscript="false"> <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> <source-path path-element="${FLEX_HOME}/frameworks"/> <!-- This defines where the locale classpath needs to be --> <compiler.source-pathpath-element="[EMAIL PROTECTED]"/> </mxmlc> <mkdir dir="[EMAIL PROTECTED]"/> <move todir="[EMAIL PROTECTED]"> <fileset dir="${APP_ROOT}\src"> <include name="**\*.swf"/> </fileset> </move> </sequential> </for> </sequential> </for> </target> </project> /*** End of mybuild file ****/ All I need to do to run this is just say ant at the command prompt. I hope it helps. Varun Bhambri On 6/13/07, Martin Gainty <[EMAIL PROTECTED]> wrote:
Good Evening All Just started to use this package and cant get FLEX_HOME to set or mxlmc to execute properly /********attached mySimpleBuild.xml************/ <?xml version="1.0" encoding="utf-8"?> <!-- mySimpleBuild.xml --> <project name="My App Builder" basedir="."> <taskdef resource="flexTasks.tasks" classpath="C:/ANT/flexTasks/lib/flexTasks.jar" /> <property name="FLEX_HOME" value="C:/CFusion/CFUSIO~1/wwwroot/WEB-INF/cfform"/> <property name="APP_ROOT" value="myApp"/> <target name="main"> <mxmlc file="${APP_ROOT}/Main.mxml" keep-generated-actionscript="true"> <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> <source-path path-element="${FLEX_HOME}/frameworks"/> </mxmlc> </target> </project> /******************end mySimpleBuild.xml***************/ /******************START flex-config.xml*********************/ <?xml version="1.0" encoding="UTF-8"?> <flex-config xmlns="http://www.macromedia.com/2003/flex-config"> <!-- When production-mode is true: all debugging options are set to false and compiler dependency check is turned off so apps will not automatically be recompiled when source files are modified. --> <production-mode>false</production-mode> <!-- When production-mode=true, the debugging options are always false and may not be set. --> <debugging> <!-- allow override of values in debugging section via query parameter on a per-request basis, if applicable --> <process-debug-query-params>true</process-debug-query-params> <!-- generate swfs and swds for debugging --> <!-- query parameter override - ?debug=true/?debug=false --> <generate-debug-swfs>false</generate-debug-swfs> <!-- generate swfs and swfs for profiling --> <!-- query parameter override - ?asprofile=true/?asprofile=false --> <generate-profile-swfs>false</generate-profile-swfs> <!-- write xxx-generated.as file to disk --> <!-- These files are generated by the compiler during mxml translation. --> <keep-generated-as>false</keep-generated-as> <!-- write generated swfs/swds to disk --> <keep-generated-swfs>false</keep-generated-swfs> <!-- show all compiler warnings --> <!-- query parameter override - ?showAllWarnings=true/?showAllWarnings=false --> <show-all-warnings>false</show-all-warnings> <!-- When show-all-warnings is true, this value controls whether or not compiler override warnings are shown. When show-all-warnings is false, this value will have no effect. --> <show-override-warnings>true</show-override-warnings> <!-- Controls whether warnings are displayed when a deprecated API is used. --> <show-deprecation-warnings>false</show-deprecation-warnings> <!-- When show-all-warnings is true, this value controls whether or not binding warnings are shown. When show-all-warnings is false, this value will have no effect. --> <!-- query parameter override - ?showBindingWarnings=true/?showBindingWarnings=false --> <show-binding-warnings>true</show-binding-warnings> <!-- turn on debug to see the request and response on the server side as well as debug information in client side tracing --> <web-service-proxy-debug>false</web-service-proxy-debug> <!-- turn on debug to see the request and response on the server side --> <http-service-proxy-debug>false</http-service-proxy-debug> <!-- turn on debug to see the request and response on the server side as well as debug information in client side tracing --> <remote-objects-debug>false</remote-objects-debug> <!-- display stack traces in browser error messages --> <show-stacktraces-in-browser>false</show-stacktraces-in-browser> <!-- if true, source code context lines will be shown in the error pages --> <show-source-in-compiler-errors>false</show-source-in-compiler-errors> <!-- if true, compiler errors are logged to the Logger as errors --> <log-compiler-errors>true</log-compiler-errors> <!-- generate an xml file in the application directory summarizing compile options and symbol dependencies --> <create-compile-report>false</create-compile-report> </debugging> <compiler> <!-- locations may be specified as a URL relative to the context root, a complete URL or an absolute file path --> <!-- location of global stylesheet --> <global-css-url>/WEB-INF/cfform/global.css</global-css-url> <!-- generate accessible swfs --> <!-- query parameter override - ?accessible=true/?accessible is false; this override is always available --> <accessible>false</accessible> <!-- the password to include in debuggable swfs --> <!-- default is empty-string password --> <debug-swf-password></debug-swf-password> <!-- generate an optimized swfs; This option is ignored when a debug or profile swf is generated --> <optimize>true</optimize> <!-- resolve the specified namespaces to their component definition file --> <namespaces> <namespace uri="http://www.macromedia.com/2003/mxml"> <manifest>/WEB-INF/cfform/mxml-manifest.xml</manifest> </namespace> </namespaces> <!-- path locations of actionscript class files --> <actionscript-classpath> </actionscript-classpath> <!-- the location of the standard Flex instrinsics --> <!-- This value should not be modified unless you have changed the location of this standard Flex directory. --> <system-classes>/WEB-INF/cfform/system_classes</system-classes> <!-- path locations of component libraries, including swcs, mxml, and as components --> <!-- Note: all SWCs found in the lib-path are merged together and resolved via priority and version. The order is ignored. --> <!-- the standard Flex frameworks library should not be removed --> <lib-path> <path-element>/WEB-INF/cfform/frameworks</path-element> </lib-path> <!-- path locations of the debug version of component libraries, including swcs, mxml, and as components --> <!-- Note: debug SWCs are ignored unless the debug flag is set during compilation. When the debug flag is set, these libraries will be merged with the regular libraries, but at a higher priority level. Mixing old debug libraries with new standard libraries would thus be a Bad Idea. --> <!-- the standard Flex frameworks library should not be removed --> <debug-lib-path> <path-element>/WEB-INF/cfform/frameworks_debug</path-element> </debug-lib-path> <!-- When headless-server is true, the system property java.awt.headless will be set to true. This should be used with JDK 1.4+ on servers without graphics cards and monitors. Otherwise, the property is not set. --> <headless-server>false</headless-server> </compiler> <cache> <!-- cache compiled custom components as swo files --> <cache-swos>true</cache-swos> <!-- content cache for dynamically generated SWF, SWD, and HTML --> <content-size>500</content-size> <!-- source cache for dynamically generated MXML (from JSP) --> <mxml-size>500</mxml-size> <!-- force a check for validation of page freshness every XX seconds --> <http-maximum-age>1</http-maximum-age> <!-- check for changes to dependent files on disk every XX seconds --> <!-- when production-mode is true, the file watcher runs once at startup --> <file-watcher-interval>1</file-watcher-interval> </cache> <flash-player> <!-- enable/disable player detection --> <enable>true</enable> <!-- require 7.0.14 --> <!-- required player version --> <required-version>7</required-version> <!-- 'dot' release of the required player --> <required-major-revision>0</required-major-revision> <!-- minor revision number of the required player --> <required-minor-revision>14</required-minor-revision> <!-- auto-install the player on windows and ie-only --> <!-- When windows-auto-install is true, IE will attempt to download the ActiveX player without user intervention. When false, the user is directed to the download url for upgrade. --> <windows-auto-install>true</windows-auto-install> <!-- player upgrade page - users without the required Flash version will be directed here --> <download-url>{context.root }/cfform-internal/detection-kit/upgrade_flash/upgrade_flash.html</download-url> <download-https-url>{context.root }/cfform-internal/secure/detection-kit/upgrade_flash/upgrade_flash.html</download-https-url> <!-- activex upgrade page - the location for downloading the ActiveX player--> <activex-download-url> http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab </activex-download-url> <activex-download-https-url> https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab </activex-download-https-url> <!-- plugin upgrade page - the location for downloading the Plugin version of the player --> <plugin-download-url>http://www.macromedia.com/go/getflashplayer </plugin-download-url> <plugin-download-https-url> https://www.macromedia.com/go/getflashplayer</plugin-download-https-url> </flash-player> <web-service-proxy> <!-- all locations may be specified as a URL relative to the web server document root, or a complete http URL; to specify relative to the context root, please include {context.root} NOTE: do not use a leading slash with {context.root} --> <!-- determine whether the proxy is used or bypassed. client - up to the client via the useProxy attribute on the WebService, if unspecified will use the proxy always - always use the proxy, useProxy='false' on the WebService will generate a Warning never - never use the proxy, useProxy='true' on WebService will generate a Warning --> <proxy-use-policy>client</proxy-use-policy> <!-- the web service proxy to use when calling a page over http or --> <!-- when protocol is specified as http --> <url>{context.root}/flashproxy</url> <!-- the web service proxy to use when calling a page over https or --> <!-- when protocol is specified as https --> <https-url>{context.root}/flashproxy</https-url> <!-- use proxy specified via flashvars or query parameter ?proxyURL=XXX --> <allow-url-override>false</allow-url-override> <!-- the external http proxy that all requests should go through. --> <!-- location is the servername and port to use as the http roxy. --> <!-- username and password should only be specified when basic --> <!-- authentication is being used for security on the proxy. --> <!-- nt-domain should only be specified (along with username and password) --> <!-- if NTLM authentication is being used on the proxy. --> <!-- <external-proxy> --> <!-- <location>server:8080</location> --> <!-- <username>username</username> --> <!-- <password>pwd</password> --> <!-- <nt-domain>domain</nt-domain> --> <!-- </external-proxy> --> <!-- Use a pooled connection manager that allows the given number of --> <!-- connections. The default is 50. Specify 0 to turn off this feature --> <!-- <max-connections>50</max-connections> --> <!-- Whether to accept self-signed certificates. Dangerous in production --> <allow-lax-ssl>false</allow-lax-ssl> <!-- a list of urls accessible via this web service proxy --> <!-- the {localserver} token may be added in place of actual host and port number to ensure that services created with relative URLs are allowed --> <whitelist> <!-- config for unnamed web services --> <unnamed> <url></url> <!-- For security, the whitelist is locked down by default. Uncomment the first two urls below to enable access to all URLs, or the last two urls to enable access to the local server, or add above the individual URLs you wish to access. <url>http://*</url> <url>https://*</url> <url>http://{localserver}/*</url> <url>https://{localserver}/*</url> --> </unnamed> <!-- config for named web services --> <!-- <named> --> <!-- define a web service which may be referenced by name from mxml --> <!-- <service name="service"> --> <!-- enables use of custom fault code on the client for handling authentication failures --> <!-- <use-custom-authentication>false</use-custom-authentication> --> <!-- wsdl location for the named service --> <!-- <wsdl>http://localhost:8100/flex/flex-proxy/servicename?wsdl</wsdl> --> <!-- endpoints for the named web service --> <!-- <endpoints> --> <!-- actual url to use when accessing the named web service --> <!-- <endpoint>http://localhost:8100/flex/flex-proxy/servicename</endpoint> --> <!-- </endpoints> --> <!-- user-name and password to use when accessing this web service --> <!-- <run-as user="user" password="pwd"/> --> <!-- Adds the service's wsdl and endpoints to the unnamed whitelist. If false, these can never be used unnamed --> <!-- This should be set to false if using web application security with this named service --> <!-- <allow-unnamed-access>true</allow-unnamed-access> --> <!-- </service> --> <!-- </named> --> </whitelist> </web-service-proxy> <http-service-proxy> <!-- determine whether the proxy is used or bypassed. client - up to the client via the useProxy attribute on the HTTPService, if unspecified will use the proxy always - always use the proxy, useProxy='false' on the HTTPService will generate a Warning never - never use the proxy, useProxy='true' on HTTPService will generate a Warning --> <proxy-use-policy>client</proxy-use-policy> <!-- all locations may be specified as a URL relative to the web server document root, or a complete http URL; to specify relative to the context root, please include {context.root} NOTE: do not use a leading slash with {context.root} --> <!-- the http service proxy to use when calling a page over http or --> <!-- when protocol is specified as http --> <url>{context.root}/flashproxy</url> <!-- the http service proxy to use when calling a page over https or --> <!-- when protocol is specified as https --> <https-url>{context.root}/flashproxy</https-url> <!-- use proxy specified via flashvars or query parameter ?proxyURL=XXX --> <allow-url-override>false</allow-url-override> <!-- the external http proxy that all requests should go through. --> <!-- location is the servername and port to use as the http roxy. --> <!-- username and password should only be specified when basic --> <!-- authentication is being used for security on the proxy. --> <!-- nt-domain should only be specified (along with username and password) --> <!-- if NTLM authentication is being used on the proxy. --> <!-- <external-proxy> --> <!-- <location>server:8080</location> --> <!-- <username>username</username> --> <!-- <password>pwd</password> --> <!-- <nt-domain>domain</nt-domain> --> <!-- </external-proxy> --> <!-- Use a pooled connection manager that allows the given number of --> <!-- connections. The default is 50. Specify 0 to turn off this feature --> <!-- <max-connections>50</max-connections> --> <!-- Whether to accept self-signed certificates. Dangerous in production --> <allow-lax-ssl>false</allow-lax-ssl> <!-- a list of urls accessible via this http service proxy --> <!-- the {localserver} token may be added in place of actual host and port number to ensure that services created with relative URLs are allowed --> <whitelist> <!-- whitelist config for unnamed services --> <unnamed> <url></url> <!-- For security, the whitelist is locked down by default. Uncomment the first two urls below to enable access to all URLs, or the last two urls to enable access to the local server, or add above the individual URLs you wish to access. <url>http://*</url> <url>https://*</url> <url>http://{localserver}/*</url> <url>https://{localserver}/*</url> --> </unnamed> <!-- whitelist config for named http services --> <!-- <named> --> <!-- define an http service which may be referenced by name from mxml --> <!-- <service name="service"> --> <!-- enables use of custom fault code on the client for handling authentication failures --> <!-- <use-custom-authentication>false</use-custom-authentication> --> <!-- actual url to use when accessing the named http service --> <!-- <url>http://localhost:8100/flex/servicename</url> --> <!-- user-name and password to use when accessing this http service --> <!-- <run-as user="user" password="pwd"/> --> <!-- Adds the service's url to the unnamed whitelist. If false, these can never be used unnamed --> <!-- This should be set to false if using web application security with this named service --> <!-- <allow-unnamed-access>true</allow-unnamed-access> --> <!-- </service> --> <!-- </named> --> </whitelist> </http-service-proxy> <remote-objects> <!-- all locations may be specified as a URL relative to the web server document root, or a complete http URL; to specify relative to the context root, please include {context.root} NOTE: do not use a leading slash with {context.root} --> <!-- The location of the AMF Gateway. The value below is used when calling a page over http or when protocol is specified as http --> <amf-gateway>{context.root}/amfgateway</amf-gateway> <!-- The location of the AMF Gateway to use when calling a page over https or when protocol is specified as https --> <amf-https-gateway>{context.root}/amfgateway</amf-https-gateway> <!-- use proxy specified via flashvars or query parameter ?remoteURL=XXX --> <allow-url-override>false</allow-url-override> <!-- a list of urls accessible via this remote objects proxy --> <whitelist> <!-- whitelist config for unnamed objects --> <unnamed> <source></source> <!-- For security, the whitelist is ALL by default. Uncomment the source element below to enable access to all classes during development. We strongly recommend not allowing access to all source files in production, since this exposes Java and Flex system classes. <source>*</source> --> </unnamed> <!-- whitelist config for named objects --> <named> <!-- define a remote objects which may be referenced by name from mxml --> <object name="OrderBusinessDelegate"> <source>com.meagle.flexro.FlexBusinessDelegate</source> <type>stateless-class</type> <use-custom-authentication>true</use-custom-authentication> <allow-unnamed-access>false</allow-unnamed-access> <roles> <role>OrderUser</role> <role>Admin</role> </roles> </object> </named> </whitelist> </remote-objects> <logging> <!-- level of logging - error, warn, info, debug --> <level>info</level> <!-- console messages are logged to System.out --> <console> <!-- enable/disable console logging --> <enable>true</enable> </console> <!-- file messages are logged to the specified file name --> <file> <!-- enable/disable file logging --> <enable>true</enable> <!-- log file location --> <!-- location may be an absolute path --> <!-- or, location may start with '/' and specify a virtual path which can be resolved by the getRealPath method of the ServletContext --> <file-name>/WEB-INF/cfform/logs/flex.log</file-name> <!-- maximum log file size --> <maximum-size>200KB</maximum-size> <!-- maximum number of backup log files to maintain --> <maximum-backups>3</maximum-backups> </file> </logging> <!-- Font caching significantly improves embedded font generation times and exists for the life of the server --> <fonts> <!-- Maximum number of fonts to keep in the cache --> <max-cached-fonts>20</max-cached-fonts> <!-- Controls the maximum number of character glyph-outlines to cache for each font face --> <max-glyphs-per-face>1000</max-glyphs-per-face> <managers> <manager-class>macromedia.fonts.JREFontManager</manager-class> <!-- <manager-class>macromedia.fonts.BatikFontManager</manager-class> --> </managers> <languages> <!-- Defines a range of unicode settings for a particular language - this is used to determine which characters from a font will be embedded in a swf --> <!-- The flash-unicode-table.xml file (in this directory) can be used as a reference for the Flash MX 2004 UnicodeTable.xml character ranges - you can copy the desired character mappings to this file and use them in your CSS @font-face rules --> <language-range> <lang>en</lang> <range>U+0020-U+007E</range> </language-range> </languages> </fonts> </flex-config> /*******************END flex-config.xml*****************/ Now Here is the invocation.......... C:\flexTasks>ant -lib c:/ANT/apache-ant-1.6.5/lib/flexTasks.jar -buildfile mySimpleBuild.xml main Buildfile: mySimpleBuild.xml main: [mxmlc] Warning: FLEX_HOME does not exist [mxmlc] Warning: FLEX_HOME does not exist BUILD FAILED C:\flexTasks\mySimpleBuild.xml:8: Command not found: mxmlc Total time: 0 seconds Any ideas? M-- This email message and any files transmitted with it contain confidential information intended only for the person(s) to whom this email message is addressed. If you have received this email message in error, please notify the sender immediately by telephone or email and destroy the original message without making a copy. Thank you.