Många av dess funktioner är inspirerade av språk som Python, Smalltalk och Ruby, vilket gör dem tillgängliga för utvecklare som använder en Java-liknande syntax.
Groovy kan användas för att utveckla webbapplikationer, skriver skalskript, skriver koncist, meningsfull, testfall med hjälp av Groovy s JUnit integration, eller prototyper och producera verkliga industriella styrka applikationer.
Groovy fungerar rent med alla befintliga Java-objekt och bibliotek och sammanställer rakt till Java bytekod antingen applikationsutveckling eller skriptläge
Vad är nytt i den här versionen.
< p>- Ny funktion:
- UtökaBuilder InitializerStrategy att stödja lägga till anteckningen till Constructors
- Förbättringar:
- Ange ankare för varje avsnitt i Groovy Ascii docs.
- Mindre stavfel i dokumentationen för DefaultGroovyMethods.xor (vänster, höger)
- är inte kompatibel med JDK 9 (Jigsaw) Groovysh kodkomplettering
- Inkom primitiva array join ()
Vad är nytt i version 2.4.1:
- Ny funktion:
- UtökaBuilder InitializerStrategy att stödja lägga till anteckningen till Constructors
- Förbättringar:
- Ange ankare för varje avsnitt i Groovy Ascii docs.
- Mindre stavfel i dokumentationen för DefaultGroovyMethods.xor (vänster, höger)
- är inte kompatibel med JDK 9 (Jigsaw) Groovysh kodkomplettering
- Inkom primitiva array join ()
Vad är nytt i version 2.3.0:
- Statsstöd för att köra Groovy på JDK 8
- Egenskaper
- Nya och förbättrade AST transformationer somTailRecursive,Builder ochSortable
- New NIO2 modul med Path stöd
- Lightening snabb JSON tolkning och bygga
- Stängning parameter typhärledning
- En ny markup mall motor
- Groovysh och GroovyConsole lätta förbättringar användning
- New GroovyAssert testverktyget
- MerBaseScript klass kapacitet
Vad är nytt i version 2.2.2:.
- Support int / int med int mål typ
- Support int / int med någon typ mål.
- Support T / V med T, V är en från (int, kort, byte, röding, lång).
- HaDeletgate inkluderar radnummer i stack spår.
- Förbättra felmeddelande i fall användaren definierar en & quot; springa & quot; metod i ett skript.
Vad är nytt i version 2.1.7:
- Dokument begränsning av normal karta stil konstruktören använda när använderImmutable
- DOMCategory: text () inte får nod värde om det är ett CDATA-avsnitt
- Överlastad operatör med returtyp
- Null arg samtal inte ambiguouseven även om det bör vara
- GroovyDoc inte undgå vinkelfästen icode ochliteral taggar
- JavaStubGenerator rensar instans initializers
- AnvändaCompileStatic på kod som använder spread operatör på en uppsättning resultat i kompileringsfel
- CompileStatic på klassen med med (Stängning) leder till sammanställning fel.
Vad är nytt i version 2.1.5:
- Användning av överbelastade metoder med tomt / varags parametrar misslyckas om typkontroll är aktiv
- Ant groovyc kastar en NoClassDefFoundError sammanställa en groovy klass medDelegatesTo ochCompileStatic
- META-INF / tjänster / org.codehaus.groovy.runtime.ExtensionModule saknas groovy-all.jar
- CompileStatic sammanställning misslyckas ibland i gradle bygga med felmeddelandet Hänvisning till metoden är tvetydig. Det går inte att välja mellan
- Fel flöde reset skriva efter om gren
Vad är nytt i version 2.1.4:
- Support AST omvandlar på fältet som genereras avField i manus
- DelegatesTo börDocumented
Vad är nytt i version 2.0.6 / 2.1.0 RC 1:
- DelegatesTo anteckning: att hjälpa IDE och den statiska typen checker och kompilatorn att veta att metodanrop i en metodparameter stängning delegeras till en annan parameter för metoden -. trevligt för DSL som i Gradle bygga filer
- Custom typkontroll tillägg:. Så kan du skriva kontrollera dina DSL vid kompilering med din egen logik
- En meta anteckning systemet: vilket gör att du kan definiera en ny anteckning faktiskt att kombinera flera andra - vilket också innebär att kunna tillämpa flera AST transformationer med en enda anpassad anteckning .
- Custom bas script klass flagga för groovyc kompilatorn. För att ställa in en bas script klass vid sammanställningen Groovy skript
- Compiler konfigurationsskript: att låta dig definiera olika konfigurationsalternativ för Groovy kompilator, som att ange anpassade filändelser, olika samlings customizers att tillämpa, etc ..
Vad är nytt i version 2.0.4:
- Det fixar några viktiga frågor som vi har haft med generiska med fragmentgeneratorn, samt flera korrigeringar relaterade till den statiska typkontroll och statiska sammanställningsfunktioner.
Vad är nytt i version 2.0.0:
- En statisk typ pjäs att låta kompilatorn berätta om riktigheten i din kod.
- Statisk sammanställning för utförandet av de kritiska delarna av din ansökan.
- Modularitet, dela Groovy JAR i mindre funktionsorienterade JAR och låter dig skapa dina egna utbyggnadsmoduler.
- JDK 7 Projekt Coin syntax förbättringar, så att Groovy är fortfarande så vänlig som möjligt med sin Java kusin.
- JDK 7 Invoke Dynamic integration att dra nytta av stöd från JVM för dynamiska språk.
Vad är nytt i version 1.8.6:
- Groovy 1.8.6 är en underhållsversion huvudsak med några smärre förbättringar och nya funktioner.
Vad är nytt i version 1.8.1:
- Bugs:
- Bug i AntBuilder - DemuxOutputStream ska användas
- Modifierare på lokala variabler ignoreras
- Gemensamt sammanställning misslyckas om Groovy metod med array parameter kallas i vararg stil från Java
- Groovy Console Ikon för Mac OS X brutit
- Endast roten undantaget i ett skript skrivs
- ToString fungerar inte för ENUM typer
- Att ha en setter med ett returvärde gör att fragmentgeneratorn att generera flera normgivare och sedan misslyckas med att sammanställa
- Stub generation misslyckas med generiska signaturer
- java.lang.ClassFormatError: Olaglig klassnamn & quot; groovy / JMX / byggmästare / paket info & quot; i klassfil groovy / JMX / byggmästare / paket info
- Varargs visas inte av GroovyDoc
- java5 configureClassNode tar inte hand om parameter anteckningar
- ClassNode.equals kastar ClassCastException för objekt av annan typ
- Förbättringar:
- Trunkera sträng när när du skapar MissingMethodException
- Ternära operatör: hanterar inte nyrad före & quot;: & quot; graciöst
- Lägg till anslutning konfigurationsalternativ till URL.getText (), URL.newInputStream () och URL.newReader ()
- Lägg till lokal maven reporäntan till standard Grape config
- För att stödja PreparedStatement.addBatch ()
- När du arbetar med ClassNodes, ibland behöver ringa getfields () innan getField () fungerar (lat init)
- Force anteckningar på variabler som skall ingå i AST trans
- groovyConsole bör stödja vanligare filtyper: .story, .gpp och .grunit
- GörThreadInterrupt tillval i Groovy konsolen
- Tillåt anpassade undantag klass kastas iInterrupt AST transformationer
- EqualsAndHashCode ska använda getX () i stället för x när du öppnar egenskaper
- Aktivera JsonBuilder att arbeta med objekt rekursivt
- Newify arbetar för fördefinierade klasser men inte för klasser i samma manus
- Gör ASTTransformationCustomizer handtag antecknings parametrar
- En IDENTITET stängning skulle kunna göras tillgängliga
- Mindre förbättring ger inga arg versioner av DGM grep (), hitta () och findAll () metoder
- "omfattar" attribut i EqualsAndHashCode
- Bättre fliken avslutningar för GroovyShell
- findResults invända / samlingsverk / karta förbättringslapp (klonade från findResult)
- Map.inject () accepterar inte stängning med 3 argument (samlare, nyckel, värde), endast 2 (samlare, Map.Entry)
- JsonBuilder med Writer stöd skulle vara praktiskt
- Byt namn DGM collectAll till collectNested - hålla originalet som ett alias för närvarande i syfte att ironiskt / ta bort så småningom
- Groovy bör ge en förkortning för. Samla {} platta ()
- Nya funktioner:
- När du utför kommandoradsskript bör det vara möjligt att utföra en BEGIN och END metod (besläktad med AWK eller Perl)
- Lägg till en take metod för samlingar, iteratorer, arrayer
- groupBy med en lista eller en matris av nedläggningar eftersom det är parameter för kapslad gruppering
Vad är nytt i version 1.8.0:
- Den dynamiska uttrycksfullheten i Groovy, särskilt för att definiera DSL .
- Runtime prestanda.
- Samtidig och parallell exekvering.
- Design genom avtal.
- Funktionell programmering stil.
- Förstklassig JSON stöd.
- kompilering meta programmering.
- Fler hjälpare och tillägg biblioteket.
Vad är nytt i version 1.8.0 RC 4:
- brister i de nya optimerings koden .
- En obskyr GEP-3 bugg.
Vad är nytt i version 1.7.10:
- Fast buggar:
- StreamingMarkupBuilder kan producera ogiltig XML.
- Groovy bygga misslyckas i testerna - prov RedundantCastInStubTest misslyckas .
- Förbättringar:
- Lägg till stöd för tvingande paket-, doc- eller klass mallar i Groovydoc ordnade klasser.
Vad är nytt i version 1.7.9:
- Bug:
- GString inte tvingas till String när de används i undantags underklass s ctor
- Groovysh historia minns "verkar vara att plocka fel posten (off av 1)
- ExpandoMetaClass.class.metaClass skapar Stackoverflow
- LoadConfiguration inte att ladda * .jar
- Felaktig hantering av unicode escape-sekvenser vid beräkning av käll platser
- Groovy sammanställning resulterar i varningar i genererade koden
- Undantag java.lang.VerifyError & quot; förväntar sig att hitta objekt / array på stacken & quot; när tvingande en notyped metod med en maskinskriven metod
- Stub generator inte undgå strängar med blandade enkla och dubbla citattecken
- Statiska inre klasser inte sammanställs på rätt sätt
- Fel med noll parameter i förberedda uttalanden med gamla DB2 förare
- Skript 'klass noder inte har rätt källa positioner
- StreamingMarkupBuilder kan producera ogiltig xml
- Förbättring:
- Fastighetsförmedling läsa åtkomst definieras via meta fungerar inte utan parameterlistan terminator i stängning
- GDK groovydocs för String.padXXX är inte helt klart [nya formuleringen fäst]
- Typo (listor - & # x3e, kartor) i GDK doc kommentar
- Genomföra ett sätt för direkt metodanrop
- Ny funktion:
- Druv kommandot kan inte ta bort och / eller uppdatera en & quot; druva & quot;
- Uppgift:
- Rewrite GroovyScriptEngine
Vad är nytt i version 1.8.0 RC 1:
- Bug:
- Groovysh historia minns "verkar vara att plocka fel posten (off av 1)
- LoadConfiguration inte att ladda * .jar
- Undantag java.lang.VerifyError & quot; förväntar sig att hitta objekt / array på stacken & quot; när tvingande en notyped metod med en maskinskriven metod
- Använda log variabel skapas medLog eller @ Log4j orsakar kompileringsfel om de används i statiska metoden
- Console startas från groovy-all-1.7.6.jar har nu murgröna dependancy
- Statiska inre klasser inte sammanställs på rätt sätt
- & quot; anystring & quot; som byte [] kastar java.lang.NumberFormatException: För indatasträngen: & quot; anystring & quot;
- Förbättring:
- LäggThreadInterrupt att trösta skript automatiskt
- Föredrar ClassHelper.make (klass) över ny ClassNode (klass)
- Ny funktion:
- Druv kommandot kan inte ta bort och / eller uppdatera en & quot; druva & quot;
Vad är nytt i version 1.8.0 Beta 4:
- Pågående prestanda förbättringsarbete på primitiva heltal beräkningar .
- Buntning av GPars i biblioteken i den binära distribution.
- Inbyggd JSON stöd med en JSON slurper och JSON parser.
Vad är nytt i version 1.8.0 Beta 3:
- Utökade kommando uttryck kan användas på höger sida av uppdrag.
- Log AST omvandlingen är anpassningsbar för dina egna loggning behov.
- Karta har nu en isCase metod ().
- EnGrabResolver genväg medGrabResolver (& quot; http: // några / url & quot;) .
- String kan tvingas till Enums (& quot; blå & quot; som färg) .
- Stöd för nedläggning memoization och trampolin.
- ThreadInterrup,ConditionalInterupts ochTimedInterrupt AST omvandlingarna för att stoppa avrättningen av inbäddade skript
- min () / max () metoder på kartan (om värden).
- Möjlighet att lagra nod metadata i AST noder, för användning i din AST transformationer.
Vad är nytt i version 1.8.0 Beta 2:
- Generic typdeklarationer läcker över alla filer i ett bygge.
Vad är nytt i version 1.7.5:
- Bugs:
- Parse av Assert misslyckas när nyrad mellan "test" och "meddelande"
- Spring / CGLIB fullmakter kasta undantag & quot; objektet är inte en instans av förklara klass & quot;
- behöver leverera handgjorda konstruktör för enum med & # x3e; 1 fältet
- Exponantiation
- GroovyScriptEngine kan inte uppdatera klass, från andra än filens URL
- Lägg till test / täckning (för klon av gemensam sammanställning misslyckas för gränssnitt mot primitiva fält)
- Compiler inte emot flera standard fall för en switch uttalande
- Stub generator uppvisar en syntesmetod i stubbar det ska inte
- Groovy 1.7.4 brukar bygga från källkod
- Generated createCallSiteArray är för stort för JVM
- Curry metoden misslyckas när du använder den i en kedja med IllegalArgumentException
- DefaultGroovyMethods # unika O (N ^) prestanda
- DGM # consumeProcessOutput (Process, String, String) accepterar endast StringBuffers
- Immutable klass, fel när man försöker definiera privata statiska medlemmar
- DGM.eachLine () returnerar felaktiga resultat
- Sammanställning felaktig användning av arv och generika tillsammans
- Implicit detta misslyckas för att få godkänt på rätt sätt från en icke-statisk inre klass till en annan
- Round-tripping XML som innehåller ett radmatningstecken referens i ett attribut värde tar bort tecken referens
- Response redan åtagit på Google App Engine vid servering blobbar
- JavaStubGenerator inte riktigt generera anteckningar med egenskaper array typ
- Variabel räckvidd BlockStatement gå vilse inne ReturnAdder
- ResourceBundle i 1,7-beta-1
- Groovy sanning groovy.util.slurpersupport.NoChildren bör vara falsk
- ClassFormatError sträcker generiska gränssnitt som har en metod med en Array argument returnera generisk typ
- FindBugs fel för nytt Integer () vs. Integer.valueOf () som samtal
- unaryMinus misslyckas för kort och Byte
- Åtkomst yttre egenskaper / metoder från innerklasser resulterar i NPE
- okvalificerad referens i underklass statiska metoden att super statiska fält inte kompilera
- Förbättringar:
- findResult och findAllResults invända / samlingsverk / karta förbättring patch
- hävda en stängning samtal ska se ut
- Förbättra kategori Prestanda och minne
- Lägg till flera filnamnstillägg stöd kompilatorn
- Nya funktioner:
- skapa en mekanism för globala AST Trans att kunna definiera ett filnamnstillägg för Groovy källor de ska tillämpas på
- Ange ett fragmentgeneratorn testa infrastruktur
- Lägg syntetiska bindningar till JList
Vad är nytt i version 1.7.4:.
- Nedläggningar är nu & quot; inlösbara & quot;
- Nya AST transformationer.
- En ytterligare syntax för stråkar, med $ / ... / $, för att kringgå olika fly hörn fall, som till exempel $ / a / b & # x5c c $$ $ // $
- New GDK metoder som Map.countBy {}, Map.collectEntries {}, Date.putAt () (index operatör), Date.updated ().
- De nya String metoder som tr (), stripMargin (), stripIndent (), (o) expand (),
- Maps withDefault {} metoden
- Stängning s ncury () och rcury ()
Vad är nytt i version 1.7.3:
- Nya AST transformationer, somSynchronized (säkrare användning synkronisering) ochInheritConstructors (trevligt för ärva Undantags konstruktörer)
- första () / senaste () / huvud () / svans () metoder på matriser för överensstämmelse med listor (primitiva arrayer som inte omfattas ännu)
- Vissa BigDecimal hantering förbättringar för bättre resultat på vissa kant fall beräkningar
- En uppdatering till de statiska import för fastigheter
- Ny metod på datum så att du kan göra cal [DAY_OF_WEEK] = måndag
- Ny String hanteringsmetoder, som kapitalisera (), UNIX s tr (), expandera () / unexpand (), liksom stripIndent () och stripMargin ()
- En trevlig Groovy ikon för Groovy Swing Console på Mac OS X
Kommentarer hittades inte