Wiele z jego funkcji są inspirowane języków takich jak Python i Ruby, Smalltalk, udostępnienie ich twórców za pomocą składni Javy, jak.
Apache Groovy , mogą być wykorzystywane do tworzenia aplikacji internetowych, pisanie skryptów, pisanie przypadków zwięzłe, zrozumiałe, badań, przy użyciu integracji JUnit Groovy, albo prototypowania i produkcji prawdziwych aplikacji przemysłowej siły.
Groovy pracuje równo ze wszystkimi istniejącymi obiektami Javy i bibliotek oraz kompiluje prosto do kodu bajtowego Javy zarówno w rozwoju aplikacji lub w trybie skryptowym
Cechy .
- opiera się na mocnych Java, ale ma dodatkowe funkcje zasilania inspirowane języków takich jak Python, Ruby i Smalltalk
- Dodaje nowoczesne funkcje programowania Java
- Obsługuje domeny określonych języków,
- Zwiększa wydajność deweloper
- upraszcza testowanie
- Sporządza prosto do kodu bajtowego Javy
Co nowego w tym wydaniu:
- Nowa funkcja:
- RozszerzBuilder InitializerStrategy wspierać dodawanie adnotacji do konstruktorów,
- Usprawnienia:
- Zestaw kotwice dla każdej sekcji w Groovy docs ASCII.
- Mała literówka w dokumentacji DefaultGroovyMethods.xor (lewo, prawo),
- uzupełniania kodu Groovysh nie jest kompatybilny z JDK 9 (Jigsaw),
- Dodane prymitywne tablica join ()
Co nowego w wersji 2.3.0:
- Oficjalne wsparcie dla uruchamiania Groovy na JDK 8
- Cechy
- Nowe i ulepszone transformacje AST jakTailRecursive,Builder iSortable
- Moduł Nowy NIO2 wsparcie Path
- Lightening szybkiego analizowania JSON i budownictwo
- Zamknięcie typ parametru wnioskowania
- Nowy system szablonów znaczników
- Groovysh i GroovyConsole łatwość usprawnień w ruchu
- Nowy GroovyAssert narzędzie Test
- Funkcje klasy WięcejBaseScript
Co nowego w wersji 2.2.2:.
- Wsparcie int / int z typu int cel
- Wsparcie int / int z każdym rodzajem boisko.
- Pomoc T / V z T, V jest jednym z (int, krótki, bajtów, char, długo).
- HaveDeletgate to numer linii w ślady stosu.
- Pomóż komunikat błędu w przypadku, gdy użytkownik definiuje & quot; uruchomić & quot; Metoda w skrypcie.
Co nowego w wersji 2.1.7:
- Dokument ograniczenie stylu normalnego użytkowania Mapa konstruktora, gdy za pomocąImmutable
- DOMCategory: text () nie otrzymuje wartości węzła, jeśli jest to sekcja CDATA
- Przeciążenie operatora z zwracanego typu
- Null arg połączenie nie ambiguouseven choć powinno być
- GroovyDoc nie uciec kątowniki wcode iliteral tagów
- JavaStubGenerator kasuje instancji inicjalizatory
- KorzystanieCompileStatic na kod, który używa operatora spread na zbiorze wyników w błędzie kompilacji
- CompileStatic od klasy korzystając z (zamknięcie) prowadzi do błędu kompilacji.
Co jest nowa w wersji 2.1.5:
- Korzystanie z przeciążonych metod z pusta / varags parametry nie jeśli kontrola typów jest aktywny
- Ant groovyc rzuca NoClassDefFoundError kompilacji groovy klasy zDelegatesTo iCompileStatic
- META-INF / services / org.codehaus.groovy.runtime.ExtensionModule brakuje porywające-all.jar
- CompileStatic kompilacja nie powiedzie się czasami w Gradle kompilacji z komunikatem o błędzie odniesienia do metody jest niejednoznaczna. Nie można wybierać pomiędzy
- Nieprawidłowy przepływ w przypadku resetu wpisując po gałęzi
Co nowego w wersji 2.1.4:
- Wsparcie AST przekształca na polu generowanym przezField w skryptach,
- DelegatesTo należyDocumented
Co nowego w wersji 2.0.6 / 2.1.0 RC 1:
- DelegatesTo adnotacji: pomóc IDE i statyczne typu sprawdzania i kompilatora wiedzieć, który wywołuje metodę w zamknięciu parametru metody są delegowani do innego parametru metody. - miły dla DSL jak w Gradle zbudować plików
- sprawdzanie typu niestandardowe rozszerzenia. więc można wpisać sprawdzić DSLs w kompilacji z własną logiką,
- System meta-adnotacji: która pozwala zdefiniować nowy adnotacji w rzeczywistości połączenie kilku innych - co oznacza również możliwość zastosowania kilku przekształceń AST z jednym niestandardowego adnotacji .
- Własne klasy bazowej skrypt Flaga dla kompilatora groovyc. ustawić klasę skryptu bazą podczas kompilacji skryptów Groovy
- Compiler: aby określić różne opcje konfiguracyjne Groovy kompilatora, jak określenie niestandardowego rozszerzenia plików, różne customizers kompilacji zastosowanie, itd ..,
Skrypt konfiguracyjny
Co nowego w wersji 2.0.4:
- To rozwiązuje kilka ważnych problemów mieliśmy z leków generycznych z generatora skrótowej, jak również kilka poprawek związanych z statycznej kontroli typu i statycznych funkcji kompilacji.
Co nowego w wersji 2.0.0:
- Sprawdź typ statyczny kompilator niech ci o poprawności kodu.
- Statyczne kompilacja do wykonywania części krytycznych aplikacji.
- Modułowość, podział na mniejsze Groovy JAR JAR zorientowanych funkcji i pozwala na tworzenie własnych modułów rozszerzeń.
- Projekt Coin JDK 7 Rozszerzenia składni, dzięki czemu Groovy jest jeszcze tak przyjazny, jak to możliwe ze swoim kuzynem Java.
- Integracja 7 Invoke JDK Dynamiczny korzystać ze wsparcia JVM dla dynamicznych języków.
Co nowego w wersji 1.8.6:
- Groovy 1.8.6 jest wydaniem poprawkowym w istocie, z kilka drobnych usprawnień i nowych funkcji.
Co nowego w wersji 1.8.1:
- Bugs:
- Bug w AntBuilder - DemuxOutputStream należy stosować
- Modyfikatory na zmienne lokalne są ignorowane,
- Wspólne kompilacja nie powiedzie się, jeśli metoda Groovy z parametrem tablicy nazywa się w stylu vararg z Java
- Groovy Ikona Konsola dla Mac OS X uszkodzony
- Tylko wyjątkiem korzenia w skrypcie jest drukowana
- ToString nie działa dla typów enum
- Po setter z zwracanej wartości powoduje, że generator skrótową do generowania wielu ustawiaczy i nie skompilować
- generacji Stub nie z podpisami generycznych
- java.lang.ClassFormatError: Nielegalna nazwa klasy & quot; Groovy / jmx / budowniczy / pakiet-info & quot; w pliku klasy Groovy / jmx / budowniczy / pakiet-info
- varargs nie są wyświetlane przez GroovyDoc
- java5 configureClassNode nie dbać adnotacji parametrów
- ClassNode.equals rzuca ClassCastException do obiektu innego typu,
- Usprawnienia:
- Obetnij ciąg, gdy podczas generowania MissingMethodException
- Operator Ternary: czy przed & quot nie obsługuje nowej linii;: & quot; wdziękiem
- Dodaj opcje konfiguracji połączenia URL.getText (), URL.newInputStream () i URL.newReader ()
- Dodaj lokalnego repo maven domyślne Grape config
- Aby wspierać PreparedStatement.addBatch ()
- Podczas pracy z ClassNodes, czasami trzeba zadzwonić getFields przed getField () () będzie działać (leniwy startowych)
- adnotacje życie z dniem zmiennych, które należy uwzględnić w AST przekształceń
- groovyConsole powinien wspierać bardziej popularne typy plików: .story, .gpp i .grunit
- ThreadInterrupt opcjonalnie w Groovy konsoli
- Zezwalaj niestandardowej klasy wyjątku do rzucania wInterrupt przemian AST
- EqualsAndHashCode powinien używać getX () zamiast x, gdy dostęp do właściwości
- Włącz JsonBuilder do pracy z obiektami rekurencyjnie
- Newify pracuje dla predefiniowanych klas, ale nie dla klas zdefiniowanych w tym samym skrypcie
- ASTTransformationCustomizer parametry uchwyt adnotacji
- an zamknięcia TOŻSAMOŚĆ mogą być udostępnione,
- Minor poprawa zapewnić nie-Arg wersje DGM grep (), wybrać () i findAll () metody
- "obejmuje" atrybut w EqualsAndHashCode
- uzupełnienia Lepsza karta dla GroovyShell
- findResults obiektu / kolekcji / mapa poprawa łatka (sklonowany z findResult)
- Map.inject () nie akceptuje zamknięcie z 3 argumentów (kolektor, klucz, wartość), tylko 2 (kolektor, Map.Entry)
- JsonBuilder wsparcie Writer będzie przydatna,
- Zmień nazwę dgm collectAll do collectNested - zachować oryginalny jako alias na razie w celu deprecjację / usuwania końcu
- Groovy powinien zapewnić skrótem. zebrać {} spłaszczyć ()
- Nowe funkcje:
- Podczas wykonywania skryptów wiersza polecenia powinno być możliwe do wykonania BEGIN i END metoda (zbliżona do AWK i Perl)
- Dodaj metodę podjąć, aby Kolekcje, Iteratory, Tablice,
- GroupBy z listy lub tablicy zamknięć, jak jest to parametr dla zagnieżdżonych grupy
Co nowego w wersji 1.8.0:
- Dynamiczny wyrazistość Groovy, specjalnie dla definiowania DSL .
- wydajność Runtime.
- wykonanie współbieżne i równoległe.
- Wykonanie umowy.
- funkcjonalny styl programowania.
- Pierwszorzędna obsługa JSON.
- kompilacji programowania meta.
- Więcej pomocnicy i uzupełnienia biblioteki.
Co nowego w wersji 1.8.0 RC 4:
- Short-braków w nowym kodeksie optymalizacji .
- Niejasne GEP-3 błąd.
Co nowego w wersji 1.7.10:
- Poprawiono błędy:
- StreamingMarkupBuilder może powodować nieprawidłową XML.
- Groovy budować nie w testach - test RedundantCastInStubTest nie .
- Usprawnienia:
- Dodaj wsparcie dla PAKIET nadrzędne, lub klasy-doku- szablony klas Groovydoc potomnych.
Co nowego w wersji 1.7.9:
- Bug
- Nie GString zmuszany do String użyte w ctor wyjątkiem podklas
- Groovysh "Historia odzyskanie" wydaje się być wybranie złego wpisu (opcja 1)
- ExpandoMetaClass.class.metaClass tworzy StackOverflow
- LoadConfiguration nie można załadować * .jar
- Niewłaściwe obchodzenie się z sekwencji ucieczki Unicode przy obliczaniu lokalizacje źródłowe
- Groovy wyniki kompilacji w ostrzeżeń w kodzie generowanym
- Wyjątek java.lang.VerifyError & quot; Spodziewając się znaleźć obiekt / tablicy na stosie & quot; gdy nadrzędne metody notyped z wpisanym metody
- generator Stub nie ucieka struny mieszanych pojedynczych i podwójnych cudzysłowów,
- Statyczne klasy wewnętrzne nie są opracowywane prawidłowo
- Błąd przy zerowej parametru w sporządzanych sprawozdań ze starego sterownika DB2
- Klasa węzły skryptów 'nie mają prawidłowych pozycji źródłowych
- StreamingMarkupBuilder może powodować nieprawidłowy xml
- Wzrost:
- Nieruchomości przeczytać akcesor zdefiniowane poprzez metaklasą nie działa bez terminatora w liście parametrów zamknięcia
- groovydocs GDK do String.padXXX nie są bardzo jasne [Nowe brzmienie załączeniu]
- Typo (listy - & # x3e; mapy) w GDK doc komentarz
- Wdrożenie drogę nazywa metoda bezpośrednia,
- Nowa funkcja:
- winogron nie można usunąć i / lub zaktualizować & quot; winogron & quot;
- Zadanie:
- Przepisz GroovyScriptEngine
Polecenie
Co nowego w wersji 1.8.0 RC 1:
- Bug
- Groovysh "Historia odzyskanie" wydaje się być wybranie złego wpisu (opcja 1)
- LoadConfiguration nie można załadować * .jar
- Wyjątek java.lang.VerifyError & quot; Spodziewając się znaleźć obiekt / tablicy na stosie & quot; gdy nadrzędne metody notyped z wpisanym metody
- Korzystanie zmienna dziennik stworzony zLog lub @ Log4j powoduje błąd kompilatora, jeśli są wykorzystywane w metodzie statycznej
- Konsola rozpoczęła się od groove-wszystkich-1.7.6.jar ma teraz bluszcz Zależność
- Statyczne klasy wewnętrzne nie są opracowywane prawidłowo
- & quot; anystring & quot; jako byte [] rzuca java.lang.NumberFormatException: Dla ciągu wejściowego: & quot; anystring & quot;
- Wzrost:
- DodajThreadInterrupt automatycznie pocieszyć skryptów
- Wolę ClassHelper.make (klasa) nad nowym ClassNode (klasa)
- Nowa funkcja:
- winogron nie można usunąć i / lub zaktualizować & quot; winogron & quot;
Polecenie
Co nowego w wersji 1.8.0 Beta 4:
- Ciągłe doskonalenie wydajności pracy na prymitywnych obliczeń całkowitych .
- Łączenie z GPars w bibliotekach binarnej.
- Wbudowana obsługa JSON z slurper parsera JSON i JSON.
Co jest nowa w wersji 1.8.0 Beta 3:
- Rozszerzone wyrażenia poleceń mogą być używane na prawa strona z zadaniami.
- TransformacjaLog AST można dostosować do własnych potrzeb logowania.
- Mapa ma teraz metodę isCase ().
- SkrótGrabResolver zGrabResolver (& quot; http: // niektóre / url & quot;) .
- String może być zmuszany do wyliczenia (& quot; niebieski & quot; jak kolor) .
- Wsparcie dla memoization zamknięcia oraz trampoliną.
- ThreadInterrup,ConditionalInterupts iTimedInterrupt transformacje AST zatrzymywania wykonywanie skryptów wbudowanych
- min () / max () metody na mapach (na wartości).
- Możliwość przechowywania metadanych węzła w węzłach AST, w celu wykorzystania w transformacji AST.
Co nowego w wersji 1.8.0 Beta 2:
- Deklaracje typu rodzajowego przecieka we wszystkich plikach w kompilacji.
Co nowego w wersji 1.7.5:
- Bugs:
- Parse z assert zawodzi, gdy nowa linia pomiędzy "test" i "wiadomości",
- Wiosna / CGLIB proxy rzucić wyjątek & quot; obiekt nie jest instancją uznającej klasy & quot;
- Potrzebujesz dostarczyć ręcznie wykonane konstruktora dla enum o & # x3e; 1 pola
- Exponantiation
- GroovyScriptEngine nie może odświeżyć klasy z innych niż url pliku
- Dodaj test / zasięg (dla klonem Wspólnego kompilacji nie interfejsów z prymitywnych pól)
- Compiler nie przeszkadza wielu przypadków domyślne dla instrukcji switch,
- generator Stub wykazuje w sposób syntetyczny odcinki nie powinno
- Groovy 1.7.4 zwyczaju budować od źródła
- Wygenerowane createCallSiteArray jest zbyt duży dla JVM
- Metoda Curry nie podczas używania go w łańcuch z IllegalArgumentException
- DefaultGroovyMethods # wyjątkowa O (n²) wydajność
- DGM # consumeProcessOutput (Proces, StringBuffer, StringBuffer) akceptuje tylko StringBuffers
- Immutable klasy, awaria podczas próby zdefiniowania prywatne elementy statyczne,
- DGM.eachLine () zwraca niewłaściwy wynik
- Błąd kompilacji w użyciu dziedziczenia i rodzajowych razem
- niejawna to nie przejdzie poprawnie z jednego statycznego klasy bez wewnętrznej do innego
- Round-potknięcia XML, który zawiera nowej linii odniesienia znaków w wartości atrybutu usuwa odwołanie znaków
- Odpowiedź już popełnione na Google App Engine, gdy służąc plamy
- JavaStubGenerator nie poprawnie generować adnotacji z właściwości typu tablicy
- Zmienny zakres BlockStatement gubię wewnątrz ReturnAdder
- ResourceBundle w 1,7-beta-1
- Groovy prawda groovy.util.slurpersupport.NoChildren powinny być fałszywe,
- ClassFormatError rozszerzenie ogólnego interfejsu, który ma metodę z argumentem Array zwracajaca typu rodzajowego
- Błędy FindBugs dla nowego Integer () vs. Integer.valueOf () jak rozmowy
- unaryMinus nie na krótkie i Byte
- Dostęp do właściwości zewnętrzne / wewnętrzne wyników metod z klas w NPE
- Bez zastrzeżeń odniesienia w podklasy metodą statyczną do nadklasy pól statycznych nie kompilacji
- Usprawnienia:
- findResult i findAllResults obiektu / kolekcji / mapa poprawa łatka
- dochodzić połączenia zamknięcia powinien wyglądać
- Pomóż Kategoria wydajności i pamięci
- Dodaj obsługę wielu rozszerzeń plików w kompilator
- Nowe funkcje:
- mechanizm Globalne AST Przekształcenia, aby móc określić rozszerzenie pliku dla Groovy źródeł powinny być stosowane do
- Generator testów infrastruktury en
- Dodaj wiązania syntetycznych do JList
Co nowego w wersji 1.7.4:.
- Zamknięcia są teraz & quot; wpłacone & quot;
- Nowe AST transformacje.
- Dodatkowa składnia strun, z $ / ... / $, ucieczce do obchodzenia różnych przypadków narożne, jak na przykład $ / a / b & # x5c; c $$ $ // $
- metody Nowy GDK jak Map.countBy {}, Map.collectEntries {} Date.putAt () (operatora indeks), Date.updated ().
- Nowe metody String jak tr (), stripMargin (), stripIndent (), (un) rozszerzenia (),
- Metoda withDefault MAP {},
- ncury zamknięcia w () i rcury ()
Co nowego w wersji 1.7.3:
- Nowe transformacje AST, jakSynchronized (bezpieczniejsze korzystanie synchronizacji) iInheritConstructors (miły dla dziedziczenie konstruktorów wyjątku)
- Pierwszy () / data () / head () / ogon () metody na tablicach dla spójności z list (prymitywne tablice, nieobjętych jeszcze)
- Pewne ulepszenia obsługi BigDecimal dla lepszych rezultatów w niektórych przypadkach krawędź obliczeń
- Aktualizacja przywozu statycznych do właściwości
- Nowy sposób na Data więc można zrobić cal [DAY_OF_WEEK] = poniedziałek
- Nowe metody obchodzenia String, jak skapitalizować (), Unix (tr), rozszerzenia () / unexpand (), a także stripIndent () i stripMargin ()
- Miły Groovy ikona Groovy Swing konsoli na Mac OS X,
Komentarze nie znaleziono