Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kotlin Annotation Processor Tools(kapt)
Search
Naohiro Yoshida
March 07, 2017
Technology
1
7k
Kotlin Annotation Processor Tools(kapt)
TISとのLTでのKotlin Annotation Processor Tools(kapt)の話
kapt1、kapt2、dagger2のworkaroundとか動作とか調べたやつ
Naohiro Yoshida
March 07, 2017
Tweet
Share
More Decks by Naohiro Yoshida
See All by Naohiro Yoshida
React with Reduxによる大規模商用サービスの開発 / nodefest2016
yoshidan
50
34k
Other Decks in Technology
See All in Technology
やっていきテスト
k6s4i53rx
0
160
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
4
750
データ品質をコード化! LINEヤフーのMLOpsを最適化する "ACP Data Quality" の紹介
lycorptech_jp
PRO
2
220
コードレビューを支援するAI技術の応用
akkie76
2
140
中央集権体制からDataOpsへの転換 / centralized-to-dataops-transformation
pei0804
7
1.5k
統計的学習理論読み Chapter 1
kmatsui
3
900
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
250
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
490
バッチ処理のSLOをどう設計するか
rynsuke
7
570
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
21
4.1k
20240321_生成AI時代のDevOps
kzkmaeda
2
610
関数型DDDの理論と実践:「決定を遅らせる」を先につくり、 ビジネスの機動力と価値をあげる
knih
2
480
Featured
See All Featured
Become a Pro
speakerdeck
PRO
8
4.4k
Designing for Performance
lara
601
67k
A designer walks into a library…
pauljervisheath
199
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
How to train your dragon (web standard)
notwaldorf
71
5.1k
Automating Front-end Workflow
addyosmani
1353
200k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Unsuck your backbone
ammeep
661
56k
Practical Orchestrator
shlominoach
180
9.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
Transcript
,PUMJO"OOPUBUJPO1SPDFTTPS5PPMT ,BQU .BSDI ! /BPIJSP:PTIJEB 3FDSVJU5FDIOPMPHJFT$P -UE
%*$POUBJOFSJTSFRVJSFE 0UIFSGSBNFXPSLTUPSFEVDFCPJMFSQMBUFDPEFJTSFRVJSFE "OESPJEJTOPUKVTUBGSPOUFOE CVUBGVMMTUBDLBQQMJDBUJPO "OESPJE $MFBO"SDIJUFDUVSF
"WPJESFqFDUJPO ˚+%,%ZOBNJD1SPYZ ! +BWBCZUFDPEFNBOJQVMBUJPOBUSVOUJNF JTHFOFSBMMZVOBWBJMBCMF º$(-JC "TQFDU+-58 MPBEUJNFXFBWJOH "OESPJE5IFPSZ
"OOPUBUJPO1SPDFTTJOH +43 (FOFSBUFKBWBTPVSDFDPEFGSPNPSJHJOBMKBWBTPVSDF "DUJWJUZKBWB "
[email protected]
*OKFDUPS KBWB !*OKFDU (FOFSBUFE'JMF ˞MPNCPLEPFT`UHFOFSBUFTPVSDFDPEFCVUUSBOTGPSN"45
BCTUSBDUTZOUBYUSFF KBWBD
,PUMJO -JHIUXFJHIU"MU+BWB OVMMTBGF DPNQJMFFSSPS WBSNPEFM.PEFMOVMM GVOFYFDVU IPHF.PEFM \NPEFMIPHF^ DPNQJMFFSSPS
WBSNPEFM.PEFM OVMM GVOFYFDVUF IPHF4USJOH NPEFM FYFDVUF IPHF $PNQJMF&SSPS 4VQQSFTT/VMMBCMF&YFDVUJPO
,PUMJO KBWBJOUFSPQFSBUCJMJUZ (FOFSBUFDMBTTCZ"4.MJLFTDBMB DMPKVSF generate stub for javac javac kotlinc
LU DPNQJMFKBWB XJUITUVC DPNQJMFLI XJUIKBWBDMBTT TUVC
1SPCMFN "DUJWJUZLU !*OKFDU "
[email protected]
*OKFDUPSLU LU LU º(FOFSBUFE "DUJWJUZLU !*OKFDU "
[email protected]
*OKFDUPSKBWB
LU º(FOFSBUFE LPUMJOD KBWBD XJUI+43 LPUMJODEPFTO`UTVQQPSU+43 KBWBDDBO`USFBEBOOPUBUJPOPGLU
,BQU "OOPUBUJPO1SPDFTTPSGPSLPUMJO -FUKBWBDSFBELUBOOPUBUJPO "DUJWJUZLU "
[email protected]
*OKFDUPS KBWB !*OKFDU (FOFSBUFE'JMF LBQU BOEKBWBD
,BQU LU BOOPUBUJPO YYYUYU generate stub javac kotlinc "OOPUBUJPO 1SPDFTTPS
XSBQQFE SVOBTHSBEMFUBTL EBHHFS EBUBCJOEJOH PSNB ʜ TUVC BEEBOOPUBUJPOJOGPUPDMBTT DBMMVOXSBQQFEBOOPUBUJPOQSPDFTTPS
6OTUBCMF Τϥʔ NonExistentClassʹΞΫηεͰ͖·ͤΜ error.NonExistentClassͷΫϥεɾϑΝΠϧ͕ݟ͔ͭΓ·ͤΜ ৄࡉ࣍ͷελοΫɾτϨʔεͰௐ͍ࠪͯͩ͘͠͞ɻ com.sun.tools.javac.code.Symbol$CompletionFailure: error.NonExistentClassͷΫϥεɾϑΝΠϧ͕ݟ͔ͭΓ·ͤΜ Τϥʔݸ :PVIBWFUZQFTHFOFSBUFECZ"OOPUBUJPO1SPDFTTJOHJOZPVSEFDMBSBUJPOTJHOBUVSFT MJLFGVO
QSPWJEF0SNB%BUBCBTF DPOUFYU$POUFYU PSMBUFJOJUWBSPSNB0SNB%BUBCBTF#FDBVTF,PUMJO NBLFTJUTTUVCTCFGPSF+BWB"OOPUBUJPO1SPDFTTJOHSVOT ,PUMJOLOPXTKVTUOPUIJOHBCPVU 0SNB%BUBCBTF BOEUIFOBNFPGUIFEFDMBSBUJPOJOTUVCTXJMMCFFSSPS/PO&YJTUFOU$MBTT 5IJTCSFBLTUIF"OOPUBUJPO1SPDFTTJOHUPPM*UTBLJOEPGLBQUMJNJUBUJPO BOEXFDVSSFOUMZ EPFTOULOPXBXBZUPpYJUXJUIPVUSFJNQMFNFOUJOH"OOPUBUJPO1SPDFTTJOHJO,PUMJO#VUBTB XPSLBSPVOE ZPVDBODIBOHFUIFSFUVSOUZQFUP%BUBCBTF)BOEMF BOENBLFBOFYQMJDJUDBTU JOTJEFZPVSGVODUJPO UIJTpYFTUIFCVJME JetBrains says
1SPCMFNXJUI%BHHFS %BHHFSDIFDLTBMMpFMETTFUUFSTHFUUFST XIFUIFSPSOPU!*OKFDUJTEFDMBSFE %BHHFS .FNCFST *OKFDUJPO BDUJWJUZ#JOEJOH !*OKFDUBDUJWJUZ1SFTFOUFS ! PO$SFBUF
ʜ PO4UBSU ʜ TFU"DUJWJUZ#JOEJOH FSSPS/PO&YJTJUFOU$MBTT TFU"DUJWJUZ1SFTFOUFS ʜ
8PSLBSPVOE .BLFbFSSPS/PO&YJTUFOU$MBTT`CZZPVSTFMG UIJTJTPVSpSTUXPSLBSPVOE /FWFSVTFHFOFSBUFEDMBTTGPSNFUIPEBSHVNFOU ºWBMCJOEJOH"DUJWJUZ9YY#JOEJOH ˓QSJWBUFWBMCJOEJOH"DUJWJUZ9YY#JOEJOH 4PMVUJPO 'JY%BHHFS
IUUQTHJUIVCDPNHPPHMFEBHHFSQVMM
,BQU FYQFSJNFOUBM (FOFSBUFOPUDMBTTTUVCTCVUKBWBTPVSDFTUVCT BOE/PO&YJTUFOU$MBTTKBWB LU /PO&YTJTUFOU $MBTTKBWB kaptKotlin task
compileKolin task "OOPUBUJPO 1SPDFTTPS "MMUIFLUKBWB
#VJME5JNF NJOTʙNJOTTFDT ,BQU LPUMJO ,BQU EBHHFSQBUDIFE 5PUBMFMBQTFEUJNFGSPNbDMFBO`UPbJOTUBMM"1,b NJOTʙNJOTTFDT
1SPCBCMZ4UBCMF