Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Sencha Cmd Как создать воркспейс без копирования SDK? (https://javascript.ru/forum/extjs/59474-sencha-cmd-kak-sozdat-vorkspejjs-bez-kopirovaniya-sdk.html)

khusamov 12.11.2015 17:05

Sencha Cmd Как создать воркспейс без копирования SDK?
 
Я сейчас делаю воркспейс так:

sencha -sdk c:/sencha/6.0.0 generate workspace ./

Он копирует SDK из-за чего пухнет репозиторий. Как отменить копирование? Пусть ссылается на один единственный.

Infarch 12.11.2015 18:16

Из своей практики знаю, что простое создание воркспейса не копирует СДК. А вот когда приложение в него добавляете, то указываете путь к сдк, тогда и происходит копирование, если еще не скопировано. А что репозиторий пухнет - это уже другой вопрос. Собственно, это одна из причин того что я стал хранить в репе только сами приложения, линкуя их в воркспейс.

khusamov 12.11.2015 20:53

У меня как раз наоборот.

Команда:
sencha -sdk c:/sencha/6.0.0 generate workspace ./
копирует в директорию воркспейса SDK

А вот далее команда создания приложения уже не копирует, если дать ссылку на SDK внутри воркспейса.

Но мне хотелось бы, чтобы в обоих случаях ничего не копировалось.

Infarch 13.11.2015 11:06

А какая у вас версия cmd?

khusamov 13.11.2015 11:08

Шестая

Infarch 13.11.2015 11:30

У меня тоже шестая.

sencha generate workspace c:\bb_projekt\sencha\xx

Эта команда создает воркспейс без фреймворка. Но вот как заюзать экст без копирования я хз...

khusamov 13.11.2015 14:42

Да, удалось воркспейс без SDK сделать. Но при попытке создать приложение, он SDK скопировал... Это плохо.

Теперь вопрос в том, как делать пакеты и приложения в воркспейсе без SDK без копирования туда SDK?

Infarch 13.11.2015 16:41

Может, проще таки скопировать один раз сдк и не морочить себе голову? Полежит в репозитории... Если вам таки нужно поместить под сорц-контроль целый воркспейс, то это наверно единственный выход.

khusamov 13.11.2015 16:44

Если можно было обойтись ОДНИМ воркспейсом, то наверное вопрос я и не поднимал бы. Попробую отправить вопрос в техподдержку. Иногда они все-таки отвечают.
https://www.sencha.com/forum/showthr...54#post1120554

Пока единственный выход не размещать в репу сам воркспейс. Если нет зависимости приложений и пакетов от воркспейса, то теоретически это прокатит. Правда в репозитории придется составить инструкцию по восстановлению воркспейса на случай, когда оный будет утрачен (а он будет утрачен по разным причинам: переустановка Windows, завершение работы над проектом, открытие рабочей копии на другом компьютере, другой разработчик и прочее).

khusamov 13.11.2015 17:05

Специальная для этого опция в конфиге воркспейса не помогла:
ext.dir=c:/sencha/6.0.0

siber-biber 13.11.2015 20:08

Не обязательно же все папки держать в version control system ..есть же .gitingore список для git (для других систем контроля версий тоже есть чтото аналогичное). Просто вносится ext в список исключений и всё. Весь workspace скопом хранить то нафига? Там еще присутствует папка build к примеру, её тоже исключить надо по идее.

khusamov 13.11.2015 22:58

Если так делать, то потом, чтобы восстановить рабочее окружение много ручных действий нужно произвести.

Если можно было бы давать ссылку, то достаточно просто склонировать репозиторий.

А в случае .gitingore придется склонировать репо, а потом делать симлинк внутри воркспейса. И так с каждым репо делать.

Не, если нет привязки пакетов и приложений к воркспейсу, то тогда лучше в репо хранить сами пакеты и приложения. А воркспейс воссоздавать по инструкции. А эту привязку как проверить я не знаю. Экспериментально не выйдет, ибо по времени затратный.

Infarch 14.11.2015 15:04

Я все же предпочитаю линки. Тогда в репозитории лежит самое важное - код. А еще в корпоративной файлопомойке, в отдельном разделе для софта, лежат версии экста которые когда либо использовались. А еще в репе есть док по инсталляции и прочим getting started. И этого вполне достаточно, во всяком случае пока.

khusamov 16.11.2015 17:19

Техподдержка ответила наконец-то:

Цитата:

In your workspace, you should be able to modify the ext.dir in .sencha/workspace/sencha.cfg like so:

Code:
# ext.dir=${workspace.dir}/ext // old path ext.dir=${workspace.dir}/../ext6 // new path

Then, in your app's sencha.cfg, change the build.web.root:

Code:
build.web.root=${workspace.dir}/../
https://www.sencha.com/forum/showthr...08#post1120708

Но решение хуже выглядит, чем просто ставить симлинк внутри воркспейса:

1) во первых надо править конфиг не только воркспейса (что было бы логично), но еще и конфиг приложения
2) во вторых, каталог сборки переносится куда-то ../ выше... не совсем это логично...
3) в третьих относительные пути выглядят не красиво и не удобно.. Это сам SDK надо как-то изначально располагать... В общем было бы удобнее, если там позволили абсолютную ссылку дать

Итог: похоже они не предусмотрели такой вариант и дали рецепт какой есть.
Лучше просто сделать симлинк внутри воркспейса и прописать его в .gitignore


Часовой пояс GMT +3, время: 21:31.