How do I set the theme using Flexmojos?
When compiling using flexmojos I get the warning:
[WARNING] No themes are explicitly defined in the section or in any scope="theme" dependencies. Flexmojos is now attempting to figure out which themes to include. (to avoid this warning you should explicitly state your theme dependencies)
[WARNING] Adding spark.css theme because spark.swc was included as a dependency
I have tried adding:
<dependency>
<groupId>com.adobe.flex.framework</groupId>
<artifactId&开发者_运维知识库gt;spark</artifactId>
<type>swc</type>
<scope>theme</scope>
<version>${flex.sdk.version}</version>
</dependency>
But I just get an error:
com.adobe.flex.framework:spark:swc must be one of [compile, runtime, system] but is 'theme'
I just want to use the standard Spark theme.
Thanks
I had the same issue (adding theme worked but it produces ugly warnings). I fixed it by explicitly referencing the theme's CSS file by:
Add the following to your flexmojos configuration:
<themes> <theme>spark-theme-${flex.sdk.version}.css</theme> </themes>
Add the theme as a dependency:
<dependency> <groupId>com.adobe.flex.framework</groupId> <artifactId>spark-theme</artifactId> <version>${flex.sdk.version}</version> <type>css</type> </dependency>
pull the dependency in to your output directory. There are several ways to do this, including a simple ant copy. I chose to use the maven dependency plugin:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-theme-file</id> <phase>process-resources</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.outputDirectory}</outputDirectory> <includeArtifactIds>spark-theme</includeArtifactIds> </configuration> </execution> </executions> </plugin>
Following these steps copies the spark-theme's CSS file to the output directory (/target/classes in most cases) and explicitly refers to the CSS file in in the flexmojos configuration.
This completely got rid of all theme warnings for me. I hope this helps someone.
I am using Flex-Mojos 4.1-beta, and themes "just work" ™ I cannot vouch for earlier versions.
Taking an example, pull in the spark theme (part of the SDK):
<dependency>
<groupId>com.adobe.flex.framework</groupId>
<artifactId>spark</artifactId>
<version>${flex.version}</version>
<scope>theme</scope>
<type>swc</type>
</dependency>
Now, pull in the theme which I've earlier, myself defined:
<dependency>
<groupId>ie.hunt</groupId>
<artifactId>theme-library</artifactId>
<version>1.0-SNAPSHOT</version>
<type>swc</type>
<scope>theme</scope>
</dependency>
And the 'spark' theme is applied, then overridden by the rules I've defined in my own theme swc. Nothing else to do.
Using the 'themes' subsection of 'plugin'->'configuration' creates unhelpful Null Pointer Exceptions, e.g:
<configuration>
<themes>
<theme>spark.css</theme>
<themes>
...
</configuration>
Error output:
[ERROR] Failed to execute goal org.sonatype.flexmojos:flexmojos-maven-plugin:4.1-beta:compile-swc (default-compile-swc) on project theme-library: java.lang.NullPointerException -> [Help 1]
Or, more simple with this answer (just think to declare it in your dependencyManagement and dependencies tags of your pom
精彩评论