Finished constructing my 32-bit VM (Running Kubuntu 10.04). I was
immediately able to get back to the same failure that I encountered before.
I was able to get past it by running mvn initialize in
flexmojos-testing/flexmojos-tester. For some reason, when the full build is
running and processes down into this directory, it does not download the
external dependencies correctly. Not sure what the underlying issue is with
that.
The next failure occurred while trying to run the tests in
flexmojos-testing/flexmojos-tester. The issue is that the executable bit is
not set on
~/.m2/repository/com/adobe/flashplayer/10.1/flashplayer-10.1-linux.uexe, and
it is also not set on
flexmojos-testing/flexmojos-tester/target/flashplayer/flashplayer-linux.uexe.
As a result, attempts to execute the tests result in:
org.sonatype.flexmojos.test.launcher.LaunchFlashPlayerException: Failed to
launch Flash Player.
at
org.sonatype.flexmojos.test.launcher.AsVmLauncher.runFlashplayer(AsVmLauncher.java:180)
at
org.sonatype.flexmojos.test.launcher.AsVmLauncher.start(AsVmLauncher.java:291)
at
org.sonatype.flexmojos.test.launcher.AsVmLauncherTest.launch(AsVmLauncherTest.java:29)
Caused by: java.io.IOException: Cannot run program
"/home/bturner/Development/flexmojos/flexmojos-testing/flexmojos-tester/target/flashplayer/flashplayer-linux.uexe":
java.io.IOException: error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
at
org.sonatype.flexmojos.test.launcher.AsVmLauncher.runFlashplayer(AsVmLauncher.java:174)
... 14 more
Caused by: java.io.IOException: java.io.IOException: error=13, Permission
denied
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 17 more
I ran chmod 755 on target/flashplayer/flashplayer-linux.uexe and ran mvn
install (not mvn clean install, since it would delete the modified file and
recopy it) and the build in flexmojos-testing/flexmojos-tester completed.
This, it turns out, is also the reason you get the error you're seeing in
flexmojos-testing/flexmojos-test-harness. When the FlashPlayer executable is
copied to
target/local-repository/com/adobe/flashplayer/10.1/flashplayer-10.1-linux.uexe,
the resulting file is not executable and the tests fail. Mine actually did
not fail here, because when I ran chmod 755 on the flashplayer-linux.uexe in
target, I also ran the same command on flashplayer-10.1-linux.uexe in my
local repository. As a result, when the file was copied, it was still
executable and the system was able to execute it successfully.
This may be a weakness in the maven-external-dependency-plugin, based
on what I'm seeing. I downloaded the same flashplayer_10_sa_debug.tar.gz the
FlexMojos build is downloading and extracted flashplayerdebugger from it.
The extracted file had its execute bit set. However, it looks like when
maven-external-dependency-plugin extracts files or installs files (one or
the other or both), it is not preserving permissions. This doesn't matter on
Windows, since it uses extensions to decide what it can execute, but it'll
fail on Linux or MacOS.
This seems to matter on:
- com/adobe/adl/2.0/adk-2.0-linux.uexe
- com/adobe/flashplayer/10.1/flashplayer-10.1-linux.uexe
- com/adobe/flashplayer/9.0/flashplayer-9.0-linux.uexe
I get several other failed unit tests even with these files executable. All
of those tests fail with a message about flushing results. I'm rerunning my
build now just to confirm, but it takes long enough I likely won't still be
awake when it's done.
Bryan
On Thu, Oct 7, 2010 at 8:55 PM, Bryan Turner <[email protected]> wrote:
> My VM reminded me that this is going to be a bit more complex than one
> might think at first. Most x64 distributions of Linux (that I'm aware of) do
> not do a very good job of running 32-bit applications (32-bit support is not
> typically installed by default, and the chaining to get it can be a real
> nightmare). If anyone has any suggestions on that, I'm interested. This only
> matters because Flash support on x64 Linux is extremely experimental to say
> the least (and there is no standalone FlashPlayer, only a browser
> plugin--which doesn't help much for FlexMojos).
>
> I'm going to setup a 32-bit Linux VM and I'll resume looking at this from
> there.
>
> For your reference, at the moment, I'm getting this build failure:
> [ERROR] Failed to execute goal on project flexmojos-tester: Could not
> resolve dependencies for project
> org.sonatype.flexmojos:flexmojos-tester:jar:4.0-SNAPSHOT: The following
> artifacts could not be resolved: com.adobe:flashplayer:exe:10.1,
> com.adobe:flashplayer:uexe:linux:10.1: Could not find artifact
> com.adobe:flashplayer:exe:10.1 in flex-mojos-repository (
> http://repository.sonatype.org/content/groups/flexgroup/, releases=true,
> snapshots=true, managed=false)
>
> To get that far, I had to do two things:
> 1. On the Building FlexMojos from Source page, the repository entry for
> http://repository.sonatype.org/content/groups/flexgroup does not have
> snapshots enabled. I had to enable it to get the various 4.0-SNAPSHOT
> FlexMojos artifacts the build requires.
> 2. In the flexmojos-parent pom.xml, I change the Maven version from "3.0"
> (which isn't released yet and leads to artifacts Maven can't find) to
> "3.0-beta-3", which is the version of Maven I'm using.
>
> I'd imagine this error is related to the pom change you linked above. I'll
> duplicate that change in my sourcebase after I setup my 32-bit VM.
>
> Bryan
> On Thu, Oct 7, 2010 at 7:53 PM, Bryan Turner <[email protected]>wrote:
>
>> I have a Linux VM handy, so I'd be happy to take a look at it. This is a
>> feature I stand to benefit quite a bit from, which further increases my
>> interest. I'll post back after I've done some initial investigation on
>> getting FlexMojos checked out and building on my Linux VM.
>>
>>
>> On Thu, Oct 7, 2010 at 7:30 PM, Marvin Froeder <[email protected]> wrote:
>>
>>> BTW, this is the error I got:
>>>
>>> https://grid.sonatype.org/ci/job/flex-mojos-4.x/228/jdk=java-6x,label=ubuntu/testReport/junit/org.sonatype.flexmojos.tests/IT0091HelloWordTest/helloWordTest/
>>>
>>> In case it is meaningful to anyone.
>>>
>>> VELO
>>>
>>>
>>> On Fri, Oct 8, 2010 at 5:27 AM, Marvin Froeder <[email protected]>wrote:
>>>
>>>> Hey Folks,
>>>>
>>>> I'm trying to make flexmojos easier to run unit test, by making it
>>>> capable of using flashplayer from maven repo. That plus
>>>> maven-external-dependency-plugin [1] would make flexmojos more transparent
>>>> for used.... eliminating the need to setup flashplayer on the OS....
>>>>
>>>> But, linux is not my native environment (neither is mac). So I would
>>>> like to ask for volunteers that wanna to get dirty in order to get this
>>>> working.
>>>>
>>>> The configuration for maven-external-dependency-plugin is described [2]
>>>>
>>>> Unless I get some help this feature will be available on windows only,
>>>> since I don't have time to go linux and figure this out.
>>>>
>>>>
>>>> VELO
>>>>
>>>>
>>>> [1] - http://code.google.com/p/maven-external-dependency-plugin/
>>>> [2] -
>>>> http://github.com/Flexmojos/flexmojos/blob/flexmojos-4.x/flexmojos-parent/pom.xml#L134
>>>>
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Flex Mojos" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]<flex-mojos%[email protected]>
>>> For more options, visit this group at
>>> http://groups.google.com/group/flex-mojos
>>>
>>> http://flexmojos.sonatype.org/
>>>
>>
>>
>
--
You received this message because you are subscribed to the Google
Groups "Flex Mojos" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/flex-mojos
http://flexmojos.sonatype.org/