"dist" command gets "not a valid command" error - scala

I have a working Play Framework 2.1 application generated with typesafe activator that I've developed in Scala. I'm trying to deploy it in CloudBees using the instructions that can be found here: http://wiki.cloudbees.com/bin/view/RUN/Playframework#HDeployingaPlay2application using the method described under "Using Cloudbees SDK."
However, when I load up the play console and try to run the "dist" command, I get the error "Not a valid command: dist."
I've tried two run this three different ways:
In the terminal window (I'm using Mac OS X), I navigated to the project directory, ran the "activator" application (there is no application in that directory called "play", but "activator" seems to be the), then from the prompt that appears I enter the command "dist."
I downloaded the regular (non-activator) Play Framework distirbution file, add the directory to my path using "export PATH=$PATH:/Applications/play-2.2.2", navigated to the project directory, and ran the command "play dist."
Installed play using Homebrew. Navigated to the project directory and ran "play dist".
All three methods give me the same error (see below). Is the method different for my version of play? Am I missing something from the sbt file? How can I get this working?
Full output for "play dist":
Macmini-##########-#:nimrandslibrary.searchfu.esl kpyancey$ play dist
[info] Loading project definition from /Users/kpyancey/Projects/NimrandsLibrary.SearchFu.Esl/project
[info] Set current project to NimrandsLibrary.SearchFu.Esl (in build file:/Users/kpyancey/Projects/NimrandsLibrary.SearchFu.Esl/)
[error] Not a valid command: dist (similar: set, iflast, last)
[error] Not a valid project ID: dist
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: dist (similar: test, ivy-sbt, history)
[error] dist
[error] ^

I think you have misconfigured something in your project.
To double check, generate a new project from Activator or try downloading https://github.com/CloudBees-community/play2-clickstart (which is correctly configured) and run play dist.

Related

sbt new not a valid command

I am going through a coursera course and as explained, I am trying to create a new sbt project using the below command:
sbt new scala/hello-world.g8
In a Windows machine. I have sbt 0.13.8 installed. When executing the command it is giving the below error.
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Set current project to workspaces (in build file:/D:/software%20materials%20workspaces/WorkSpaces/)
[error] Not a valid command: new (similar: set)
[error] Not a valid project ID: new
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: new (similar: name, run, runner)
[error] new
[error] ^
I am not able to understand what the problem is. Help me out in understanding and solving this problem
I agree with Seth. It looks like the first version to include new is 0.13.13. I just came across this in creating new apps with more recent versions of the Scala Play framework (ex: 2.5). The github templating command line, giter8, is called via sbt new like this:
sbt new scala/scala-seed.g8
On my Mac I ran into a similar issue and fixed it by updating brew (used to install) then updating sbt:
brew update
brew upgrade sbt
First step was needed so the latest sbt could install. If whatever package manager you are using is out of date, it may result in the same problem. Not sure what Windows needs to install but this may help with others landing on this question.

play command doesn't work when inside of an existing sbt project

So I have an existing sbt project setup:
common
services
project/build.scala
build.sbt
Now when inside this folder, I want to create a play application called 'web'.
I get this error:
error] Not a valid command: new (similar: set)
[error] Not a valid project ID: new
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: new (similar: name, run, runner)
[error] new
[error] ^
The play command works just fine if I try the same thing in a new folder.
How can I get the play command to work inside of an existing sbt project?
I'm using sbt .13
Why not create the project outside of the current structure, then move the created directory where you want it to live?

Just downloaded the Scala Lift chat application and use the instructions to run it, but it fails

I cloned the project from:
https://github.com/dpp/simply_lift.git
Then I followed the instructions which state:
Change directories into the chat directory and type sbt update ~jetty-run.
SBT fetches dependencies, and then I get this:
[error] Not a valid command: jetty-run
[error] Expected '/'
[error] Expected ':'
[error] Not a valid key: jetty-run (similar: run)
[error] jetty-run
[error]
Now what?
In versions of SBT newer than 0.10.0, ~jetty-run has been removed in favour of:
container:start
container:stop
deployment // compiles the changes made while jetty is running.
You should've used sbt from the packaged archive (./sbt). Instead of a system-wide SBT (which may be new).
Anyway, I suggest to use use the new SBT and everything new, too. This is the official and good starting point for a project: https://github.com/lift/lift_25_sbt/
(personally I use it and I'm cool with how it works)

Play 2.0 eclipsify command with sources broken?

Update: I found another one with a similar problem http://groups.google.com/group/play-framework/browse_thread/thread/c502be978a320cb7/28bc3a3253933aed?show_docid=28bc3a3253933aed
If I run Play and then try to do an eclipsify with sources Play says it can't find the files.
[todolist] $ eclipsify with-source=true [info] About to create Eclipse
project files for your project(s). [warn] [NOT FOUND ]
org.scala-lang#scala-library;2.9.1!scala-library.jar(src) (0ms)
Steps to reproduce.
Command: Play new test
Accept the name
Command: 1, Choose Create a simple Scala application
Command: cd test
Command: play
Command: eclipsify with-source=true
I will a have a working eclipse project and the referenced jar files.
However I won't have the source code compiled into the jars.
Try to do a play clean and execute the command again. If it still fails please raise a bug in lighthouse

Need a better "getting started" guide for Lift

I have used Scala for about a year and now want to get into Lift.
Following the official site, I got the guide at http://simply.liftweb.net/index-Chapter-2.html#toc-Chapter-2
However, the example does not work. Here is the error I get.
C:\Lift\hello>sbt update ~jetty-run
C:\Lift\hello>set SCRIPT_DIR=C:\scala\bin\
C:\Lift\hello>java -Xmx512M -jar "C:\scala\bin\sbt-launch.jar" update ~jetty-run
[info] Set current project to default-7944be (in build file:/C:/Lift/hello/)
[success] Total time: 0 s, completed 22 Feb, 2012 3:41:06 PM
[error] Not a valid command: jetty-run
[error] Not a valid project ID: jetty-run
[error] Not a valid configuration: jetty-run
[error] Not a valid key: jetty-run (similar: run)
[error] ~jetty-run
[error] ^
I have not used sbt before and prefer not to get sidetracked by having to learn sbt, maven or other stuff. I essentially want a "hello" world application (in this case, the chat application) to start up and running before I do any more digging into Lift.
It is unfortunate that the very first example in the official "getting started" guide is broken. Any ideas what the errors are. I tried the method suggested at http://groups.google.com/group/simple-build-tool/browse_thread/thread/60635edfadbcd816 without any luck
UPDATE
If what you want is just a "hello" world Lift application, I will suggest you download the official Lift 2.4 release here.
After you unzip that file, just cd scala_28\lift_blank or cd scala_29\lift_blank according to what Scala version you would like to use.
Then run sbt update ~jetty-run, this release included correct version and SBT start script for windows.
After this, you should able to browse http://localhost:8080 and get a single web page that has current date and time displayed, a typical Hello World program for web framework.
It seems you are using SBT 0.11 but Simply Lift is using SBT 0.7.x.
SBT has been made a lot of changes from 0.7.x to 0.11, there is no jetty-run command in 0.11.
You should download old SBT version if you just want it work and do not care using a old version SBT.
http://code.google.com/p/simple-build-tool/downloads/list
I think 0.7.7 will work.
It seems like you don't have ./ on your path. I believe all you need to do is go into the chat folder and use the command "./sbt update ~jetty-run" instead of "sbt update ~jetty-run".
It's and old question, but I haven't found that solution anywhere yet:
Seems like in lift 2.5 you should do container:start instead of ~jetty-run, so:
./sbt[enter]
update[enter]
container:start[enter]
My chat app was on http://0.0.0.0:8080
Install SBT 0.11+
Create a folder and follow instructions http://www.assembla.com/wiki/show/liftweb/Using_SBT
Copy src folder of https://github.com/lift/lift_24_sbt/tree/master/scala_29/lift_blank (or lift_basic) in your project folder
cd to your project folder and run sbt.
container:start will start server, container:stop to stop
OR use lifty