Y>Т.е. менять трехстрочкин brew install scala29 & scalac & scala на установку SBT, создание sbt проекта и т.п. мне не видится нужным. Y>Вы правда когда вам на скала нужно запустить небольшой скрипт генерите sbt проект всегда?
А, так речь про скриптинг. Никогда не смотрел на Скалу в таком разрезе, всё время думал, что эта фича там чисто для быстрой проверки каких-нибудь идей, а не для продакшн.
Y>>Вопрос именно в наличии SVM — как вы переключаете версии scala налету? Т.е. вот есть проект которые для такой версии, а есть проект который для такой версии. Не переустанавливать же системую scala всегда? Y>>Ответ, нет такого не существует меня тоже устроит
Мы пошли на третий круг
A>А зачем Скалу вообще куда-то глобально ставить?
Чтобы писать scalac вместо /bla/bla/scalac
A>Если речь идёт про запуск приложения, то Скала — это ещё одна библиотека вместе с другими библиотеками приложения A>Если речь идёт про компиляцию — то используй Maven или SBT, которые сами скачают и соберут под нужную версию (или под несколько сразу)
Погодите, давайте отвлечемся от scala и поговорим про java. Вот есть у вас java скрипт из десятка строчек. Вам его нужно компилировать и запускать.
Я буду в консоле писать для этого javac & java. Ибо генерить build.xml (али другой конфигурационный файл для другой системы сборки) который по размеру больше чем сам исходный скрипт мне видиться лишним.
Как я понимаю все остальные участники обсуждения таки напишут (сгенерят build.xml).
A>Руби-вэй с его гемсами, которые сделаны паралельно системному менеджеру пакетов — говно.
Говно/не говно. Оно зависит от задачи. По мне так если задача скомпилировать и запустить скрипт — то java/scala гавно
Здравствуйте, Alyash77, Вы писали:
Y>>Когда я пишу ruby скрипт, я тоже запускаю его как ruby bla.rb, установив один раз на сервер нужную версию ruby A>Руби — отстой редкостный с бредовой системой версий и пакетов. Не надо его подходы тащить дальше. Забудте как страшный сон.
Y>>Т.е. менять трехстрочкин brew install scala29 & scalac & scala на установку SBT, создание sbt проекта и т.п. мне не видится нужным. A>вы вот раз в 10 больше строк уже против SBT написали — а свою проблему так и не решили.
Я уже решил, именно через пакетныый менеджер За неимением родного аналога rvm
Y>>Вы правда когда вам на скала нужно запустить небольшой скрипт генерите sbt проект всегда? A>Неа — я его копирую с другого проекта и имя сборки меняю Тем более что о-ужас-скрипт будет в пол-экрана вместе со всеми коментраиями
Отлично. А теперь представте, что другого проекта нет, о sbt вы только сейчас услышали. Но задача запустить scala скрипт все еще стоит
Ладно, давайте закругляться — а то классический анекдот получается про русский форум — спросишь как сделать что-то, а тебе в ответ расскажут что тебе это не нужно и вообще, что-то там гавно
A>А, так речь про скриптинг. Никогда не смотрел на Скалу в таком разрезе, всё время думал, что эта фича там чисто для быстрой проверки каких-нибудь идей, а не для продакшн.
Опустил так опустил
Скала отлично в продакшине живет (у меня второй год). AKKA/Lift/Play ну явно не для "проверки идей" на сакалу тянули.
Y>Отлично. А теперь представте, что другого проекта нет, о sbt вы только сейчас услышали. Но задача запустить scala скрипт все еще стоит
иду на github и тащу для примера вот это (первое что в поиске всплыло):
git clone https://github.com/scalamacros/sbt-example-paradise210
cd sbt-example-paradise210
sbt
compile
вычищаю чужие сорсы, заменив своими
правлю версию скалы на нужную и заливаю в репозиторий. Забыв о всяких пакетах, версиях, зависимостях, совместимостях ОС и тд
Вас этот вариант не устраиватет и Вы пишите скрипт, потом правите его, потом зависимости и версии либ меняете, потом он не запускается на другой ос, потом пишите ридми как установить правильную версию на правильной ос, потом опять оно не работает... оно вам вот такое надо?
Здравствуйте, Alyash77, Вы писали:
A>>А, так речь про скриптинг. Никогда не смотрел на Скалу в таком разрезе, всё время думал, что эта фича там чисто для быстрой проверки каких-нибудь идей, а не для продакшн.
A>Опустил так опустил A>Скала отлично в продакшине живет (у меня второй год). AKKA/Lift/Play ну явно не для "проверки идей" на сакалу тянули.
Речь про скриптинг, написали же. Хотя лично у меня и скриптинг на скале вовсю работает. К примеру, куча вспомогательного кода к SBT для сборки и инкрементального деплоймента проектов на ней. Не люблю, знаете ли, по сотне языков размазываться.
D>Речь про скриптинг, написали же. Хотя лично у меня и скриптинг на скале вовсю работает. К примеру, куча вспомогательного кода к SBT для сборки и инкрементального деплоймента проектов на ней. Не люблю, знаете ли, по сотне языков размазываться.
Скрипты/сборки — большой разницы по сути нету. Делать руками то что SBT делает автоматом(для версий скалы и зависимостей) не вижу смысла, кроме чисто академических/велосипедостроительных упражнений.
Y>Приветствую...
Y>Существует ли в природе Scala Version Manager — по аналогии с Ruby Version Manager — RVM и т.п.
Y>Т.е. есть задача иметь возможность поставить батником нужную версию. Новой версией не собираются новые исходники (вернее есть jar классы сторонней scala библиотеки которая не собирается под 2.10 — simplex3d) Y>Под OSX brew не умеет без шаманства ставить старые версии
Y>Компиляция идет через просто запуск scala с параметрами.
Y>Или можно как нибудь scala сказать про режим совместимости со старой версией?
Смысл в том, что SBT имеет несколько точек входа, в том числе скрипт scalas, умеющий запускать скрипты.
Один раз устанавливаем scalas (на странице написано, где взять).
Здравствуйте, Young, Вы писали:
Y>Считаешь что его все же нужно заменить на marven/sbt и прочее? Не уверен.
Я, обычно, для "проекта" из одного cpp файла пишу Makefile/CMakeLists. Всяк разрастись может, лучше сразу облегчить дальнейшую жизнь, чем потом исправлять ситуацию.
Здравствуйте, Elifant, Вы писали:
E>Я вижу про SBT уже много написали
E>Но на всякий случай упомяну про http://www.scala-sbt.org/release/docs/Detailed-Topics/Scripts E>Не вам, так другим пригодится.
E>Смысл в том, что SBT имеет несколько точек входа, в том числе скрипт scalas, умеющий запускать скрипты. E>Один раз устанавливаем scalas (на странице написано, где взять).