如何为基于maven flexmojos的构建正确定义Flash Builder 4.5 Premium许可证?

时间:2011-08-09 08:01:09

标签: flex flash-builder

我们一直在使用Maven构建我们的Flex应用程序。由于我们使用RIATest进行集成测试,我们需要在其中编译RIATest代理并使用Flex自动化库创建应用程序的特殊测试版本。显然,对于后者,我们需要为flex编译器提供许可证,因为这只能从高于标准版本的版本中获得。

直到Flex 4.0和RIATest 3.8工作正常,我们在用户主目录的flex-config文件中定义了许可信息。

然而,目前使用Flex 4.5和RIATest 4的组合我们遇到了问题,测试总是失败,“许可证不存在。试用版只允许有限的重放。”

我们尝试过为Flashbuilder 4.5定义许可证密钥的多种变体,但我们没有成功。目前,我们在POM中的flexmojo配置引用了一个外部flex-config文件,我们尝试定义许可证密钥。

3 个答案:

答案 0 :(得分:2)

使用flexmojos 3.8,RIATest 4和Flex SDK 4.5.1,我们找到了解决方案。

首先,我们发现我们在

中有一个迷路配置
.adobe/Flex/license.properties

在构建服务器上的Jenkins用户主目录中的文件。重要的是要知道这里的配置会被flexmojos自动包含在构建中。因此,如果您想确保没有外部依赖项的良好隔离构建,请删除此文件。

然后我们发现我们可以从flexmojo配置中引用外部flex-config.xml文件,如下所示:

<execution>
  <id>build-release-version</id>
  <phase>compile</phase>
  <goals>
    <goal>compile-swf</goal>
  </goals>
  <configuration>
    <configFiles> 
      <configFile>flex-config.xml</configFile> 
    </configFiles> 
  </configuration>
</execution>

在flex-config.xml文件中,您需要使用以下许可证语法:

<licenses>
   <license>
      <product>flashbuilder45</product>
      <serial-number>LICENSE CODE</serial-number>
   </license>
</licenses>

现在最后的问题是:我们需要在序列号元素中使用的许可证代码是 NOT 我们从Adobe获得的许可证号码(我们在安装Flash Builder时使用的许可证号码)工具)但它是该许可证编号的派生形式,例如可以在安装了Flash Builder的开发人员的license.properties文件中找到。此派生的许可证编号与原始许可证编号不同,并且没有破折号。

神秘。

答案 1 :(得分:0)

我们用这种方式定义了flexmojo(4.0-RC1)配置:

            <plugin>
                <groupId>org.sonatype.flexmojos</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>${flexmojos.version}</version>
                <configuration>
                    <debug>${flex.debug}</debug>
                    <swfVersion>11</swfVersion>
                    <licenses>
                        <flashbuilder4>${flex.serial-number}</flashbuilder4>
                    </licenses>
                    <themes>
                        <theme>
                            ${settings.localRepository}/com/adobe/flex/framework/framework/${flex.version}/configs_zip/themes/Spark/spark.css
                        </theme>
                    </themes>
                    <rslUrls>
                        <url>rsl/{artifactId}-{version}.{extension}</url>
                    </rslUrls>
                </configuration>
                <dependencies>
                    <!-- This handles a bug in maven which causes problems with flex resources -->
                    <dependency>
                        <groupId>org.sonatype.flexmojos</groupId>
                        <artifactId>flexmojos-threadlocaltoolkit-wrapper</artifactId>
                        <version>${flexmojos.version}</version>
                    </dependency>
                    <!-- Without this FM will use the compiler configured in its
                    master pom, which will result in version conflicts -->
                    <dependency>
                        <groupId>com.adobe.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>${flex.version}</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
            </plugin>

有了这个,我可以使用我的FlashBuilder 4 Key使用Flex SDK 4.5.0.20967构建应用程序......不知道4.5键是否发生了变化。

答案 2 :(得分:0)

您似乎可以直接在Flexmojos配置中定义它,而无需像这样的外部文件:

<configuration>
  <licenses>
    <flashbuilder45>LICENSE CODE</flashbuider45>
  </licenses>
</configuration>

注意@Boris说,您需要获取安装FlashBuilder后可以获得的派生许可证号码(有关可以找到此文件的每个操作系统的位置,请参阅About configuration files。)