скаладок для игры!Каркас с модулем Scala - PullRequest
2 голосов
/ 10 декабря 2011

Я немного озадачен тем, как запустить скаладок в Play! рамочный проект. Кажется, есть много хитростей, которые нужно учитывать, и я не добиваюсь успеха.

Есть ли учебник, который мне не хватает? Вам нужно добавить в sbt или инструмент для сборки, чтобы это было разумно?

Ответы [ 2 ]

2 голосов
/ 11 октября 2013

В проекте с Playframework 2.2.0 просто используйте следующие команды:

clean
doc

Ответом документа является (только если вы используете чистую), т. Е.

Основная документация по Scala API для ... / myproject / target / scala-2.10 / api ... Затем откройте index.html в этой папке.

Если вы ищете все задачи, просто наберите:

tasks -V
1 голос
/ 12 декабря 2011

Я нашел решение, которое работает, но не идеально. Вам нужно запустить приложение для генерации кода Scala для шаблонов. Затем запустите 'play scaladoc' с кодом ниже.

Добавить 'play / framework / pym / play / commands / scaladoc.py' с содержанием:

import os, os.path
import shutil
import subprocess

from play.utils import *

COMMANDS = ['scaladoc', 'sd']

HELP = {
    'scaladoc': 'Generate your application scaladoc'
}

def execute(**kargs):
    command = kargs.get("command")
    app = kargs.get("app")
    args = kargs.get("args")
    play_env = kargs.get("env")

    app.check()
    modules = app.modules()
    if not os.environ.has_key('SCALA_HOME'):
        scaladoc_path = "scaladoc"
    else:
        scaladoc_path = os.path.normpath("%s/bin/scaladoc" % os.environ['SCALA_HOME'])

    fileList = []
    def add_scala_files(app_path):
        for root, subFolders, files in os.walk(os.path.join(app_path, 'app')):
            for file in files:
                if file.endswith(".scala"):
                    fileList.append(os.path.join(root, file))
        for root, subFolders, files in os.walk(os.path.join(app_path,
            'tmp/generated')):
            for file in files:
                if file.endswith(".scala"):
                    fileList.append(os.path.join(root, file))
    add_scala_files(app.path)
    for module in modules:
        add_scala_files(os.path.normpath(module))
    outdir = os.path.join(app.path, 'scaladoc')
    sout = open(os.path.join(app.log_path(), 'scaladoc.log'), 'w')
    serr = open(os.path.join(app.log_path(), 'scaladoc.err'), 'w')
    if (os.path.isdir(outdir)):
        shutil.rmtree(outdir)
    scaladoc_cmd = [scaladoc_path, '-classpath', app.cp_args(), '-d', outdir] + args + fileList
    print "Generating scaladoc in " + outdir + "..."
    subprocess.call(scaladoc_cmd, env=os.environ, stdout=sout, stderr=serr)
    print "Done! You can open " + os.path.join(outdir, 'overview-tree.html') + " in your browser."
...