@KotlinLangRu

Страница 65 из 90
Костя
07.05.2018
10:33:49
как же конфликты при сборке?
а какие-то есть репозитории которые по умолчанию сразу в проекте есть уже ? как я понимаю jitpack по умолчанию нету, если не указать, то не видит его

Костя
07.05.2018
10:35:19
нет
обидно (

Quantum Harmonizer
07.05.2018
10:35:21
jcenter явно написан в новых проектах

Google
Костя
07.05.2018
10:35:53
а jcenter == jitpack ?

Quantum Harmonizer
07.05.2018
10:37:02
нет

Костя
07.05.2018
10:37:30
jcenter явно написан в новых проектах
а в jcenter можно свою либу пихнуть ?

Quantum Harmonizer
07.05.2018
10:38:37
да

Костя
07.05.2018
10:42:05
да
jitpack вообще собирает сам с гитхаба проекты, удивительно )

просто по url на проект, выдает зависимость которую добавить надо в свой и всё

а вот с bitbucket походу так не катит, похоже нужно на github тянуть проект, чтобы его в jitpack добавить.. дела.. )

Щерба
07.05.2018
10:51:08
Не пытаться присвоить Unit в свойство.
Спасибо! Там нужно было просто убрать ссылку на переменную

Костя
07.05.2018
11:04:44
да
кстати сходу нюанс про который я говорил, добавил либу в java проект, проект работает, при использовании либы падает, т.к. в java project нету kotlin stdlib, при добавление всё сработало, собственно тот слух который я слышал, kotlin lib в java project работает только с доп. махинациями (

Костя
07.05.2018
11:07:22
Никакие это не махинации, это добавление зависимостей библиотеки.
но я хочу брать библиотеку и использовать, может там чуваки ваще не знают что такое kotlin и зачем им добавлять доп. зависимость себе в проект

ради моей библиотеки

Google
Костя
07.05.2018
11:08:59
maven repo
я поглядел, много телодвижений там блин ( статьи целый как добавить, может потом поковыряюсь, спасибо если бы там просто кинул aar любой создал ему версию или там package и добавил в проект для проверки, а так ради тестовой либы, очень много нюансов нужно сделать

чтобы посмотреть будет ли это работать

Quantum Harmonizer
07.05.2018
11:09:45
Просто не нужно приписывать эту проблему котлину, это глобальная проблема сборки — что делать, когда библиотека зависит от другой библиотеки.

Костя
07.05.2018
11:12:04
Просто не нужно приписывать эту проблему котлину, это глобальная проблема сборки — что делать, когда библиотека зависит от другой библиотеки.
ну конкретно у меня задача написать библиотеку, которую можно добавить файлом(aar), позже возможно через repo, в одну строчку через gradle и чтобы это работало в java и kotlin проектах для андройда как я понимаю это задача не решаемая если выбирать котлин, и придется делать это на java ? вот сижу ресерчаю что и как )

Костя
07.05.2018
11:13:42
решаемая, просто с костылями. fatAar для джавистов, например.
как я понял у меня fatAar не получился ( т.к. в моей либе нету stdlib и пришлось добавлять его в java project что я сделал не так (

Quantum Harmonizer
07.05.2018
12:26:13
так а как включить fatAar вообще ?
нужно где-то найти плагин, который его притащит, я так не делал

jied
07.05.2018
12:26:45
есть скрипты для этого

Костя
07.05.2018
12:27:44
нужно где-то найти плагин, который его притащит, я так не делал
бедово совсем тогда, этого точно не хочется, а если я залью свою либу в maven repo и запилю в java project оно будет всё равно просить чтобы я врубил stdlib в проекте или не будет уже ?

Костя
07.05.2018
12:31:51
автоматически притащит
ладно, попробую это побороть, пойду на гитхаб репо сделаю )

Pavel
08.05.2018
08:49:31
Просто не нужно приписывать эту проблему котлину, это глобальная проблема сборки — что делать, когда библиотека зависит от другой библиотеки.
Все таки необходимость тащить stdlib это проблема котлина, а не системы сборки. Нормальной системой сборки она решается, но было бы здорово иметь возможность не тащить с собой зависимость.

whalemare
08.05.2018
09:04:23
Все таки необходимость тащить stdlib это проблема котлина, а не системы сборки. Нормальной системой сборки она решается, но было бы здорово иметь возможность не тащить с собой зависимость.
Так это не необходимость, а вопрос удобства. Не тащите, пишите эти функции сами и не будет никаких проблем. Это просто дополнительная библиотека для более удобной работы. Запаковка и распространение через .aar решается fataar плагинами. Для нормального распространение есть jitpack, jcenter, maven, nexus

whalemare
08.05.2018
09:06:13
И они лежат в stdlib o_o

Quantum Harmonizer
08.05.2018
09:06:31
Как вариант — прогард с repackageclasses, тогда стдлибы останется крайне мало и она съедет в пакет, который не будет ни с чем конфликтовать.

И они лежат в stdlib o_o
А где им лежать? О_о

whalemare
08.05.2018
09:06:56
А где им лежать? О_о
Хм, действительно))

Anatoly
09.05.2018
18:18:47
Подскажите пожалуйста как в котлине правильно поступить с Generic-ами. Есть такой класс: class Claz<Z> { private val z: Z constructor(z: Z) { this.z = z } fun get() = z }

Google
Grushin
09.05.2018
18:19:30
он сокращается в одну строку)

Anatoly
09.05.2018
18:19:32
Тут переменная типа дженерика имеет стостояние in и out. По этому ставить эти ключевые слова нельзя.

Grushin
09.05.2018
18:20:18
всмысле?

те надо имя переменной сделать как ключевое слово?

ставь `

по бокам

Anatoly
09.05.2018
18:20:48
Но нужно чтобы как Z могли передавться любые типы обьектов из конкретной ветки.

class Claz<Z : TdApi.Object> { private val z: Z constructor(z: Z) { this.z = z } fun get() = z }

как пример, наследники класса TdApi.Object

Quantum Harmonizer
09.05.2018
18:22:37
Вопрос в чём?

Grushin
09.05.2018
18:22:42
ничего не понял(

Anatoly
09.05.2018
18:23:32
Если я создам коллекцию с такими вот объектами, то в нее можно будет положить только Claz<TdApi.Object>, а нужно чтобы в дженерике могли быть любые потомки TdApi.Object

Quantum Harmonizer
09.05.2018
18:23:59
Claz?

Grushin
09.05.2018
18:24:07
T : родитель

Anatoly
09.05.2018
18:25:24
Да, in или out решат этот вопрос. Но у меня в Сlaz есть методы которые принимают и возвращают обьект типа дженерика.

Grushin
09.05.2018
18:25:24
для этого есть in
вместо двоеточия получается in?

Anatoly
09.05.2018
18:26:20
вместо двоеточия получается in?
https://kotlinlang.ru/docs/reference/generics.html Вариантность на уровне объявления

почитай

Grushin
09.05.2018
18:26:43
например для метода fun <T in Response> makeApiRequest(request: Request, clazz: Class<T>) : T? { ... }

Google
Anatoly
09.05.2018
18:30:56
Response это Iterable?

Oleg
09.05.2018
18:35:17
в Java пишется <? extends SomeType> в котлине <out SomeType>

это в декларации аргументов

Anatoly
09.05.2018
18:37:01
в Java пишется <? extends SomeType> в котлине <out SomeType>
Да, но если написать out, то нельзя будет получать в методы переменные типа дженерика как аргументы.

Quantum Harmonizer
09.05.2018
18:37:25
ну и для особых случаев есть @UnsafeVariance

Quantum Harmonizer
09.05.2018
18:38:40
но наследников же можно?
тут речь о том, что out-projected type parameter stands in 'in' position

Anatoly
09.05.2018
18:39:04
ну и для особых случаев есть @UnsafeVariance
т.е. если у меня сложилась такая ситуация то "@UnsafeVariance" - это единственный выход?

Quantum Harmonizer
09.05.2018
18:39:24
Anatoly
09.05.2018
18:39:53
ну на этот счет идей вообще нет

iTEYE
09.05.2018
20:09:55
Как проверить что экземпляр класса создан?

Oleg
09.05.2018
20:28:50
а для чего это?

Quantum Harmonizer
09.05.2018
20:42:35
Как проверить что экземпляр класса создан?
Конструктор отработал — значит, создан.

Костя
10.05.2018
06:35:18
Конструктор отработал — значит, создан.
Но это будет говорить что объект хоть раз создавался, а не создан ли в данный момент

Galiev
10.05.2018
07:23:59
статический конструктор

Quantum Harmonizer
10.05.2018
07:28:53
Но это будет говорить что объект хоть раз создавался, а не создан ли в данный момент
Что значит «создан в данный момент»? А вообще, автор вопроса скросспостил его в Kotlin Community и оказалось, что его интересует проверка на null.

Костя
10.05.2018
07:30:47
Что значит «создан в данный момент»? А вообще, автор вопроса скросспостил его в Kotlin Community и оказалось, что его интересует проверка на null.
ну я понял из вопроса, ""Как узнать есть ли хоть 1 объект данного класса у нас сейчас в приложении, и возможно ли это"

может я неправильно понял тогда )

Quantum Harmonizer
10.05.2018
07:31:24
если нужно это сделать, значит, что-то в корне не так :)

Google
Костя
10.05.2018
07:31:38
а можно такое сделать ? только через рефлексию ?

раз уж зашел такой разговор )

Quantum Harmonizer
10.05.2018
07:32:01
в конструкторе инкрементить какой-нибудь счётчик

Костя
10.05.2018
07:32:28
но деструктора нет, мы не можем знать убился ли какой-то объект поидее

ну когда его gc почистил уже

Quantum Harmonizer
10.05.2018
07:32:39
да, есть ReferenceQueue

Костя
10.05.2018
07:33:15
Adv0cat
11.05.2018
14:33:52
Здрасте в хату)

Quantum Harmonizer
11.05.2018
14:34:01
Adv0cat
11.05.2018
14:35:30
Как дружелюбно)) Просто присоединился, пока спрашивать нечего ?

Страница 65 из 90