
Hip
03.07.2018
08:21:21
нужен только при билде ear/war?

Rikland
03.07.2018
08:22:18

Alexander
03.07.2018
08:22:19
maven/gradle для всего нужен. То есть все можно (и рекомендуется) делать через них

Hip
03.07.2018
08:22:32
ну в продакшене

Google

Hip
03.07.2018
08:22:38
нету мавена\гредела
правильно?

Alexander
03.07.2018
08:22:54
Не понял вообще

Anton
03.07.2018
08:23:37

Rikland
03.07.2018
08:23:42
Ну если у тебя продакшн не ci, тогда не должно быть.

Alexander
03.07.2018
08:23:54
Кстати, по поводу мавена к среде есть претензия. Если в репозиториях поселяется sonatype, то обновление индексов идет несколько часов и потом директория с конфигурациям - несколько гигабайт

Rikland
03.07.2018
08:25:16

Alexander
03.07.2018
08:25:19
И я не про тесты. У меня всякая наука. Иногда для того, чтобы построить график проще скрипт из среды запустить ,чем собрирать все.

Andrew
03.07.2018
08:25:36

Alexander
03.07.2018
08:25:47
Это тоже можно грэдлом делать в принципе... кстати надо посмотреть, как оно работает. На груви глючило, но на котлине может и будет работать.

Rikland
03.07.2018
08:26:26

Google

Alexander
03.07.2018
08:27:39
Да нет у меня сонара, просто какой-то из кусков тянет этот репозиторий. А в идее нет настроек, чтобы игнорить индексацию отдельных репозиториев

Anton
03.07.2018
08:27:41

Rikland
03.07.2018
08:30:48

Alexander
03.07.2018
08:31:54
Ну в общем-то и зря. Зависит конечно от сферы, но всякие protobuf и tornadofx весьма удобны.

Quantum Harmonizer
03.07.2018
08:32:25
tornadofx? кодогенерация?

Rikland
03.07.2018
08:32:34
А дальше можно работать

Alexander
03.07.2018
08:33:03
Это да, но подстветка синтаксиса, автоподстановка и прочее - это крайне полезно

Aleksandr
03.07.2018
08:34:24
парни подскажите по синтаксису котлина как правильно написать
у меня есть сет фрагментов

Rikland
03.07.2018
08:34:34

Aleksandr
03.07.2018
08:34:45
мне нужен лист имен этих фрагментов
тупо запустить foreach по сету и добавить в лист?

Alexander
03.07.2018
08:35:10
А кто говорил про генерацию кода?

Quantum Harmonizer
03.07.2018
08:35:15

Aleksandr
03.07.2018
08:35:30
да
я пробовал как-то так
val mutableListOf = mutableListOf(fragmentStack.forEach {
getScreenName(it as BaseAppFragment<*>)
})
но тогда у меня в листе просто kotlin.Unit

Quantum Harmonizer
03.07.2018
08:36:18
дык forEach возвращает Unit

Google

Alexander
03.07.2018
08:36:32
`fragmentStack.map { getScreenName(it as BaseAppFragment<*>) }`

Aleksandr
03.07.2018
08:38:33
спасибо получилось
и еще вопрос маленький
такая запись для проверки на null правильная?
где fragmentStack nullable

Quantum Harmonizer
03.07.2018
08:40:14

Aleksandr
03.07.2018
08:40:50
ну... по бест практик и т.д.

dimiii
03.07.2018
08:53:24

Aleksandr
03.07.2018
08:53:50

dimiii
03.07.2018
08:53:50
и почему mutableList?

Aleksandr
03.07.2018
08:53:53
спасибо

dimiii
03.07.2018
08:55:55
Я думаю лучше дефолтный listOf, который immutable
Ой, сорян, это вообще просто имя
.map вроде immutable list возвращает, в любом случае имя получше можно

Alexander
03.07.2018
08:57:58
Если это весь код, там вообще можно инлайнить все, не создавая промежуточного листа

Aleksandr
03.07.2018
08:58:39

Google

Alexander
03.07.2018
08:59:42
fragmentStack.joinToString(separator = " -> ") { getScreenName(it) }
Ну строковую переменную можно создать для читаемости
Компилятор ее все равно заинлайнит

Aleksandr
03.07.2018
09:03:58
щя подумаю как сделать, у меня тут расширилась задача
еще небольшой вопрос
работа с возможным bundle null тут правильная или лучше написать по другому?
соори за тупые вопросы, но мне сказали что я пишу на котлине в стиле джавы что неправильно

Quantum Harmonizer
03.07.2018
09:05:27
лучше чтобы bundle никогда не был null

Aleksandr
03.07.2018
09:05:30
и я пытаюсь понять это все

Igor
03.07.2018
09:05:57
Про @kotlin_mobile слышал? Не всем здесь интересен андроид

Alexander
03.07.2018
09:06:01
val bundle = arguments ?: Bundle()

Aleksandr
03.07.2018
09:06:07

Alexander
03.07.2018
09:06:31
Но, судя по подсветке arguments сам мутабельный, что не хорошо

Quantum Harmonizer
03.07.2018
09:06:48

Victor
03.07.2018
09:06:54
может так?
fragmentStack?.map { getScreenName(it as BaseAppFragment<*>) }?.joinToString { " -> " }?.run { println(this) }

Alexander
03.07.2018
09:06:55
а

Victor
03.07.2018
09:07:40
а, выше уже лучше пример дали

Alexander
03.07.2018
09:07:43

Google

dimiii
03.07.2018
09:08:01

Aleksandr
03.07.2018
09:09:12
спасибо

Quantum Harmonizer
03.07.2018
09:10:03
val args = arguments ?: Bundle().also { arguments = it }

Alexander
03.07.2018
09:10:48
эээ. Чего-то оно не то делает
тут аргументы которые в лямбде к чему относятся?

Quantum Harmonizer
03.07.2018
09:11:25
оно заменяет ещё и строчку arguments = bundle

Alexander
03.07.2018
09:11:48
ой
А так вообще не надо делать если есть возможность. Изменение внешнего состояния изнутри функции. Бяка

Aleksandr
03.07.2018
09:12:41
val bundle = (arguments ?: Bundle()).also { }

Quantum Harmonizer
03.07.2018
09:13:29
.also { } — это ошибка?

Aleksandr
03.07.2018
09:13:49
а я понял
да туплю
я неправ

Kirill
03.07.2018
10:31:34

Sergey
03.07.2018
10:37:23

Igor
03.07.2018
10:39:08

Sergey
03.07.2018
10:40:24
Compile independent modules in parallel
если включена сборка через гредл, то это опция не работает