2013-08-29 6 views
0

지난 2 일 동안, 저는 FlexUnit, FlexMojos 및 Mockolate를 함께 사용하여 TeamCity에서 테스트를 실행할 수있게하려고 노력해 왔지만 운이 좋지 않았습니다.Flexunit, FlexMojos 및 Mockolate를 함께 작동시키는 방법은 무엇입니까?

현재 Teamcity에서 FlexMojos를 사용하는 프로젝트가 하나 있는데 FlexMojos-flexunit이 작동하지만 프로젝트는 Mockolate를 사용하지 않습니다.

그 프로젝트의 POM은 다음과 같습니다 : 그것은 잘 작동

<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>CENSOREDt</groupId> 
<artifactId>CENSORED</artifactId> 
<version>CENSORED</version> 
<name>CENSORED</name> 

<packaging>swc</packaging> 

<properties> 
    <flex.version>4.1.0.16248</flex.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <sonar.language>flex</sonar.language> 
    <sonar.dynamicanalysis>false</sonar.dynamicanalysis> 
</properties> 

<dependencies> 
    <dependency> 
    CENSORED 
    <dependency> 
     <groupId>org.puremvc.as3</groupId> 
     <artifactId>PureMVC_AS3</artifactId> 
     <version>2.0.4</version> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe</groupId> 
     <artifactId>componentsFlashIDE</artifactId> 
     <type>swc</type> 
     <version>0.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>fl</groupId> 
     <artifactId>components</artifactId> 
     <version>1.0</version> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>com.greensock</groupId> 
     <artifactId>greensock</artifactId> 
     <version>v11</version> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>caurina.transitions</groupId> 
     <artifactId>Tweener</artifactId> 
     <version>1.2</version> 
     <type>swc</type> 
    </dependency> 
    <!-- test-scope dependencies: --> 
    <dependency> 
     <groupId>org.sonatype.flexmojos</groupId> 
     <artifactId>flexmojos-unittest-flexunit4</artifactId> 
     <version>4.1-beta</version> 
     <type>swc</type> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>com.adobe.flex.framework</groupId> 
       <artifactId>playerglobal</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.adobe.flex.framework</groupId> 
       <artifactId>airframework</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-as3</artifactId> 
     <version>1.1</version> 
     <type>swc</type> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 
<repositories> 
    <repository> 
     <id>artifactory-libs</id> 
     <name>artifactory-libs-release</name> 
     <url>http://artifactory/artifactory/libs-release-local</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>artifactory-snapshots</id> 
     <name>artifactory-libs-snapshots</name> 
     <url>http://artifactory/artifactory/libs-snapshot-local</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>artifactory-ext</id> 
     <name>artifactory-ext-release</name> 
     <url>http://artifactory/artifactory/ext-release-local</url> 
    </repository> 
    <repository> 
     <id>flex-mojos-repository</id> 
     <name>flex-mojos-repository</name> 
     <url>http://repository.sonatype.org/content/groups/flexgroup</url> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <id>flex-mojos-plugin-repository</id> 
     <url>http://repository.sonatype.org/content/groups/flexgroup</url> 
    </pluginRepository> 
    <pluginRepository> 
     <id>flexpmd.opensource.adobe</id> 
     <name>FlexPMD repository on opensource.adobe.com</name> 
     <url>http://opensource.adobe.com/svn/opensource/flexpmd/maven-repository/release/</url> 
    </pluginRepository> 
</pluginRepositories> 

<distributionManagement> 
    <repository> 
     <id>artifactory</id> 
     <name>artifactory-releases</name> 
     <url>http://artifactory/artifactory/libs-release-local</url> 
    </repository> 
    <snapshotRepository> 
     <id>artifactory</id> 
     <name>artifactory-snapshots</name> 
     <url>http://artifactory/artifactory/libs-snapshot-local</url> 
    </snapshotRepository> 
</distributionManagement> 

<build> 
    <finalName>${project.artifactId}</finalName> 
    <testSourceDirectory>test</testSourceDirectory> 
    <sourceDirectory>src/</sourceDirectory> 
    <plugins> 
     <plugin> 
      <groupId>org.sonatype.flexmojos</groupId> 
      <artifactId>flexmojos-maven-plugin</artifactId> 
      <version>4.0-RC2</version> 
      <extensions>true</extensions> 

      <dependencies> 
       <dependency> 
        <groupId>com.adobe.flex</groupId> 
        <artifactId>compiler</artifactId> 
        <version>${flex.version}</version> 
        <type>pom</type> 
       </dependency> 
      </dependencies> 
      <configuration> 
       <storepass/> 
       <targetPlayer>10.1</targetPlayer> 
       <compilerWarnings> 
        <warn-no-constructor>false</warn-no-constructor> 
       </compilerWarnings> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<reporting> 
</reporting> 

. 그러나 Mockolate에 대한 참조를 추가하면 FlexUnit에서 충돌하는 클래스가 있기 때문에 빌드가 실패합니다.

나는이 글에서 flexMojos-flexunit에 대한 참조를 삭제하고 pom에서 FlexUnit4에 대한 내 자신의 참조를 제공해야한다고 설명했다. link here 내가 그거 했어. 이 같은 모습을 작동하지

Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:4.0-RC2:test-compile (default-test-compile) on project slots_client_common: java.lang.reflect.InvocationTargetException: Not found any compatible unit test framework 

나의 현재 POM : 그러나 지금은 오류 독서를 얻을 수

<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.CENSORED.client</groupId> 

<artifactId>CENSORED</artifactId> 
<version>CENSORED</version> 
<name>CENSORED</name> 

<packaging>swc</packaging> 

<properties> 
    <flex.version>4.1.0.16248</flex.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <sonar.language>flex</sonar.language> 
    <sonar.dynamicanalysis>false</sonar.dynamicanalysis> 
</properties> 

<dependencies> 
    <dependency> 
    CENSORED 
    </dependency> 
    <dependency> 
     CENSORED 
    </dependency> 
    <dependency> 
     <groupId>org.puremvc.as3</groupId> 
     <artifactId>PureMVC_AS3</artifactId> 
     <version>2.0.4</version> 
     <type>swc</type> 
    </dependency> 
    <!-- test-scope dependencies: --> 

    <dependency> 
     <groupId>com.adobe.felxunit</groupId> 
     <artifactId>flexunit</artifactId> 
     <version>4.1.0-8</version> 
     <classifier>as3</classifier> 
     <type>swc</type> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>com.adobe.flex.framework</groupId> 
       <artifactId>playerglobal</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.adobe.flex.framework</groupId> 
       <artifactId>airframework</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-as3</artifactId> 
     <version>1.1</version> 
     <type>swc</type> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.mockolate</groupId> 
     <artifactId>mockolate</artifactId> 
     <version>0.12.4</version> 
     <classifier>as3</classifier> 
     <type>swc</type> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

<repositories> 
    <repository> 
     <id>artifactory-libs</id> 
     <name>artifactory-libs-release</name> 
     <url>http://artifactory/artifactory/libs-release-local</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>artifactory-snapshots</id> 
     <name>artifactory-libs-snapshots</name> 
     <url>http://artifactory/artifactory/libs-snapshot-local</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>artifactory-ext</id> 
     <name>artifactory-ext-release</name> 
     <url>http://artifactory/artifactory/ext-release-local</url> 
    </repository> 
    <repository> 
     <id>flex-mojos-repository</id> 
     <name>flex-mojos-repository</name> 
     <url>http://repository.sonatype.org/content/groups/flexgroup</url> 
    </repository> 

</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <id>flex-mojos-plugin-repository</id> 
     <url>http://repository.sonatype.org/content/groups/flexgroup</url> 
    </pluginRepository> 
    <pluginRepository> 
     <id>flexpmd.opensource.adobe</id> 
     <name>FlexPMD repository on opensource.adobe.com</name> 
     <url>http://opensource.adobe.com/svn/opensource/flexpmd/maven-repository/release/</url> 
    </pluginRepository> 
</pluginRepositories> 


<distributionManagement> 
    <repository> 
     <id>artifactory</id> 
     <name>artifactory-releases</name> 
     <url>http://artifactory/artifactory/libs-release-local</url> 
    </repository> 
    <snapshotRepository> 
     <id>artifactory</id> 
     <name>artifactory-snapshots</name> 
     <url>http://artifactory/artifactory/libs-snapshot-local</url> 
    </snapshotRepository> 
</distributionManagement> 


<build> 
    <finalName>${project.artifactId}</finalName> 
    <testSourceDirectory>tests</testSourceDirectory> 
    <sourceDirectory>src/</sourceDirectory> 
    <plugins> 
     <plugin> 
      <groupId>org.sonatype.flexmojos</groupId> 
      <artifactId>flexmojos-maven-plugin</artifactId> 
      <version>4.0-RC2</version> 
      <extensions>true</extensions> 

      <dependencies> 
       <dependency> 
        <groupId>com.adobe.flex</groupId> 
        <artifactId>compiler</artifactId> 
        <version>${flex.version}</version> 
        <type>pom</type> 
       </dependency> 
      </dependencies> 
      <configuration> 
       <targetPlayer>10.1</targetPlayer> 
       <compilerWarnings> 
        <warn-no-constructor>false</warn-no-constructor> 
       </compilerWarnings> 
       <storepass/> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

FlexUnit4의 SWC 내 artifactory에 존재하며, IntelliJ를 더 내게 제공 빌드를 시도하기 전에 Maven의 경고 또는 오류.

도움 주셔서 감사합니다. 아파치 Flex dev forum (프레데릭 토마스와 @chrisdutz)에 걸쳐 훌륭한 사람들에

+0

또한 그 flexmojos.net은 '아무튼 보인다 : 그건 당신이처럼 치어을 설정할 수 있습니다, 4.1A

다음 플렉스 SDK했다 더 이상 일하지 않아? 누군가 새로운 집이 있다는 것을 알고 있습니까? – Bob

+0

불행히도 Velo는 Sonatype의 오래된 Flexmojos가 삭제 된 적이 없었습니다. 새로운 Jira/Coonfluence 등은 https://flexmojos.atlassian.net/wiki/display/FLEXMOJOS/Home –

+0

에 있습니다.이 문제는 Apache Flex 메일 링리스트에서 논의했습니다 ... 문제를 해결 했습니까? 예, 여기에 질문을 올리고 지식을 공유 할 수 있다면 좋을 것입니다 :-) –

답변

0

덕분에 내 질문에 대한 답을 얻을 수있었습니다 :

첫째, 당신은 내 경우에는 당신이 사용하고자하는 mavenize the SDK 필요

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>testMaven</groupId> 
<artifactId>testMaven</artifactId> 
<version>1.0-SNAPSHOT</version> 

<packaging>swf</packaging> 

<properties> 
    <flexmojos.version>6.0.1</flexmojos.version> 
    <flex.version>4.1.0.16076A</flex.version> 
    <playerglobal.version>10.1</playerglobal.version> 
    <flashplayer.version>10.1</flashplayer.version> 
    <flex.debug>true</flex.debug> 
</properties> 

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <testSourceDirectory>tests</testSourceDirectory> 
    <plugins> 
     <plugin> 
      <groupId>net.flexmojos.oss</groupId> 
      <artifactId>flexmojos-maven-plugin</artifactId> 
      <version>${flexmojos.version}</version> 
      <extensions>true</extensions> 
      <configuration> 
       <storepass/> 
       <targetPlayer>10.1</targetPlayer> 
       <debug>${flex.debug}</debug> 
       <defines> 
        <property> 
         <name>CONFIG::debugging</name> 
         <value>${flex.debug}</value> 
        </property> 
        <property> 
         <name>CONFIG::versionNumber</name> 
         <value>'${project.version}'</value> 
        </property> 
       </defines> 
       <sourceFile>com/myCompany/main/HelloWorld.as</sourceFile> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>com.adobe.flex</groupId> 
        <artifactId>compiler</artifactId> 
        <version>${flex.version}</version> 
        <type>pom</type> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
    <dependency> 
     <groupId>com.adobe.flex.framework.themes</groupId> 
     <artifactId>halo</artifactId> 
     <version>${flex.version}</version> 
     <scope>theme</scope> 
     <type>swc</type> 
    </dependency> 

    <dependency> 
     <groupId>com.adobe.flash.framework</groupId> 
     <artifactId>playerglobal</artifactId> 
     <version>${playerglobal.version}</version> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe.flash.framework</groupId> 
     <artifactId>playerglobal</artifactId> 
     <version>${playerglobal.version}</version> 
     <type>rb.swc</type> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe.flex.framework</groupId> 
     <artifactId>flash-integration</artifactId> 
     <version>${flex.version}</version> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe.flex.framework</groupId> 
     <artifactId>flex-framework</artifactId> 
     <version>${flex.version}</version> 
     <type>pom</type> 
    </dependency> 
    <dependency> 
     <groupId>com.adobe.flex.framework</groupId> 
     <artifactId>flash-integration</artifactId> 
     <version>${flex.version}</version> 
     <type>rb.swc</type> 
    </dependency> 
    <dependency> 
     <groupId>org.flexunit</groupId> 
     <artifactId>flexunit</artifactId> 
     <version>4.1.0</version> 
     <classifier>as3</classifier> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-as3</artifactId> 
     <version>1.1</version> 
     <type>swc</type> 
    </dependency> 
    <dependency> 
     <groupId>org.mockolate</groupId> 
     <artifactId>mockolate</artifactId> 
     <version>0.12.4</version> 
     <classifier>as3</classifier> 
     <type>swc</type> 
    </dependency> 
</dependencies> 
<repositories> 
    <repository> 
     <id>artifactory-libs</id> 
     <name>artifactory-libs-release</name> 
     <url>http://artifactory/artifactory/libs-release-local</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>artifactory-snapshots</id> 
     <name>artifactory-libs-snapshots</name> 
     <url>http://artifactory/artifactory/libs-snapshot-local</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>artifactory-ext</id> 
     <name>artifactory-ext-release</name> 
     <url>http://artifactory/artifactory/ext-release-local</url> 
    </repository> 
    <repository> 
     <id>flex-mojos-repository</id> 
     <name>flex-mojos-repository</name> 
     <url>http://repository.sonatype.org/content/groups/flexgroup</url> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <id>flex-mojos-plugin-repository</id> 
     <url>http://repository.sonatype.org/content/groups/flexgroup</url> 
    </pluginRepository> 
    <pluginRepository> 
     <id>flexpmd.opensource.adobe</id> 
     <name>FlexPMD repository on opensource.adobe.com</name> 
     <url>http://opensource.adobe.com/svn/opensource/flexpmd/maven-repository/release/</url> 
    </pluginRepository> 
</pluginRepositories> 

+0

@chrisdutz이 점을 도와 주시고, 일반적으로 flexmojos에 대한 귀하의 작업에 다시 한번 감사드립니다. – Bob

+1

내가 지적하고자하는 한가지 (너무 닮았 기 때문에 여러 번 나 자신을 겹쳐서 보았 기 때문이다.) 실제로 flex의 일부가 아니기 때문에 air 및 Flash 아티팩트는 com.adobe.flex.framework 그룹에 더 이상 생성되지 않는다. . playerGlobal의 groupId가 com.adobe.flash.framework인지 확인해야합니다.또한 fdk 버전으로 playerglobal을 가져 오지 않고 분류자를 사용하여 flashplayer 버전을 지정하지 않고 "flashplayer.version"과 항상 일치하도록 playerglobal의 버전을 직접 지정하십시오. –