개미를 사용하여 플래시 앱/게임을 자동화하는 예제 모음. 그것은 요리 책이나 학습 자원이기 때문에 각 예제는 가능한 한 작으며 자기 설명이어야합니다.
빌드 연속 통합을 준비하십시오!
우선 JRE (Java 런타임 환경)를 설치해야합니다. 모든 것을 확인하려면 예상대로 작동하려면 $ java 터미널에 입력하십시오.
그런 다음 http://ant.apache.org/bindownload.cgi에서 Ant를 다운로드해야합니다. 다운로드 된 .zip 파일을, ~/sdks/ant 디렉토리로 추출하고, ANT_HOME 환경 변수를이 위치로 설정하고 ANT_HOME PATH 에 추가하십시오.
${ANT_HOME}/bin (macOS) 또는 %ANT_HOME%/bin (Windows)
모든 것을 확인하려면 예상대로 작동하려면 $ ant 터미널에 입력하십시오.
MacOS를 사용하는 경우 Brew :
$ brew install ant로 Ant를 설치할 수 있습니다.
Adobe Flash Builder 4.7을 사용하는 경우 Air SDK AT /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722 (MacOS) 또는 C:Program Files (x86)AdobeAdobe Flash Builder 4.7eclipsepluginscom.adobe.flash.compiler_4.7.0.349722 찾을 수 있습니다. C:Program Files (x86)AdobeAdobe Flash Builder 4.7eclipsepluginscom.adobe.flash.compiler_4.7.0.349722 (Windows).
그렇지 않으면 http://www.adobe.com/devnet/air/air-sdk-dowload.html에서 다운로드 할 수 있습니다. ~/sdks/air 디렉토리로 추출하십시오.
Adobe Flash Builder 4.7을 사용하는 경우 <FlashBuilder_installation_location>/sdks 에서 Flex SDKS 디렉토리를 찾을 수 있습니다.
그렇지 않으면 수동으로 다운로드하여 설치해야합니다. 나는 http://www.adobe.com/devnet/flex/flex-sdk-download.html에서 다운로드 할 수있는 Adobe의 출시를 개인적으로 선호합니다. ~/sdks/flex 디렉토리로 추출하십시오. 그러나 현재 Apache가 개발 한 최신 버전의 Flex SDK를 사용하고 싶을 수도 있습니다. 그렇다면 http://flex.apache.org/installer.html을 사용하여 설치할 수 있습니다.
FLEX_HOME 환경 변수를 설정하여 PATH 에 추가해야합니다.
Application Compiler를 사용하여 ActionScript 및/또는 MXML 소스 파일에서 SWF 파일을 컴파일합니다.
구성 요소 컴파일러를 사용하여 구성 요소 소스 파일 및 이미지 및 스타일 시트와 같은 기타 자산 파일에서 SWC 파일을 생성합니다.
AMXMLC (Command Line MXML Compiler)를 사용하여 AIR 애플리케이션의 ActionScript 및 MXML 자산을 컴파일 할 수 있습니다.
컴포넌트 컴파일러 인 ACOMPC를 사용하여 공기 라이브러리 및 독립 구성 요소를 컴파일하십시오.
ASDOC는 ActionScript 클래스 및 MXML 파일에서 HTML 페이지로 API 언어 참조 문서를 작성하는 데 사용할 수있는 명령 줄 도구입니다.
Air Developer 도구는 공기 응용 프로그램을 개발하기위한 다목적 명령 줄 도구입니다. ADT를 사용하여 다음 작업을 수행 할 수 있습니다.
Air Debug Launcher를 사용하여 개발 중에 SWF 기반 및 HTML 기반 애플리케이션을 모두 실행하십시오. ADL을 사용하면 먼저 포장하고 설치하지 않고 응용 프로그램을 실행할 수 있습니다. 기본적으로 ADL은 SDK에 포함 된 런타임을 사용하므로 ADL을 사용하기 위해 런타임을 별도로 설치할 필요가 없습니다.
bin/output.swc 파일을 빌드하는 방법을 설명하는 가장 간단한 Ant Build.xml 파일 :
<? xml version = " 1.0 " ?>
< project name = " swc example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< compc output = " ${DEPLOY.dir}/output.swc " failonerror = " true " maxmemory = " 1024m " >
< source-path path-element = " ${basedir}/src " />
< include-sources dir = " ${basedir}/src " includes = " * " />
</ compc >
</ target >
</ project > 이 프로젝트에는 .swc 라이브러리가있는 libs 디렉토리가 포함되어 있습니다. 우리는 그들을 찾을 곳을 compc에게 말해야합니다.
<? xml version = " 1.0 " ?>
< project name = " swc example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< compc output = " ${DEPLOY.dir}/output.swc " failonerror = " true " maxmemory = " 1024m " >
< source-path path-element = " ${basedir}/src " />
< include-sources dir = " ${basedir}/src " includes = " * " />
< library-path dir = " ${basedir}/libs " includes = " * " append = " true " />
</ compc >
</ target >
</ project >또는 어디에나있는 .swc 파일을 지정하려면 다음과 같습니다.
<? xml version = " 1.0 " ?>
< project name = " swc example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< compc output = " ${DEPLOY.dir}/output.swc " failonerror = " true " maxmemory = " 1024m " >
< source-path path-element = " ${basedir}/src " />
< include-sources dir = " ${basedir}/src " includes = " * " />
< library-path file = " lib.swc " append = " true " />
</ compc >
</ target >
</ project >이제 우리는 사용자 정의 메타 데이터를 사용하고 있으며 컴파일 된 애플리케이션에 보관하려고합니다 (기본 동작은 응용 프로그램/라이브러리를 최대한 작게 유지하도록 제거된다는 것입니다).
<? xml version = " 1.0 " ?>
< project name = " swc example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< compc output = " ${DEPLOY.dir}/output.swc " failonerror = " true " maxmemory = " 1024m " >
< source-path path-element = " ${basedir}/src " />
< include-sources dir = " ${basedir}/src " includes = " * " />
< library-path dir = " ${basedir}/libs " includes = " * " append = " true " />
< keep-as3-metadata name = " Inject " />
< keep-as3-metadata name = " PostConstruct " />
< keep-as3-metadata name = " ArrayElementType " />
</ compc >
</ target >
</ project >< compc ... target-player = " 11.4 " swf-version = " 17 " /> FLEX_HOME/frameworks/libs/player/<target-version>/playerglobal.swc 및 ${FLEX_HOME}/runtimes/player/<target-version>/.../FlashPlayerDebugger 있는지 확인하는 것을 잊지 마십시오. http://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html에서 출시 된 모든 버전의 PlayerGlobal.swc 및 Flash Player Debuggers를 찾을 수 있습니다.
| SWF-Version | 대상 플레이어 |
|---|---|
| 9 | 9 |
| 10 | 10.0, 10.1 |
| 11 | 10.2 |
| 12 | 10.3 |
| 13 | 11.0 |
| 14 | 11.1 |
| 15 | 11.2 |
| 16 | 11.3 |
| 17 | 11.4 |
| 18 | 11.5 |
| 19 | 11.6 |
| 20 | 11.7 |
| 21 | 11.8 |
| 22 | 11.9 |
| 23 | 12.0 |
| 24 | 13.0 |
| 25 | 14.0 |
| 26 | 15.0 |
| 27 | 16.0 |
COMPC 옵션을 살펴 보겠습니다. 보다 자세한 정보가 입증 된 경우 구성, 크기 보고서 및 링크 보고서를 덤프 할 수 있습니다.
< compc ... dump-config = " ${DEPLOY.dir}/config.xml " size-report = " ${DEPLOY.dir}/sizereport.xml " link-report = " ${DEPLOY.dir}/linkreport.xml " >경고를 비활성화하려면 :
< compc ... warnings = " false " >많은 응용 프로그램/라이브러리를 구축하는 경우 메모리를 소진 할 수 있습니다. 매우 유용한 포크 옵션은 True로 설정되며, 특히 MaxMemory가 적어도 하나의 공연으로 설정된 모든 것을 해결해야합니다.
< compc ... fork = " true " > bin/output.swf 파일을 빌드하는 방법을 설명하는 가장 간단한 Ant Build.xml 파일 :
<? xml version = " 1.0 " ?>
< project name = " swf example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< mxmlc file = " ${basedir}/src/Main.mxml " output = " ${DEPLOY.dir}/output.swf " failonerror = " true " maxmemory = " 1024m " >
< source-path path-element = " ${basedir}/src " />
</ mxmlc >
</ target >
</ project >MXMLC 컴파일러는 COMPC 컴파일러와 거의 동일한 옵션을 제공합니다. Building SWC 섹션에 설명 된 각 예제는 MXMLC 명령으로 쉽게 변경할 수 있습니다. 예제 1을 예제 9와 비교하면 볼 수 있습니다.
bin/output.swf 파일을 빌드하는 방법을 설명하는 가장 간단한 Ant Build.xml 파일 :
<? xml version = " 1.0 " ?>
< project name = " swf example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< mxmlc
file= " ${basedir}/src/Main.as "
output= " ${DEPLOY.dir}/output.swf "
static-link-runtime-shared-libraries= " true "
failonerror= " true "
maxmemory= " 1024m " >
< source-path path-element = " ${basedir}/src " />
< source-path path-element = " ${FLEX_HOME}/frameworks " />
</ mxmlc >
</ target >
</ project >MXMLC 컴파일러는 COMPC 컴파일러와 거의 동일한 옵션을 제공합니다. Building SWC 섹션에 설명 된 각 예제는 MXMLC 명령으로 쉽게 변경할 수 있습니다. 예 1을 예제 10과 비교하면 볼 수 있습니다.
bin/output.swf 파일을 빌드하는 방법을 설명하는 가장 간단한 Ant Build.xml 파일 :
<? xml version = " 1.0 " ?>
< project name = " swf example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< target name = " main " depends = " clean, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
</ target >
< target name = " compile " >
< mxmlc file = " ${basedir}/src/Main.as " output = " ${DEPLOY.dir>/output.swf " configname = " air " failonerror = " true " >
< library-path dir = " ${FLEX_HOME} " append = " true " >
< include name = " frameworks/libs " />
</ library-path >
< library-path dir = " ${FLEX_HOME} " append = " true " >
< include name = " frameworks/libs/air " />
</ library-path >
</ mxmlc >
</ target >
</ project >MXMLC 컴파일러는 COMPC 컴파일러와 거의 동일한 옵션을 제공합니다. Building SWC 섹션에 설명 된 각 예제는 MXMLC 명령으로 쉽게 변경할 수 있습니다. 예제 1을 예제 11과 비교하면 볼 수 있습니다.
빠른 다운로드 링크 : Apache FlexUnit 4.2, FlexUnit 4.1
FlexUnitCore인스턴스에CIListener추가하는 것을 잊지 마십시오.
<? xml version = " 1.0 " ?>
< project name = " swf example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< taskdef resource = " flexUnitTasks.tasks " >
< classpath >
< fileset dir = " <path_to_flex_unit_ant_tasks_dir> " >
< include name = " flexUnitTasks*.jar " />
</ fileset >
</ classpath >
</ taskdef >
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< property name = " TESTS.dir " value = " ${basedir}/tests-output " />
< target name = " main " depends = " clean, tests, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
< delete dir = " ${TESTS.dir} " />
< mkdir dir = " ${TESTS.dir} " />
</ target >
< target name = " tests " >
< mxmlc file = " ${basedir}/src/tests.mxml " output = " ${TESTS.dir}/tests.swf " failonerror = " true " verbose-stacktraces = " true " >
< source-path path-element = " ${basedir}/src " />
< library-path dir = " ${basedir}/libs " includes = " * " append = " true " />
</ mxmlc >
< flexunit
swf= " ${TESTS.dir}/tests.swf "
toDir= " ${TESTS.dir} "
haltonfailure= " false " failureproperty = " flexunit.failure "
verbose= " true "
localTrusted= " true "
command= " ${FLEX_HOME}/runtimes/player/11.4/win/FlashPlayerDebugger.exe " />
< junitreport todir = " ${TESTS.dir} " >
< fileset dir = " ${TESTS.dir} " >
< include name = " TEST-*.xml " />
</ fileset >
< report format = " frames " todir = " ${TESTS.dir}/html " />
</ junitreport >
</ target >
< target name = " compile " >
< mxmlc file = " ${basedir}/src/Main.mxml " output = " ${DEPLOY.dir}/output.swf " failonerror = " true " maxmemory = " 1024m " >
< source-path path-element = " ${basedir}/src " />
</ mxmlc >
</ target >
</ project >
FlexUnitCore인스턴스에AIRCIListener추가하는 것을 잊지 마십시오.
<? xml version = " 1.0 " ?>
< project name = " swf example " default = " main " basedir = " . " >
< taskdef resource = " flexTasks.tasks " classpath = " ${FLEX_HOME}/ant " />
< taskdef resource = " flexUnitTasks.tasks " >
< classpath >
< fileset dir = " <path_to_flex_unit_ant_tasks_dir> " >
< include name = " flexUnitTasks*.jar " />
</ fileset >
</ classpath >
</ taskdef >
< property name = " DEPLOY.dir " value = " ${basedir}/bin " />
< property name = " TESTS.dir " value = " ${basedir}/tests-output " />
< target name = " main " depends = " clean, tests, compile " />
< target name = " clean " >
< delete dir = " ${DEPLOY.dir} " />
< mkdir dir = " ${DEPLOY.dir} " />
< delete dir = " ${TESTS.dir} " />
< mkdir dir = " ${TESTS.dir} " />
</ target >
< target name = " test " >
< mxmlc file = " ${basedir}/src/tests.as " output = " ${TESTS.dir}/tests.swf " configname = " air " failonerror = " true " verbose-stacktraces = " true " >
< library-path dir = " ${basedir}/libs " includes= " * " append= " true " />
< library-path dir = " ${FLEX_HOME} " append= " true " >
< include name = " frameworks/libs " />
</ library-path >
< library-path dir = " ${FLEX_HOME} " append = " true " >
< include name = " frameworks/libs/air " />
</ library-path >
</ mxmlc >
< copy file = " ${basedir}/src/tests-app.xml " todir = " ${TESTS.dir} " overwrite = " true " />
< replace file = " ${TESTS.dir}/tests-app.xml " token = " [This value will be overwritten by Flash Builder in the output app.xml] " value = " tests.swf " />
< flexunit
player= " air "
swf= " ${TESTS.dir}/tests.swf "
toDir= " ${TESTS.dir} "
haltonfailure= " false " failureproperty = " flexunit.failure "
verbose= " true " />
< junitreport todir = " ${TESTS.dir} " >
< fileset dir = " ${TESTS.dir} " >
< include name = " TEST-*.xml " />
</ fileset >
< report format = " frames " todir = " ${TESTS.dir}/html " />
</ junitreport >
</ target >
< target name = " compile " >
< mxmlc file = " ${basedir}/src/Main.as " output = " ${DEPLOY.dir>/output.swf " configname = " air " failonerror = " true " >
< library-path dir = " ${FLEX_HOME} " append = " true " >
< include name = " frameworks/libs " />
</ library-path >
< library-path dir = " ${FLEX_HOME} " append = " true " >
< include name = " frameworks/libs/air " />
</ library-path >
</ mxmlc >
</ target >
</ project >...
< target name = " pack " >
< copy file = " ${basedir}/src/swf2png-app.xml " todir = " ${DEPLOY.dir} " overwrite = " true " />
< replace file = " ${DEPLOY.dir}/swf2png-app.xml " token = " [This value will be overwritten by Flash Builder in the output app.xml] " value = " swf2png.swf " />
< exec executable = " ${FLEX_HOME}/bin/adt.bat " failonerror = " true " >
< arg line = " -package " />
< arg line = " -storetype pkcs12 " />
< arg line = " -keystore ${basedir}/certificate.p12 " />
< arg line = " -storepass <password> " />
< arg line = " ${DEPLOY.dir}/swf2png.air " />
< arg line = " ${DEPLOY.dir}/swf2png-app.xml " />
< arg line = " -C ${DEPLOY.dir} swf2png.swf " />
</ exec >
</ target >
...ASDOC를 임시 DIR로 생성하고 .swc 파일을 업데이트하십시오.
...
< target name = " asdoc " >
< tempfile property = " temp.dir " destDir = " ${java.io.tmpdir} " prefix = " ${ant.project.name}-doc-xml- " />
< asdoc output = " ${temp.dir} " lenient = " true " failonerror = " true " keep-xml = " true " skip-xsl = " true " fork = " true " >
< compiler .source-path path-element = " ${basedir}/src " />
< doc-sources path-element = " ${basedir}/src " />
</ asdoc >
< zip destfile = " ${DEPLOY.dir}/${ant.project.name}.swc " update = " true " >
< zipfileset dir = " ${temp.dir}/tempdita " prefix = " docs " >
< include name = " *.* " />
< exclude name = " ASDoc_Config.xml " />
< exclude name = " overviews.xml " />
</ zipfileset >
</ zip >
< delete dir = " ${temp.dir} " failonerror = " false " includeEmptyDirs = " true " />
</ target >
...FlexPMD는 소스 코드 분석기입니다. 사용하지 않는 변수, 빈 캐치 블록, 불필요한 객체 생성 등과 같은 일반적인 프로그래밍 결함을 발견합니다.
pmd_ruleset.xml 을 생성하려면 온라인 PMD Ruleset Creator를 사용하십시오.
빠른 다운로드 링크 : Adobe FlexPMD 1.3
...
< property name = " FLEXPMD.dir " value = " ~/sdks/flexpmd " />
< property name = " FLEXPMD.version " value = " 1.3 " />
< taskdef name = " flexPmd "
classname = " com.adobe.ac.pmd.ant.FlexPmdAntTask "
classpath = " ${FLEXPMD.dir}/flex-pmd-ant-task-${FLEXPMD.version}.jar " >
< classpath >
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-ruleset-api-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-ruleset-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-core-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/as3-plugin-utils-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/as3-parser-api-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/as3-parser-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/pmd-4.2.5.jar " />
< pathelement location = " ${FLEXPMD.dir}/commons-lang-2.4.jar " />
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-files-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-metrics-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/plexus-utils-1.0.2.jar " />
< pathelement location = " ${flexpmd.libs}/dom4j-1.6.1.jar " />
</ classpath >
</ taskdef >
< taskdef name = " flexCpd "
classname = " com.adobe.ac.cpd.ant.FlexCpdAntTask "
classpath = " ${FLEXPMD.dir}/flex-pmd-cpd-ant-task-${FLEXPMD.version}.jar " >
< classpath >
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-files-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/flex-pmd-cpd-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/as3-plugin-utils-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/as3-parser-api-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/as3-parser-${FLEXPMD.version}.jar " />
< pathelement location = " ${FLEXPMD.dir}/pmd-4.2.5.jar " />
</ classpath >
</ taskdef >
...
< target name = " flexPmd " >
< flexPmd
sourceDirectory = " ${basedir} "
outputDirectory = " ${DEPLOY.dir} "
ruleSet = " ${basedir}/pmd_ruleset.xml " />
</ target >
< target name = " flexCpd " >
< flexCpd
minimumTokenCount = " 50 "
outputFile = " ${DEPLOY.dir}/cpd.xml " >
< fileset dir = " ${basedir} " >
< include name = " **/*.as " />
< include name = " **/*.mxml " />
< exclude name = " vendor/** " />
</ fileset >
</ flexCpd >
</ target >
... 예제 15에서 볼 수 있듯이 ${ant.project.name} 사용하여 자신을 반복하지 마십시오. ASDOC 생성.
CI 머신에서 FlexUnit 테스트를 실행하고 모든 테스트가 실패하면 빌드가 끝납니다. 그러나 보고서 생성 전에 끝나기 때문에 통계를 업데이트 할 수 없으며 어떤 테스트가 실패하고 그 이유를 알지 못합니다. 따라서 FlexUnit Task는 failureproperty 제공합니다.
...
< target name = " test " >
< mxmlc file = " ${basedir}/src/tests.mxml " output = " ${TESTS.dir}/tests.swf " failonerror = " true " verbose-stacktraces = " true " >
< source-path path-element = " ${basedir}/src " />
< library-path dir = " ${basedir}/libs " includes = " * " append = " true " />
</ mxmlc >
< flexunit
swf= " ${TESTS.dir}/tests.swf "
toDir= " ${TESTS.dir} "
haltonfailure= " false " failureproperty = " flexunit.failure "
verbose= " true "
localTrusted= " true "
command= " ${FLEX_HOME}/runtimes/player/11.4/win/FlashPlayerDebugger.exe " />
< junitreport todir = " ${TESTS.dir} " >
< fileset dir = " ${TESTS.dir} " >
< include name = " TEST-*.xml " />
</ fileset >
< report format = " frames " todir = " ${TESTS.dir}/html " />
</ junitreport >
< fail if = " flexunit.failure " message = " Unit test(s) failed. See reports! " />
</ target >
...이 작업은 Creative Commons Attribution-Nonmercial 4.0 International License에 따라 라이센스가 부여됩니다.