Mnoho z jeho vlastnosti jsou inspirovány jazyky jako Python, Ruby a Smalltalk, což je k dispozici pro vývojáře, kteří používají Java-jako syntax.
Apache Groovy může být použit pro vývoj webových aplikací, psaní skripty, psaní stručné, smysluplné, testovací případy použití integraci JUnit groovy je, nebo prototypů a výrobu skutečné průmyslové aplikace síly.
Groovy pracuje čistě se všemi stávajícími objektů jazyka Java a knihoven a zpracovává přímo do Java bytecode buď vývoj aplikací nebo v režimu skriptovacím
Vlastnosti :.
- staví na silných Java, ale má další výkonové vlastnosti inspirované jazyky jako Python, Ruby a Smalltalk
- Přidá moderní programovací funkce pro Java
- Podporuje domény specifické jazyky
- Zvyšuje produktivitu vývojářů
- Zjednodušuje testování
- kompiluje přímo do Java bytecode
Co je nového v této verzi:
- Nová funkce:
- ProdloužitBuilder InitializerStrategy podpořit přidáním anotace konstruktérů
- Zlepšení:
- Nastavení kotvy pro každou sekci v Groovy Ascii docs.
- Minor překlep v dokumentaci k DefaultGroovyMethods.xor (vlevo, vpravo)
- Groovysh dokončení kód není kompatibilní s JDK 9 (Jigsaw)
- Přidána primitivní pole join ()
Co je nového ve verzi 2.3.0:
- Státní podpora pro běh Groovy na sady JDK 8
- Vlastnosti
- Nové a vylepšené AST transformace jakoTailRecursive,Builder aSortable
- Nový NIO2 modul s podporou cesta li>
- Lightening rychlé JSON parsování a stavební
- Uzávěr typ parametru odvození
- Nový značkovací šablony motor
- Groovysh a GroovyConsole snadnost použití vylepšení
- Nový GroovyAssert Test nástroj
- DalšíBaseScript třída schopnosti
Co je nového ve verzi 2.2.2:.
- Podpora int / int s typem int brankové
- Podpora int / int s jakýmkoliv typem gól.
- Podpora T / V s T, V jako jeden z (int, short, byte, char, dlouho).
- HaveDeletgate obsahovat číslo řádku v trasování zásobníku.
- Zlepšit chybová zpráva v případě, že uživatel definuje & quot; spustit & quot; metoda ve skriptu.
Co je nového ve verzi 2.1.7:
- omezení Dokument normální mapa stylu konstruktoru použít, když pomocíImmutable
- DOMCategory: textový () nedostane uzel hodnoty, pokud se jedná o část CDATA
- Přetížený operátor s návratový typ
- Null arg hovor není ambiguouseven ačkoli by mělo být
- GroovyDoc neunikalo lomené závorky vcode aliteral značky
- JavaStubGenerator vymaže inicializátory instance
- PoužíváníCompileStatic na kód, který používá operátor rozšířil na sadu výsledků omylem kompilace
- CompileStatic na třídě použití s (uzavření) vede k chybě kompilace.
Co je nového ve verzi 2.1.5:
- Používání metod přetížené s prázdný / varags parametry selže pokud kontrola typu je aktivní
- Ant groovyc hodí NoClassDefFoundError Kompilace groovy tříduDelegatesTo aCompileStatic
- META-INF / services / org.codehaus.groovy.runtime.ExtensionModule chybí z groovy-all.jar
- CompileStatic kompilace selže někdy gradle sestavení s chybová zpráva odkaz na metody je nejednoznačný. Nelze si vybrat mezi
- Nesprávný průtok resetovat psaní po pokud větev
Co je nového ve verzi 2.1.4:
- Podpora AST transformuje na pole vytvářenéhoField ve skriptech
- DelegatesTo třebaDocumented
Co je nového ve verzi 2.0.6 / 2.1.0 RC 1:
- DelegatesTo Anotace: pomoci IDE a statického typu kontrolu a překladač vědět, že volání metody v uzavření parametr metody jsou delegovány na jiný parametr metody. - příjemné pro DSLs jako v Gradle stavět souboru
- typ vlastní rozšíření kontrolní:., takže můžete zadat zkontrolovat DSLs na kompilaci s vlastní logikou
- A meta-anotace systém: který vám umožní definovat nové anotace vlastně kombinuje několik dalších - což také znamená být schopen aplikovat několik AST transformací s jedinou vlastní anotaci .
- Zakázková základní scénář třída příznak pro groovyc kompilátor:. nastavit třídu základní skriptu při kompilaci Groovy skripty
- Compiler scénář: abyste definovat různé možnosti konfigurace pro Groovy překladač, stejně jako zadání přípony souborů zvyk, různé kompilace Customizers platit, atd ..
konfigurace
Co je nového ve verzi 2.0.4:
- Je to opravuje některé důležité otázky, co jsme měli s generik s pahýl generátoru, stejně jako několik opravy týkající se kontroly staticky i statických vlastností kompilace.
Co je nového ve verzi 2.0.0:
- A statického typu Kontrola nechat kompilátor říct, o správnosti kódu.
- Statická kompilace pro výkon kritických částí vaší aplikace.
- Modularita, rozdělení Groovy JAR do menších funkce orientované JAR a nechat si vytvořit své vlastní rozšiřujících modulů.
- JDK 7 projektu Coin vylepšení syntaxe, takže Groovy je stále co nejšetrnější s jeho bratrancem Java.
- JDK 7 Vyvolat Dynamic integrace těžit z podpory JVM pro dynamické jazyky.
Co je nového ve verzi 1.8.6:
- Groovy 1.8.6 se o údržbu zpráva v podstatě, s několika drobnými vylepšení a nových funkcí.
Co je nového ve verzi 1.8.1:
- Chyby:
- Chyba v AntBuilder - DemuxOutputStream by měl být používán
- Modifikátory na lokální proměnné jsou ignorovány
- Společné kompilace se nezdaří, pokud je volána metoda Groovy s parametrem pole v VARARG stylu z Javy
- Groovy Console Ikona pro Mac OS X zlomený
- pouze root výjimka ve skriptu je vytištěna
- ToString nefunguje pro typy výčtu
- Mít setra s návratovou hodnotu způsobí, že pahýl generátor generovat více setters a pak se nepodaří sestavit
- generace Stub selže s generických podpisy
- java.lang.ClassFormatError: Nelegální název & Quot třída, groovy / JMX / stavitel / balík-info & quot; V souboru třídy groovy / JMX / stavitel / balík-info
- Varargs nejsou zobrazeny GroovyDoc
- Java5 configureClassNode nemusí starat o parametru anotací
- ClassNode.equals hází ClassCastException objekt jiného typu
- Zlepšení:
- zkrátit řetězec, pokud při generování MissingMethodException
- Ternární operátor: nezpracovává nový řádek před & quot;:? & quot; půvabně
- Přidat možností konfigurace připojení k URL.getText (), URL.newInputStream () a URL.newReader ()
- Přidat lokální Maven repo výchozí hroznů config
- Pro podporu PreparedStatement.addBatch ()
- Při práci s ClassNodes, někdy je třeba volat getFields () před getField () bude pracovat (líný init)
- Force anotace proměnných, které mají být zahrnuty do AST transformace
- groovyConsole by mělo více podporovat běžné typy souborů: .story, .gpp a .grunit
- Zkontrolujte,ThreadInterrupt nepovinný v Groovy konzole
- Povolit vlastní výjimka třída být hozen doInterrupt AST transformacích
- EqualsAndHashCode by měly používat getX () namísto x při přístupu k vlastnostem
- Povolit JsonBuilder pracovat s objekty rekurzivně
- Newify pracuje pro předem definovaných tříd, ale nikoli pro třídy definované ve stejném skriptu
- ASTTransformationCustomizer parametry rukojeť anotace
- uzavření identitu by mohl být k dispozici
- Minor Vylepšení poskytovat žádné Arg verze DGM grep (), najít () a findall () metody
- "zahrnuje" atribut v EqualsAndHashCode
- Lepší karta dokončení pro GroovyShell
- findResults objekt / kolekce / mapa vylepšení náplast (CLONED z findResult)
- Map.inject () nepřijímá uzavření se 3 argumenty (kolektor, klíč, hodnota), pouze 2 (kolektorů, Map.Entry)
- JsonBuilder s podporou Writer bude hodit
- Přejmenovat DGM collectAll na collectNested - zachovat originální jako alias pro v současné době s ohledem na odmítavý / odebrání případně
- Groovy by měly poskytnout zkratka pro:. sbírat {} vyrovnat ()
- Nové vlastnosti:
- Při spuštění skriptů příkazového řádku by mělo být možné spustit BEGIN a END metoda (blízký AWK nebo Perl)
- Přidání metody vzít do sbírek, Iterátory, pole
- groupBy se seznamem nebo pole uzávěrů, jak je to parametr pro vnořené skupiny
Co je nového ve verzi 1.8.0:
- Dynamický expresivita Groovy, konkrétně pro definování DSLs .
- Runtime výkonu.
- Souběžné a paralelní spuštění.
- Design by smlouva.
- Funkční styl programování.
- Prvotřídní podpora JSON.
- kompilace-time meta programování.
- Další pomocníci a knihovní dodatky.
Co je nového ve verzi 1.8.0 RC 4:
- Krátkodobé příchody v novém optimalizace kódu .
- Nejasný GEP-3 chyba.
Co je nového ve verzi 1.7.10:
- opravených chyb:
- StreamingMarkupBuilder mohou produkovat neplatný XML.
- Groovy build selže při zkouškách - Zkouška RedundantCastInStubTest nezdaří .
- Zlepšení:
- Přidat podporu pro naléhavými package-, doc- nebo třídy-šablony v Groovydoc potomka třídách.
Co je nového ve verzi 1.7.9:
- Bug:
- GString ne nutil, aby řetězec při použití ve výjimkou dílčí třídy ctor
- Groovysh "Historie recall" Zdá se, že vybírání špatný vstup (vypnuto 1)
- ExpandoMetaClass.class.metaClass vytváří StackOverflow
- LoadConfiguration nepodaří načíst * .jar
- Nesprávné zacházení sekvencí Unicode escape při výpočtu zdrojových umístění
- Groovy výsledky kompilace ve varováních v generovaného kódu
- Výjimka java.lang.VerifyError & quot; očekávali, že najdete objekt / pole na zásobníku & quot; Při potlačování notyped metodu s zadaný metodou
- Stub generator neunikalo řetězce se smíšenými jednolůžkových a dvoulůžkových uvozovek
- Statické vnitřní třídy není správně sestaven
- Chyba s nulovým parametru v připravených příkazů se starým ovladačem DB2
- class uzly Skripty "neměl správný zdroj pozice
- StreamingMarkupBuilder může produkovat neplatný XML
- Zlepšení:
- Reality přečíst přístupový definovány pomocí Metaclass nefunguje, aniž by seznam parametrů terminátoru v uzávěru
- GDK groovydocs pro String.padXXX nejsou příliš jasné [nové znění připojena]
- Typo (seznamy - & # x3e, mapy) v GDK DOC Komentář
- Zavést cestu pro přímé volání metody
- Nová funkce:
- Grape nelze odstranit a / nebo aktualizovat & quot; hrozen & quot;
- Úkol:
- Přepište GroovyScriptEngine
Příkaz
Co je nového ve verzi 1.8.0 RC 1:
- Bug:
- Groovysh "Historie recall" Zdá se, že vybírání špatný vstup (vypnuto 1)
- LoadConfiguration nepodaří načíst * .jar
- Výjimka java.lang.VerifyError & quot; očekávali, že najdete objekt / pole na zásobníku & quot; Při potlačování notyped metodu s zadaný metodou
- Používání log proměnná vytvořeny sLog nebo @ Log4j způsobí chybu kompilátoru, pokud jsou použity v statické metody
- Console se spouští z groovy-all-1.7.6.jar má nyní Ivy závislost
- Statické vnitřní třídy není správně sestaven
- & quot; anystring & quot; jako byte [] hodí java.lang.NumberFormatException: Pro vstupní řetězec: & quot; anystring & quot;
- Zlepšení:
- PřidatThreadInterrupt automaticky konzole skripty
- Preferuji ClassHelper.make (třída) přes nové ClassNode (Class)
- Nová funkce:
- Grape nelze odstranit a / nebo aktualizovat & quot; hrozen & quot;
Příkaz
Co je nového ve verzi 1.8.0 beta 4:
- Probíhající Zlepšení výkonu práce na primitivní integer výpočtů .
- Sdružování z GPars v knihovnách binární distribuce.
- Vestavěná podpora JSON s JSON slurper a JSON parser.
Co je nového ve verzi 1.8.0 Beta 3:
- Rozšířené příkaz výrazy mohou být použity na pravá strana zadaných úkolů.
- TransformaceLog AST je možné přizpůsobit pro své vlastní potřeby protokolování.
- Mapa má nyní metodu isCase ().
- AGrabResolver zkratka sGrabResolver (& quot; http: // někteří / url & quot;) .
- String může být vnucena enums (& quot; modré & quot; jako Color) .
- Podpora na uzavření memoization a trampolínou.
- ThreadInterrup,ConditionalInterupts aTimedInterrupt AST transformace k zastavení provádění vložených skriptů
- min () / max () metody na mapách (na hodnoty).
- Možnost uložení metadat uzlu v AST uzlech, pro použití ve vašich AST transformace.
Co je nového ve verzi 1.8.0 Beta 2:
- prohlášení obecný typ unikající ve všech souborů v build.
Co je nového ve verzi 1.7.5:
- Chyby:
- Parse z ASSERT selže při nový řádek mezi 'test "a" sdělení "
- Jarní / CGLIB proxy hodit výjimku & quot; objekt není instancí třídy prohlašuje & quot;
- je třeba zadat ručně vyráběným konstruktor pro ENUM s & # X3e, 1 pole
- Exponantiation
- GroovyScriptEngine nelze aktualizovat třídy z url jiného než soubor
- Přidat test / pokrytí (pro klon společné kompilace selže rozhraní s primitivní pole)
- Compiler nevadí více výchozích pouzdra pro switch
- Stub generátor vykazuje syntetickou metodu v pahýly neměl by
- Groovy 1.7.4 zvyklý vybudovat ze zdroje
- Vygenerovaný createCallSiteArray je příliš velká pro JVM
- metoda Curry selže při použití v řetězu s IllegalArgumentException
- DefaultGroovyMethods # Unikátní O (n?) výkon
- DGM # consumeProcessOutput (Process, StringBuffer, StringBuffer) akceptuje pouze StringBuffers
- Immutable třída, selhání, když se snaží definovat soukromé statické členy
- DGM.eachLine () vrátí nesprávný výsledek
- chybu kompilace při používání dědičnosti a generik spolu
- Implicitní se to nezdaří, aby se prošel správně z jednoho non-statické vnitřní třídy do druhé
- Kulaté nevypínací XML, který obsahuje nový řádek odkaz znaků v hodnotě atributu se odstraní odkaz znak
- Reakce již spáchán na Google App Engine, pokud slouží kuličky
- JavaStubGenerator nefunguje správně vytvářet poznámky s vlastnostmi typu pole
- Variabilní rozsah BlockStatement ztratí uvnitř ReturnAdder
- ResourceBundle v 1,7-beta-1,
- Groovy pravda groovy.util.slurpersupport.NoChildren by měla být falešný
- ClassFormatError rozšíření generické rozhraní, které má metodu s řadou argumentem vrací na obecný typ
- FindBugs chyby pro nové Integer () vs. Integer.valueOf (), jako je volání
- unaryMinus selže pro krátké a Byte
- Přístup k vnější vlastnosti / metody z vnitřní třídy výsledků v NPE
- Výrok Odkaz v podtřídy statické metody rodičovské třídy statická pole selže při kompilaci
- Zlepšení:
- findResult a findAllResults objekt / kolekce / mapa náplast vylepšení
- Vyhodnocení uzavírací hovoru by měla vypadat
- Zlepšit Kategorie výkon a paměť
- Přidat více přípon souborů, podporu kompilátor
- Nové vlastnosti:
- Poskytovat mechanismus pro Global AST transformace, aby bylo možné definovat příponu souboru pro Groovy zdroje by měly být použity na
- Poskytovat testovací útržek generátor infrastruktury
- Přidat syntetické vazby do JList
Co je nového ve verzi 1.7.4:.
- Uzávěry jsou nyní & quot; callable & quot;
- Nové AST transformace.
- Další syntaxe pro smyčce, s $ / ... / $, obejít různé úniku rohové případy, jako je například $ / a / b & # x5c; c $$ $ $ //
- Nový GDK metody, jako Map.countBy {}, {}, Map.collectEntries Date.putAt () (operátor index), Date.updated ().
- Tato nová řada metod, jako je tr (), stripMargin (), stripIndent (), (ne) Rozbalit (),
- metoda Map withDefault {}
- uzávěru ncury () a rcury ()
Co je nového ve verzi 1.7.3:
- Nové AST transformace, stejně jakoSynchronized (bezpečnější použití synchronizace) aInheritConstructors (pěkné pro dědění výjimek konstruktor)
- První () / poslední () / hlava () / ocas () metody na polích pro soulad s seznamů (primitivní pole pro které ještě nejsou)
- Některé vylepšení BigDecimal pro manipulaci s lepšími výsledky na některých okrajových případech výpočtů
- Aktualizace statických dovozy pro vlastnosti
- Nová metoda na datum, takže si můžete udělat CAL [DAY_OF_WEEK] = pondělí
- new String metody manipulace, stejně jako těžit (), UNIX je tr (), rozbalte () / unexpand (), stejně jako stripIndent () a stripMargin ()
- Pěkný Groovy ikona pro Groovy Swing Console na Mac OS X
Komentáře nebyl nalezen