Install details:
SBT 1.02
Scala 2.12.3
Java 8
Ubuntu Linux 16.04 on a ThinkPad & Mac OS X Sierra (10.12.6)
Steps I took:
Installed SBT on both Linux and Mac using instructions here: http://www.scala-sbt.org/1.x/docs/
Created the Hello World example.
Tried to run the sample program, both within SBT and on the bash command line.
Observed that regardless of what settings I tried, I would still see the debug messages:
Here's a sample:
Osiris:hello Noel$ sbt
[info] Loading project definition from
/Users/Noel/src/scala/sandbox/hello/project
[info] Loading settings from build.sbt ...
[info] Set current project to Hello (in build
file:/Users/Noel/src/scala/sandbox/hello/)
[info] sbt server started at 127.0.0.1:5256
sbt:Hello> logLevel
[info] warn
sbt:Hello> run
[info] Running example.Hello
hello
[debug] Waiting for threads to exit or System.exit to be called.
[debug] Classpath:
[debug] <abbreviated>.../hello_2.12-0.1.0-SNAPSHOT.jar
[debug] <abbreviated>.../scala-library.jar
[debug] Waiting for thread run-main-0 to terminate.
[debug] Thread run-main-0 exited.
[debug] Interrupting remaining threads (should be all daemons).
[debug] Sandboxed run complete..
[debug] Exited with code 0
[success] Total time: 0 s, completed Oct 15, 2017 9:44:13 PM
sbt:Hello>
What I tried:
From the command line:
sbt warn run
From within SBT:
warn
run
Modify build.sbt to contain the line:
logLevel := Level.Warn
Here is what build.sbt looks like:
import Dependencies._
logLevel := Level.Warn
lazy val root = (project in file(".")).
settings(
inThisBuild(List(
organization := "com.example",
scalaVersion := "2.12.3",
version := "0.1.0-SNAPSHOT",
)),
name := "Hello",
libraryDependencies += scalaTest % Test
)
I've also searched on this forum, but this question was asked 4 years ago and those answers don't work for me. What am I missing?
Thanks in advance.
This is a known bug in sbt 1.0.1 and 1.0.2. See https://github.com/sbt/sbt/issues/3655
Related
I like to enter commands while the previous command is still running. When the command completes, my shell will immediately execute the next.
This is no longer possible with modern incarnations of SBT. If you enter anything while SBT is running, it will assume you want to execute what you've entered in SBT's interactive mode.
This is very annoying.
$ sbt test
...
[info]
[info] Passed: Total 348, Failed 0, Errors 0, Passed 348
[success] Total time: 17 s, completed 18/01/2018 4:19:49 PM
> git status
[error] Expected ID character
[error] Not a valid command: git (similar: exit, plugin, set)
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Not a valid key: git (similar: ivySbt, target)
[error] git status
[error] ^
>
Can I reconfigure SBT so that the process always terminates after the batch has completed and does not switch to interactive mode?
I use sbt 0.13.6-SNAPSHOT built from the latest sources as of commit 5b070b9dcc1dea25106573a86167517e5a8dc8d4.
The issue came out when I was responding to How to change value of setting for a custom configuration under play/sbt?.
This is build.sbt:
lazy val Mock = config("mock") extend Compile
lazy val mock = inputKey[Unit]("run in mock mode")
lazy val mockSettings = inConfig(Mock) {
Classpaths.configSettings ++
Seq(
unmanagedClasspath += baseDirectory.value / "mock-resources",
mock <<= run in Mock,
run <<= Defaults.runTask(fullClasspath in Mock, mainClass in Mock, runner in Mock)
)
}
lazy val p = (project in file("src/")).configs(Mock).settings(
mockSettings: _*
)
Why is the custom run task needed for the custom Mock configuration? Why doesn't run pick unmanagedClasspath for the Mock configuration?
See the following session:
> mock
[info] Running Hello
resource: file:/Users/jacek/sandbox/mock-config/src/mock-resources/a.properties
[success] Total time: 0 s, completed Jul 27, 2014 2:26:07 PM
> p/mock:run
[info] Running Hello
resource: file:/Users/jacek/sandbox/mock-config/src/mock-resources/a.properties
[success] Total time: 0 s, completed Jul 27, 2014 2:26:34 PM
> p/mock:mock
[info] Running Hello
resource: file:/Users/jacek/sandbox/mock-config/src/mock-resources/a.properties
[success] Total time: 0 s, completed Jul 27, 2014 2:27:01 PM
It works fine.
The following line gets removed from build.sbt:
run <<= Defaults.runTask(fullClasspath in Mock, mainClass in Mock, runner in Mock)
This is the only change for the build definition. No other files are touched.
> reload
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to mock-config (in build file:/Users/jacek/sandbox/mock-config/)
> p/mock:mock
[info] Running Hello
resource: null
[success] Total time: 0 s, completed Jul 27, 2014 2:28:31 PM
> p/mock:run
[info] Running Hello
resource: null
[success] Total time: 0 s, completed Jul 27, 2014 2:28:36 PM
> mock
[info] Running Hello
resource: null
[success] Total time: 0 s, completed Jul 27, 2014 2:28:39 PM
Why does the default run task not work for the custom Mock configuration?
Please use a released version to ask questions such as 0.13.5.
If you run inspect command, it should be clear that you have not defined run task when you remove run <<= .... from build.sbt:
p> inspect mock:run
[info] Input task: Unit
[info] Description:
[info] Runs a main class, passing along arguments provided on the command line.
[info] Provided by:
[info] {file:/Users/foo/sbt-so-24981062/}p/compile:run
[info] Defined at:
[info] (sbt.Defaults) Defaults.scala:731
This is because Classpaths.configSettings doesn't include run task.
How can the classpath used for run task be displayed under SBT 0.13?
I have found some info here https://groups.google.com/forum/#!msg/simple-build-tool/0rhVRPnjyZU/DOYAd14gh1wJ:
I was dumping my classpaths as a way to troubleshoot my build recently and maybe this task can help you too:
lazy val printClasspath = task {
this.runClasspath.getPaths.foreach(println);
None
}
runClasspath is a PathFinder [1] instance and you can interrogate it even further. I guess building a ':'-separated list of those paths will be easy.
I don't understand where and how I should use this tip. Please advise.
If I type this in the sbt shell:
inspect run
I see, among other output:
[info] Dependencies:
[info] runtime:fullClasspath
So then if I type:
show runtime:fullClasspath
I get output like:
List(
Attributed(/Users/tisue/Dropbox/repos/euler/target/scala-2.10/classes),
Attributed(/Users/tisue/.sbt/boot/scala-2.10.3/lib/scala-library.jar))
Which is probably what you were looking for?
You can also get it in a colon-separated form suitable for use with java -classpath on the command line:
export runtime:fullClasspath
which prints e.g.:
/Users/tisue/Dropbox/repos/euler/target/scala-2.10/classes:/Users/tisue/.sbt/boot/scala-2.10.3/lib/scala-library.jar
tl;dr Use last run or write a custom task.
last run
With last run you should be presented with the entire classpath:
[info] Running main.Main
[debug] Waiting for threads to exit or System.exit to be called.
[debug] Classpath:
[debug] /Users/jacek/work/ingrifo/dictionary-spray/target/scala-2.11/classes
[debug] /Users/jacek/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.4.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-can_2.11/bundles/spray-can_2.11-1.3.2.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-io_2.11/bundles/spray-io_2.11-1.3.2.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-util_2.11/bundles/spray-util_2.11-1.3.2.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-http_2.11/bundles/spray-http_2.11-1.3.2.jar
[debug] /Users/jacek/.ivy2/cache/org.parboiled/parboiled-scala_2.11/bundles/parboiled-scala_2.11-1.1.6.jar
[debug] /Users/jacek/.ivy2/cache/org.parboiled/parboiled-core/bundles/parboiled-core-1.1.6.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-routing_2.11/bundles/spray-routing_2.11-1.3.2.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-httpx_2.11/bundles/spray-httpx_2.11-1.3.2.jar
[debug] /Users/jacek/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar
[debug] /Users/jacek/.ivy2/cache/org.jvnet.mimepull/mimepull/jars/mimepull-1.9.4.jar
[debug] /Users/jacek/.ivy2/cache/com.chuusai/shapeless_2.11/jars/shapeless_2.11-1.2.4.jar
[debug] /Users/jacek/.ivy2/cache/io.spray/spray-json_2.11/bundles/spray-json_2.11-1.3.1.jar
[debug] /Users/jacek/.ivy2/cache/com.typesafe.akka/akka-actor_2.11/jars/akka-actor_2.11-2.3.6.jar
[debug] /Users/jacek/.ivy2/cache/com.typesafe/config/bundles/config-1.2.1.jar
[debug] Waiting for thread run-main-0 to terminate.
[debug] Thread run-main-0 exited.
[debug] Waiting for thread default-akka.actor.default-dispatcher-4 to terminate.
Custom task to dump CLASSPATH
If you need to see what the run task depends on, use inspect.
[fullclasspath]> inspect run
[info] Input task: Unit
[info] Description:
[info] Runs a main class, passing along arguments provided on the command line.
[info] Provided by:
[info] {file:/Users/jacek/sandbox/so/fullClasspath/}fullclasspath/compile:run
[info] Defined at:
[info] (sbt.Defaults) Defaults.scala:704
[info] Dependencies:
[info] compile:run::streams
[info] runtime:fullClasspath
[info] compile:run::runner
[info] compile:run::mainClass
[info] Delegates:
[info] compile:run
[info] *:run
[info] {.}/compile:run
[info] {.}/*:run
[info] */compile:run
[info] */*:run
[info] Related:
[info] test:run
In Dependencies there's the runtime:fullClasspath setting which means that run depends on its value.
According to SBT help, fullClasspath is...
[fullclasspath]> help fullClasspath
The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies.
You simply need to parse the value of the runtime:fullClasspath setting.
[fullclasspath]> show runtime:fullClasspath
[info] Updating {file:/Users/jacek/sandbox/so/fullClasspath/}fullclasspath...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] List(Attributed(/Users/jacek/sandbox/so/fullClasspath/target/scala-2.10/classes), Attributed(/Users/jacek/.sbt/boot/scala-2.10.3/lib/scala-library.jar))
[success] Total time: 0 s, completed Feb 13, 2014 1:27:38 AM
To have a more parsable output, use the following task that reads fullClasspath as defined for the runtime scope (Runtime in Scala/SBT code):
lazy val printClasspath = taskKey[Unit]("Dump classpath")
printClasspath := {
(fullClasspath in Runtime value) foreach {
e => println(e.data)
}
}
Unfortunatelly, the Runtime configuration is hardcoded and think an input task to accept a configuration would make it so much better.
or directly from the bash , dash , sh or whatever shell:
sbt 'inspect run' 'show runtime:fullClasspath'
and
sbt "inspect run" "show runtime:fullClasspath"
for Windows command line.
Add the line lazy val printClasspath ... in your build.sbt file.
Then at the command line run:
sbt printClasspath
I run the following command for the example graniteds-tutorial-data in the GraniteDS 3.0.1 GA github repo, but get the error trace given at the bottom of this post,
mvn clean install asciidoctor:process-asciidoc -Dserver=ejb -Dclient=flex
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project org.graniteds.tutorials:tutorial-data-client-flex:1.0-SNAPSHOT (C:\Documents and Settings\463072\FreshSpaceJuno\graniteds-tutorial-data\client-flex\pom.xml) has 2 errors
[ERROR] Unresolveable build extension: Plugin org.sonatype.flexmojos:flexmojos-maven-plugin:4.2-beta or one of its dependencies could not be resolved: The following artifacts could not be resolved:
com.adobe.flex.compiler:saxon9:jar:4.5.1.21328, com.adobe.flex.compiler:xalan:jar:4.5.1.21328: Could not transfer artifact com.adobe.flex.compiler:saxon9:jar:4.5.1.21328 from/to flex-mojos-plugin-repository (http://repository.sonatype.org/content/groups/flexgroup/): GET request of: com/adobe/flex/compiler/saxon9/4.5.1.21328/saxon9-4.5.1.21328.jar from flex-mojos-plugin-repository failed: Premature end of Content-Length delimited message body (expected: 5024396; received: 3576621 -> [Help 2]
[ERROR] Unknown packaging: swf # line 17, column 16
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
Any help on how to resolve this will be really appreciated. I am trying to port my application with the GraniteDS 2.0.3 to the latest 3.0.1. Also, are there any examples of a Flex EJB example using GraniteDS 3.0.1?
This is the log after I made the change you suggested.
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.graniteds.tutorials:tutorial-data-server-model:jar:1.0-SNAPSHOT
[WARNING] 'parent.relativePath' points at org.graniteds.tutorials:tutorial-data instead of org.graniteds.tutorials:tutorial-parent, please verify your project structure # line 28, column 13
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.graniteds.tutorials:tutorial-data-client-flex:swf:1.0-SNAPSHOT
[WARNING] 'parent.relativePath' points at org.graniteds.tutorials:tutorial-data instead of org.graniteds.tutorials:tutorial-parent-client-flex, please verify your project structure # line 9, column 13
[WARNING] 'build.plugins.plugin.version' for org.sonatype.flexmojos:flexmojos-maven-plugin is missing. # org.graniteds.tutorials:tutorial-parent-client-flex:3.0.1.GA, C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-parent-client-flex\3.0.1.GA\tutorial-parent-client-flex-3.0.1.GA.pom, line 67, column 21
[WARNING] 'dependencies.dependency.scope' for com.adobe.flex.framework:spark:swc must be one of [provided, compile, runtime, test, system] but is 'theme'. # org.graniteds.tutorials:tutorial-parent-client-flex:3.0.1.GA, C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-parent-client-flex\3.0.1.GA\tutorial-parent-client-flex-3.0.1.GA.pom, line 33, column 20
[WARNING] 'dependencies.dependency.scope' for org.graniteds:granite-client-flex:swc must be one of [provided, compile, runtime, test, system] but is 'internal'. # org.graniteds.tutorials:tutorial-parent-client-flex:3.0.1.GA, C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-parent-client-flex\3.0.1.GA\tutorial-parent-client-flex-3.0.1.GA.pom, line 49, column 20
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.graniteds.tutorials:tutorial-data-server-ejb:war:1.0-SNAPSHOT
[WARNING] 'parent.relativePath' points at org.graniteds.tutorials:tutorial-data instead of org.graniteds.tutorials:tutorial-parent-server-ejb, please verify your project structure # line 28, column 13
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. # org.graniteds.tutorials:tutorial-parent-server-base:3.0.1.GA, C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-parent-server-base\3.0.1.GA\tutorial-parent-server-base-3.0.1.GA.pom, line 37, column 21
[WARNING] 'build.plugins.plugin.version' for org.wildfly.plugins:wildfly-maven-plugin is missing. # org.graniteds.tutorials:tutorial-parent-server-base:3.0.1.GA, C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-parent-server-base\3.0.1.GA\tutorial-parent-server-base-3.0.1.GA.pom, line 84, column 21
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-war-plugin is missing. # org.graniteds.tutorials:tutorial-parent-server-base:3.0.1.GA, C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-parent-server-base\3.0.1.GA\tutorial-parent-server-base-3.0.1.GA.pom, line 46, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] GraniteDS Data Tutorial - Server Model
[INFO] GraniteDS Data Tutorial - Flex Client
[INFO] GraniteDS Data Tutorial - EJB Server
[INFO] GraniteDS Data Tutorial
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building GraniteDS Data Tutorial - Server Model 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
.
.
.
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) # tutorial-data-server-model ---
.
.
.
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 3 source files to C:\Documents and Settings\463072\FreshSpaceJuno\graniteds-tutorial-data\server-model\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) # tutorial-data-server-model ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\Documents and Settings\463072\FreshSpaceJuno\graniteds-tutorial-data\server-model\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) # tutorial-data-server-model ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) # tutorial-data-server-model ---
Downloading: http://repository.sonatype.org/content/groups/flexgroup/org/apache/maven/surefire/surefire-booter/2.12.4/surefire-booter-2.12.4.pom
Downloading: http://dl.bintray.com/graniteds/tutorial-dependencies/org/apache/maven/surefire/surefire-booter/2.12.4/surefire-booter-2.12.4.pom
.
.
[INFO] Installing C:\Documents and Settings\463072\FreshSpaceJuno\graniteds-tutorial-data\server-model\pom.xml to C:\Documents and Settings\463072\.m2\repository\org\graniteds\tutorials\tutorial-data-server-model\1.0-SNAPSHOT\tutorial-data-server-model-1.0-SNAPSHOT.pom
[INFO]
[INFO] --- asciidoctor-maven-plugin:0.1.4:process-asciidoc (default-cli) # tutorial-data-server-model ---
Downloading: http://repository.sonatype.org/content/groups/flexgroup/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
Downloading: http://dl.bintray.com/graniteds/tutorial-dependencies/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
.
.
.
Downloaded: http://repo.maven.apache.org/maven2/org/graniteds/granite-client-flex45-advanced/3.0.1.GA/granite-client-flex45-advanced-3.0.1.GA.swc (366 KB at 97.0 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] GraniteDS Data Tutorial - Server Model ............ SUCCESS [7:41.452s]
[INFO] GraniteDS Data Tutorial - Flex Client ............. FAILURE [1:18.299s]
[INFO] GraniteDS Data Tutorial - EJB Server .............. SKIPPED
[INFO] GraniteDS Data Tutorial ........................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9:08.939s
[INFO] Finished at: Thu Jan 23 12:00:48 IST 2014
[INFO] Final Memory: 25M/59M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project tutorial-data-client-flex: Could not resolve dependencies for project org.graniteds.tutorials:tutorial-data-client-flex:swf:1.0-SNAPSHOT: Could not transfer artifact com.adobe.flex.framework:framework:zip:configs:4.5.1.21328 from/to flex-mojos-repository (http://repository.sonatype.org/content/groups/flexgroup/): Checksum validation failed, expected 410a3bcaceb1ea1960b2521818dc7ab9fac35aef but is 5359ccaf2d93e09ff2ec6fffe0648c611f42314b -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :tutorial-data-client-flex
Could you try renaming temporarily your .m2 to .m2.bak so we can make sure that this is not just an issue with your local repository?
are there any examples of a Flex EJB example using GraniteDS 3.0.1?
Yes, the one you are trying to launch.
Thanks.
I am working on a project using Flex and until now we are using Windows to run flex unit tests for the modules/artifacts that require flex environment. Because of given dependencies, it is difficult to automatize anything because I have to swithch between linux/windows when running those maven tests.
I have made an effort to try to make flex units tests run on linux, but have not succedded [yet]. Here is small part of the stack trace from maven clean test -X on a flex project.
[INFO] Flexmojos 3.8
[INFO] Apache License - Version 2.0 (NO WARRANTY) - See COPYRIGHT file
[INFO] Running tests /root/trunk/flex-project/flex-surface/flex-surface-common/flex-surface-common-flex/target/test-classes/TestRunner.swf
[DEBUG] [org.sonatype.flexmojos.test.monitor.AsVmPing] opened server socket on port 13540
[DEBUG] [org.sonatype.flexmojos.test.monitor.ResultHandler] opened server socket on port 13539
[DEBUG] [LAUNCHER] ASVmLauncher starting
[DEBUG] [LAUNCHER] exec: /usr/bin/flashplayer - /root/trunk/flex-project/flex-project-arbeidsflate/flex-surface-common/flex-surface-common-flex/target/test-classes/TestRunner.swf
[DEBUG] [LAUNCHER] Creating process
[WARNING] [LAUNCHER] Using xvfb-run to launch headless tests
[DEBUG] [LAUNCHER] Process created java.lang.UNIXProcess#1a6c088
[DEBUG] [MOJO] launcher RUNNING
[DEBUG] [MOJO] pinger STARTED
[DEBUG] [MOJO] resultHandler STARTED
[DEBUG] [LAUNCHER] Output pumpers ON
[DEBUG] [LAUNCHER] Waiting for flashplayer termination
[DEBUG] [LAUNCHER] Flashplayer closed
[DEBUG] [LAUNCHER] Unexpected return code 1
[DEBUG] [SYSERR]: mktemp: cannot create temp file /tmp/Xauthority: File exists
[DEBUG] [MOJO] launcher ERROR
[DEBUG] [MOJO] pinger STARTED
[DEBUG] [MOJO] resultHandler STARTED
[INFO] ------------------------------------------------------------------------
[INFO] Tests run: 0, Failures: 0, Errors: 0, Time Elapsed: 0 sec
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
I need help find out what is wrong. If any of you guys know any other way to run flex units test on linux, NOT THROUGH JENKINS/HUDSON, I will be extremely grateful.
First of all, just follow the linux part of the instructions on the following site:Running unit tests - FlexMojos. Download the flashplayer and untar it some appropriate place and put the absolute directory path in your PATH variable.
Download the xvfb-run script and change the following 'fi'
# If the user did not specify an X authorization file to use, set up a temporary
# directory to house one.
if [ -z "$AUTHFILE" ]; then
XVFB_RUN_TMPDIR="${TMPDIR:-/tmp}/$PROGNAME.$$"
if ! mkdir -p -m 700 "$XVFB_RUN_TMPDIR"; then
error "temporary directory $XVFB_RUN_TMPDIR already exists"
exit 4
fi
AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority)
fi
to
# If the user did not specify an X authorization file to use, set up a temporary
# directory to house one.
if [ -z "$AUTHFILE" ]; then
XVFB_RUN_TMPDIR=$(mktemp -d)
if ! mkdir -p -m 700 "$XVFB_RUN_TMPDIR"; then
error "temporary directory $XVFB_RUN_TMPDIR already exists"
exit 4
fi
AUTHFILE=$(mktemp "$XVFB_RUN_TMPDIR/Xauthority")
fi
I solved my problem, hopefully you will too.
Good luck.