Resource folder not included.. Problem is " Unable to transcode ..."
Working on my Maven to Gradle migration I am now encountering
problems getting resources into the build. Resources are placed in
the default "src/main/resources" directory, which I have declared
just to be sure:
srcDirs = [
"src/main/flex"
]
resourceDirs = [
"src/main/resources"
]
Here is the output of my build (using SDK 3.6 and GradleFX 0.6). Note that I am trying with and without leading slash! Also, I have tried with SDK 4.9 and GradleFX 0.6.3 which produces the same transcoding errors.
D:\Workspaces\Flex\codebank-flex>gradle clean build
:clean UP-TO-DATE
:compileFlex
WARNING: The -external-library-path option is being used internally by GradleFx. Alternative: specify the library as an 'external' Gradle dependendency
:: loading settings :: url = jar:file:/D:/Java/gradle-1.3/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
Compiling with compc
-external-library-path+=C:\Users\aui\.gradle\gradleFx\sdks\1a2671edac53558c3e843c377acc68b216185050/frameworks/libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc
-runtime-shared-library-path=
-external-library-path+=C:\Users\aui\.gradle\gradleFx\sdks\1a2671edac53558c3e843c377acc68b216185050/frameworks/libs/framework.swc
-source-path+=D:\Workspaces\Flex\codebank-flex\src\main\flex
-include-sources+=D:\Workspaces\Flex\codebank-flex\src\main\flex
-include-file
assets/cursor_move.gif
D:\Workspaces\Flex\codebank-flex\src\main\resources\assets\cursor_move.gif
-include-file
assets/cursor_resize.gif
D:\Workspaces\Flex\codebank-flex\src\main\resources\assets\cursor_resize.gif
-include-libraries+=C:\Users\aui\.gradle\caches\artifacts-15\filestore\de.byteconsult\mate-bc\0.89.0\swc\36f1f02ea14bc8da9329659461830be5819ac410\mate-bc-0.89.0.swc
-include-libraries+=C:\Users\aui\.gradle\caches\artifacts-15\filestore\org.springextensions.actionscript\spring-actionscript-core\1.1\swc\c171143a76efb7a983911edee5b8e23b49055f4d\spring-actionscript-core-1.1.swc
-include-libraries+=C:\Users\aui\.gradle\caches\artifacts-15\filestore\org.as3commons\as3commons-lang\0.3.6\swc\c5364058044e9475372e6de2c46c0440c9fe5433\as3commons-lang-0.3.6.swc
-include-libraries+=C:\Users\aui\.gradle\caches\artifacts-15\filestore\org.as3commons\as3commons-logging\1.2\swc\fa5f0bc9e45193b4561b9bcda14e6490307ad2e1\as3commons-logging-1.2.swc
-include-libraries+=C:\Users\aui\.gradle\caches\artifacts-15\filestore\org.as3commons\as3commons-reflect\1.3.1\swc\1729cd341cfea17962c5eba489c99af7e3d79f9c\as3commons-reflect-1.3.1.swc
-include-libraries+=C:\Users\aui\.gradle\caches\artifacts-15\filestore\org.as3commons\as3commons-bytecode\0.7\swc\cf08d8dc7cb902c9a4072b147ec5ece6bebef4c2\as3commons-bytecode-0.7.swc
-target-player=10.0
-external-library-path=C:\Users\aui\.gradle\gradleFx\sdks\1a2671edac53558c3e843c377acc68b216185050/frameworks/libs/player/{targetPlayerMajorVersion}/playerglobal.swc
-output=D:\Workspaces\Flex\codebank-flex\build\codebank-flex.swc
[ant:java] Java Result: 4
:compileFlex FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileFlex'.
> compc execution failed: Loading configuration file C:\Users\aui\.gradle\gradleFx\sdks\1a2671edac53558c3e843c377acc68b216185050\frameworks\flex-config.xml
D:\Workspaces\Flex\codebank-flex\src\main\flex\de\byteconsult\codebank\ui\managers\MoveManager.as(43): col: 4: Error: unable to resolve 'assets/cursor_move.gif' for transcoding
[Embed(source="assets/cursor_move.gif")]
^
D:\Workspaces\Flex\codebank-flex\src\main\flex\de\byteconsult\codebank\ui\managers\MoveManager.as(43): col: 4: Error: Unable to transcode assets/cursor_move.gif.
^
D:\Workspaces\Flex\codebank-flex\src\main\flex\de\byteconsult\codebank\ui\managers\ResizeManager.as(45): col: 4: Error: unable to resolve '/assets/cursor_resize.gif' for transcoding
[Embed(source="/assets/cursor_resize.gif")]
^
D:\Workspaces\Flex\codebank-flex\src\main\flex\de\byteconsult\codebank\ui\managers\ResizeManager.as(45): col: 4: Error: Unable to transcode /assets/cursor_resize.gif.
^
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Maxime Cowez on 17 Jan, 2013 12:15 PM
This is not a GradleFx issue; it's directly related to the compiler. FlashBuilder has some tricks to resolve certain paths that mxmlc doesn't have, which is probably why you don't get these errors when you compile through the IDE.
To fix it, you must adjust the paths in the Embed statements.
Supposing your directory structure is like this:
it should be something like:
(From the 'flex' dir, go up one directory, and go back down into assets)
On a side note:
src/main/flex
is not the default,src/main/actionscript
is.2 Posted by thomas.auinger on 17 Jan, 2013 12:20 PM
BUILD SUCCESSFUL!
Thanks heaps!!
Side note: I am declaring like this now:
However ;) when compiling with Maven/Flexmojos I did not have to rewrite my embed statements.. Somehow flexmojos could cope...?
Support Staff 3 Posted by Maxime Cowez on 17 Jan, 2013 12:23 PM
Good to know.
Perhaps we could add this feature one day.
Support Staff 4 Posted by Yennick Trevels on 17 Jan, 2013 06:10 PM
You can also create an assets folder under src/main/flex.
So for example your configuration is this:
Then you create the following directory structure with the gif in it:
Then you can reference this gif in your code like this:
The thing here is that cursor_move.gif will be embedded into the application, so it should be under a source folder. 'src/main/resources' is more for configuration files (like xml) which aren't compiled into the application but are read at runtime.
See this sample project for an example: https://github.com/GradleFx/GradleFx-Examples/tree/master/multiproj...
5 Posted by Abhijeet on 22 Jan, 2014 04:08 AM
http://www.boostworthy.com/blog/?p=220
"I believe this occurs when the sources of the Flash Builder project are not directly rooted in the project directory. You can check for that by looking under:
Project -> Properties -> Flex Library Build Path -> Library Path
There you’ll find the “Main source folder”. The problem seems to occur whenever the value is not empty."
6 Posted by foetus58 on 24 Feb, 2015 01:32 AM
I'm having a similar issue, but nothing seems to work for me. Here's is what I've so far:
these are the directory structure I have tried so far:
Case 2 Case 3Case 1
and on my sample.as I have:
and I'm using these on my build.gradle file:
For Case 1
For Case 2 For Case 3Any help would be really apreciated
7 Posted by foetus58 on 24 Feb, 2015 03:40 AM
Sorry, it seems that my problem was not there, the previous solution seems to work, but I also have some images inside the src/ dir is there a way to expose only image files i.e. .jpg, .png, etc?
Support Staff 8 Posted by Yennick Trevels on 27 Feb, 2015 08:32 PM
Everything you put in src/ will be packaged into your swc/swf, so you will be able to use those in your Embed statements.
Or can you please clarify what you exactly mean by "expose only images files"? Not sure I understand the question correctly.
9 Posted by quanhungbang on 18 Dec, 2015 02:52 AM
Not change:
[Embed(source = "/assets/images-mod-authen/spinner.swf")]
srcDirs = ['src/main/flex/']
Project structure as image attach.
Please help me include assets folder to compile. I using command : resourceDirs = ['src/main/resources/'], but not working.
Support Staff 10 Posted by Yennick Trevels on 23 Dec, 2015 06:00 AM
Can you try to put the assets into the src.main.flex folder?
11 Posted by thomas.auinger on 23 Dec, 2015 06:07 AM
Sehr geehrter Absender,
vielen Dank für Ihre Nachricht.
In der Zeit vom 21.12.2015 bis einschließlich 06.01.2016 lassen wir Konzept- und Beratungsarbeit ruhen und haben Betriebsferien. Am 7. Januar 2016 ist die ByteConsult GmbH wieder für Sie da.
Ihre Nachricht geht nicht verloren, kann bis dahin jedoch auch nicht gelesen, bearbeitet oder weitergeleitet werden.
Während der Betriebsferien überprüft unser Support-Team täglich Mails zu den bekannten Support E-Mail Adressen sowie [email blocked] auf eingehende Nachrichten und setzt sich daraufhin mit Ihnen in Verbindung.
In dringenden Notfällen wenden Sie sich bitte an die Nummer 0171 - 2011 686.
Thomas Auinger
Beratung und Leitung Entwicklung
ByteConsult GmbH | Tel.: +49-(0)931-20510-20 | AG Würzburg, HRB 7262
Schweinfurter Str. 9 | Mob.: +49-(0)171-2011686 | GF: Jens Helmerich
97080 Würzburg | http://www.byteconsult.de | Manuel Hermann