Cześć! Muszę przekazać do adnotacji pewną wartość, która jest różna dla różnych środowisk. Czy istnieje na to jakiś legitny sposób? Najrozsądniejszym wydaje mi się być wczytanie tego z pliku property, tylko jak to zrobić w tym miejscu?
0
2
a od czego zależy ta wartość? jak byś to zrobił, gdyby w adnotacjach dałoby się wykonać zwykły kod?
4
@kek: nie da się tego w ten sposób ugryźć. W Scali adnotacje zachowują się dokładnie tak samo jak w Javie. Zatem wartości będą rozwiązywane w czasie kompilacji. Pytanie, co chcesz osiągnąć w ten sposób?
0
Pewnie da się coś wstrzyknąć na etapie buildu, ale to na zasadzie:
- skopiuj projekt "gdzieś"
- podmień templatki na wartości z pliku
- skompiluj
Zawsze można napisać własny plugin do Gradle, Maven.
Rozwiązanie nieco kiepskie, bo:
- konfiguracja staje się częścią kodu
- nigdy nie wiesz, co masz w tych adnotacjach
- ta sama wersja dla różnych "smaków" ma różne artefakty, różne sumy kontrolne, ciężko nad tym zapanować.