Mange af dens funktioner er inspireret af sprog som Python, Smalltalk og Ruby, gøre dem tilgængelige for udviklere, der bruger en Java-lignende syntaks.
Apache Groovy kan bruges til at udvikle web applikationer, skrive shell scripts, skriver kortfattet, meningsfuld, testcases hjælp Groovy s JUnit integration, eller prototyping og producerer reelle industrielle styrke applikationer.
Groovy arbejder rent med alle eksisterende Java-objekter og biblioteker og samler lige til Java bytecode enten applikationsudvikling eller scripting-tilstand
Funktioner :.
- bygger på de stærke sider ved Java, men har yderligere power funktioner inspireret af sprog som Python, Ruby og Smalltalk
- Tilføjer moderne programmering funktioner til Java
- Understøtter Domain bestemte sprog
- Øger udvikler produktiviteten
- Forenkler test
- Kompilerer lige til Java bytecode
Hvad er nyt i denne udgivelse:
- Ny funktion:
- UdvidBuilder InitializerStrategy at støtte tilføje anmærkning til konstruktørernes
- Forbedringer:
- Angiv ankre for hvert afsnit i Groovy Ascii docs.
- Minor tastefejl i dokumentationen for DefaultGroovyMethods.xor (venstre, højre)
- Groovysh kode færdiggørelse er ikke kompatibel med JDK 9 (Jigsaw)
- Tilføjet primitive vifte slutte ()
Hvad er nyt i version 2.3.0:
- Offentlig støtte til at køre Groovy på JDK 8
- Træk
- Ny og forbedret AST transformationer somTailRecursive,Builder ogSortable
- Nyt NIO2 modul med Sti støtte
- lynhurtige JSON parsing og bygning
- Lukning parameter typen inferens
- Et nyt markup skabelon motor
- Groovysh og GroovyConsole nem brug forbedringer
- Ny GroovyAssert test nytte
- MereBaseScript klasse kapaciteter
Hvad er nyt i version 2.2.2:.
- Support int / int med int mål typen
- Support int / int med ethvert mål type.
- Support T / V med T, V være en fra (int, kort, byte, char, lang).
- HarDeletgate omfatter linjenummer i stakken spor.
- Forbedre fejlmeddelelse i tilfælde brugeren definerer en & quot; køre & quot; metode i et script.
Hvad er nyt i version 2.1.7:
- Dokument begrænsning af normale kort stil konstruktør brug, når hjælpImmutable
- DOMCategory: tekst () får ikke node værdi, hvis det er en CDATA sektion
- Overbelastede operatør med returtype
- Null arg kalder ikke ambiguouseven selvom det burde være
- GroovyDoc ikke undslippe vinkelbeslag icode ogliteral tags
- JavaStubGenerator rydder eksempel startværdier
- BrugCompileStatic på kode, der bruger spread operatør på et sæt resultater i kompilering fejl
- CompileStatic på klasse ved hjælp af med (Lukning) fører til udarbejdelse fejl.
Hvad er nyt i version 2.1.5:
- Anvendelse af overbelastede metoder med tomme / varags parametre svigter hvis typen kontrol er aktiv
- Ant groovyc kaster en NoClassDefFoundError kompilering en groovy klasse medDelegatesTo ogCompileStatic
- META-INF / services / org.codehaus.groovy.runtime.ExtensionModule mangler fra groovy-all.jar
- CompileStatic kompilering svigter nogle gange i gradle build med fejlmeddelelse Henvisning til metoden er tvetydig. Kan ikke vælge mellem
- Forkert flow skrive reset efter hvis gren
Hvad er nyt i version 2.1.4:
- Support AST forvandler på banen genereret afField i scripts
- DelegatesTo skalDocumented
Hvad er nyt i version 2.0.6 / 2.1.0 RC 1:
- DelegatesTo anmærkning: at hjælpe IDE'er og statiske type brik og compiler til at vide, at metodekald i en metode parameter lukning delegeres til en anden parameter af metoden -. rart for DSL'er ligesom i Gradle bygge filer
- Brugerdefineret typen extensions kontrol:., så du kan skrive tjekke dine DSL'er på compile-tid med din egen logik
- En meta-kommentering systemet: som giver dig mulighed for at definere en ny anmærkning faktisk kombinerer flere andre - hvilket også betyder at være i stand til at anvende flere AST transformationer med en enkelt brugerdefineret anmærkning .
- Brugerdefineret basen script klasse flaget for groovyc compiler:. at sætte en base script klasse ved udarbejdelsen Groovy scripts
- Compiler konfigurationsscript: at lade dig definere forskellige konfigurationsmuligheder for Groovy compiler, ligesom angive brugerdefinerede filtypenavne, diverse kompilering customizers at anvende, osv ..
Hvad er nyt i version 2.0.4:
- Det løser nogle vigtige spørgsmål, vi har haft med generika med stub generator samt adskillige rettelser relateret til den statiske type kontrol og statiske kompilering funktioner.
Hvad er nyt i version 2.0.0:
- En statisk typen brik for at lade compileren fortælle dig om rigtigheden af din kode.
- Statisk kompilering for udførelsen af de kritiske dele af din ansøgning.
- Modularitet, opdele Groovy JAR i mindre feature-orienterede JAR og lade dig oprette dine egne udvidelsesmoduler.
- JDK 7 Projekt Coin syntaks forbedringer, således at Groovy er stadig så venligt som muligt med sin Java-fætter.
- JDK 7 Invoke Dynamisk integration at drage fordel af støtte fra JVM for dynamiske sprog.
Hvad er nyt i version 1.8.6:
- Groovy 1.8.6 er en vedligeholdelse frigivelse væsentlige, med et par mindre forbedringer og nye funktioner.
Hvad er nyt i version 1.8.1:
- Bugs:
- Bug i AntBuilder - DemuxOutputStream bør anvendes
- Modifikatorer på lokale variabler ignoreres
- Fælles kompilering mislykkes, hvis Groovy metoden med vifte parameter kaldes i vararg stil fra Java
- Groovy konsol Ikon til Mac OS X brudt
- udskrives kun roden undtagelsen i et script
- ToString ikke virker for enum typer
- At have en setter med en returværdi forårsager stub generator til at generere flere settere og derefter undlade at kompilere
- Stub generation mislykkes med generiske signaturer
- java.lang.ClassFormatError: Ulovlig klasse navn & quot; groovy / JMX / bygherre / pakke-info & quot; i klassen fil groovy / JMX / bygherre / pakke-info
- Varargs vises ikke ved GroovyDoc
- java5 configureClassNode ikke tager sig af parameter anmærkninger
- ClassNode.equals kaster ClassCastException til genstand for anden type
- Forbedringer:
- Afkort snor, når, når du genererer MissingMethodException
- Tre operatør: håndterer ikke ny linje før & quot;:? & quot; yndefuldt
- Tilføj tilslutning konfigurationsmuligheder til URL.getText (), URL.newInputStream () og URL.newReader ()
- Tilføj lokal maven repo til standard Grape config
- At støtte PreparedStatement.addBatch ()
- Når du arbejder med ClassNodes, nogle gange brug for at ringe getfields (), før getField () vil arbejde (doven init)
- Tving anmærkninger om variabler, der skal indgå i AST transformationer
- groovyConsole bør støtte mere almindelige filtyper: .story, .gpp og .grunit
- MakeThreadInterrupt valgfri i Groovy konsol
- Tillad brugerdefinerede undtagelse klasse til at blive smidt iInterrupt AST transformationer
- EqualsAndHashCode skal bruge getX () i stedet for x, når adgang egenskaber
- Aktiver JsonBuilder at arbejde med objekter rekursivt
- Newify arbejder for foruddefinerede klasser, men ikke for klasser i samme script
- Make ASTTransformationCustomizer håndtag annotation parametre
- En IDENTITET lukning kunne stilles til rådighed
- Minor ekstraudstyr til at give nogen-Arg versioner af DGM grep (), find () og findAll () metoder
- 'omfatter' attribut i EqualsAndHashCode
- Bedre fanen færdigbyggede for GroovyShell
- findResults objekt / afhentning / kort enhancement patch (klonet fra findResult)
- Map.inject () accepterer ikke lukning med 3 argumenter (solfanger, nøgle, værdi), kun 2 (opkøber, Map.Entry)
- JsonBuilder med understøttelse Writer ville være praktisk
- Omdøb DGM collectAll til collectNested - beholde original som et alias for tiden med henblik på en afværgende / fjerne sidst
- Groovy bør give en forkortelse for:. indsamle {} flade ()
- Nye funktioner:
- Når du udfører kommando-line scripts bør det være muligt at udføre en BEGIN og END-metoden (beslægtet med AWK eller Perl)
- Tilføj en take metode til Samlinger, iteratorer, Arrays
- groupBy med en liste eller en matrix af lukninger, da det er parameter for indlejrede gruppering
Hvad er nyt i version 1.8.0:
- Den dynamiske udtryksfuldhed af Groovy, specielt til at definere DSL'er .
- Runtime præstationer.
- Samtidig og parallel udførelse.
- Design ved aftale.
- Funktionel programmering stil.
- Første klasses JSON støtte.
- Compile-time meta programmering.
- Flere hjælpere og bibliotek tilføjelser.
Hvad er nyt i version 1.8.0 RC 4:
- mangler i den nye optimering kode .
- En obskur GEP-3 fejl.
Hvad er nyt i version 1.7.10:
- Faste bugs:
- StreamingMarkupBuilder kan producere ugyldig XML.
- Groovy build fejler i test - test RedundantCastInStubTest mislykkes .
- Forbedringer:
- Tilføj støtte til tvingende pakke-, doku- eller klasse-skabeloner i Groovydoc efterkommer klasser.
Hvad er nyt i version 1.7.9:
- Bug:
- GString ikke tvunget til String når de anvendes i Undtagelse underklasse s ctor
- Groovysh 'historie tilbagekaldelse "synes at være plukke den forkerte indgang (ud ved 1)
- ExpandoMetaClass.class.metaClass skaber StackOverflow
- LoadConfiguration undlader at indlæse * .jar
- Forkert håndtering af Unicode escape-sekvenser ved beregning kilde placeringer
- Groovy kompilering resultater i advarsler i genererede kode
- Undtagelse java.lang.VerifyError & quot; Forventer at finde objektet / array på stakken & quot; når tvingende en notyped metode med en indtastet metode
- Stub generator ikke undslippe strenge med blandede enkelt og dobbelt anførselstegn
- Statiske indre klasser ikke bliver kompileret korrekt
- Fejl med null parameter i forberedte udsagn med gamle DB2-driver
- Scripts klasse noder havde ikke korrekte kilde positioner
- StreamingMarkupBuilder kan producere ugyldig xml
- Forbedring:
- Ejendom læste tilbehø defineret via metaClass fungerer ikke uden parameter liste terminator i lukning
- GDK groovydocs for String.padXXX er ikke helt klart [nye formulering vedhæftet]
- Typo (lister - & # x3e, maps) i GDK doc kommentar
- Implementere en måde for direkte metode opkald
- Ny funktion:
- Grape kommando kan ikke fjerne og / eller opdatere en & quot; drue & quot;
- Opgave:
- Omskriv GroovyScriptEngine
Hvad er nyt i version 1.8.0 RC 1:
- Bug:
- Groovysh 'historie tilbagekaldelse "synes at være plukke den forkerte indgang (ud ved 1)
- LoadConfiguration undlader at indlæse * .jar
- Undtagelse java.lang.VerifyError & quot; Forventer at finde objektet / array på stakken & quot; når tvingende en notyped metode med en indtastet metode
- Brug log variabel oprettet medLog eller @ Log4J forårsager compiler fejl, hvis de anvendes i statisk metode
- Konsol opsendt fra groovy-all-1.7.6.jar nu har vedbend afhængighedsforhold
- Statiske indre klasser ikke bliver kompileret korrekt
- & quot; anystring & quot; som byte [] kaster java.lang.NumberFormatException: Til input streng: & quot; anystring & quot;
- Forbedring:
- TilføjThreadInterrupt at trøste scripts automatisk
- Foretrækker ClassHelper.make (klasse) i løbet af ny ClassNode (klasse)
- Ny funktion:
- Grape kommando kan ikke fjerne og / eller opdatere en & quot; drue & quot;
Hvad er nyt i version 1.8.0 Beta 4:
- Igangværende præstationsforbedring arbejde primitive heltal beregninger .
- bundtning af GPars i bibliotekerne i den binære distribution.
- Indbygget JSON støtte med JSON slurper og en JSON parser.
Hvad er nyt i version 1.8.0 Beta 3:
- Udvidede kommando udtryk kan bruges på højre side af opgaver.
- Log AST transformationen kan tilpasses til dine egne logging behov.
- Kort har nu en isCase () metode.
- EtGrabResolver genvej medGrabResolver (& quot; http: // nogle / url & quot;) .
- String kan tvinges til Gentagelsestyper (& quot; blå & quot; som farve) .
- Støtte til lukning memoization og trampolin.
- ThreadInterrup,ConditionalInterupts ogTimedInterrupt AST transformationer til at standse henrettelsen af indlejrede scripts
- min () / max () metoder på kort (på værdier).
- Mulighed for at lagre node metadata i AST noder, til brug i din AST transformationer.
Hvad er nyt i version 1.8.0 Beta 2:
- generiske type erklæringer utætte på tværs af alle filer i en ophobning.
Hvad er nyt i version 1.7.5:
- Bugs:
- Parse af hævde mislykkes, når newline mellem "test" og "meddelelse"
- Forår / CGLIB fuldmagter smide undtagelse & quot; objekt er ikke en instans af erklære klasse & quot;
- Har du brug for at levere håndlavede konstruktør til enum have & # x3e; 1 felt
- Exponantiation
- GroovyScriptEngine kan ikke opdatere klasse fra andet end fil url
- Tilføj test / dækning (for klon af fælles indsamling mislykkes for grænsefladerne til primitive felter)
- Compiler har ikke noget imod flere standard sager for en switch-statement
- Stub generator udviser en syntetisk metode i stubbe det burde ikke
- Groovy 1.7.4 plejer bygge fra kilden
- Genereret createCallSiteArray er for stor til JVM
- Curry metode mislykkes, når du bruger det i en kæde med IllegalArgumentException
- DefaultGroovyMethods # unikke O (n²) ydeevne
- DGM # consumeProcessOutput (Proces, StringBuffer, StringBuffer) kun accepterer StringBuffers
- Immutable klasse, svigt, når de forsøger at definere private statiske medlemmer
- DGM.eachLine () returnerer forkert resultat
- Compilation fejl i at bruge arv og generika sammen
- Implicit dette mislykkes at få gået korrekt fra et ikke-statisk indre klasse til en anden
- Round-tripping XML, der indeholder en ny linje henvisning tegn i en attribut værdi fjerner henvisning tegnet
- Reaktion allerede forpligtet på Google App Engine når betjener klatter
- JavaStubGenerator ikke korrekt generere anmærkninger med egenskaber vifte typen
- Variabel omfang BlockStatement fare vild inde ReturnAdder
- ResourceBundle i 1,7-beta-1
- Groovy sandhed groovy.util.slurpersupport.NoChildren bør være falsk
- ClassFormatError strækker generisk interface, der har en metode med et array argument returnerer generiske type
- FindBugs fejl for nye Integer () vs. Integer.valueOf () ligesom opkald
- unaryMinus mislykkes for Short og Byte
- Adgang ydre egenskaber / metoder fra indre klasser resulterer i NPE
- Egenskabsløse reference i underklasse statisk metode til superklasse statiske felter undlader at kompilere
- Forbedringer:
- findResult og findAllResults objekt / afhentning / kort enhancement patch
- Assert en lukning opkald skal se ud
- Forbedre kategori Ydeevne og hukommelse
- Tilføj flere filtypenavne støtte compiler
- Nye funktioner:
- Giv en mekanisme for Global AST Transformations at kunne definere en filtype for Groovy kilder, de skal anvendes på
- Giv en stub generator test infrastruktur
- Tilføj syntetiske bindinger til JList
Hvad er nyt i version 1.7.4:.
- Lukninger er nu & quot; konverterbare & quot;
- Nye AST transformationer.
- En ekstra syntaks for strygere, med $ / ... / $, at omgå forskellige undslippe hjørne tilfælde, som for eksempel $ / a / b & # x5c c $$ $ // $
- Ny GDK metoder som Map.countBy {}, Map.collectEntries {}, Date.putAt () (sænket operatør), Date.updated ().
- De nye String metoder som st (), stripMargin (), stripIndent (), (u) udvider (),
- Kort s withDefault {} metode,
- Lukning s ncury () og rcury ()
Hvad er nyt i version 1.7.3:
- Nye AST transformationer, ligesomSynchronized (sikrere brug af synkronisering) ogInheritConstructors (nice til at arve Undtagelse konstruktører)
- først () / sidste () / hoved () / hale () metoder på arrays til sammenhængen med lister (primitive arrays ikke er dækket endnu)
- Nogle BigDecimal håndtering forbedringer for bedre resultater på nogle kant tilfælde beregninger
- En opdatering til de statiske import for ejendomme
- Ny metode på dato, så du kan gøre cal [DAY_OF_WEEK] = mandag
- Ny String håndtering metoder, ligesom kapitalisere (), UNIX s tr (), udvid () / unexpand (), samt stripIndent () og stripMargin ()
- En dejlig Groovy ikon for Groovy Swing Console på Mac OS X
Kommentarer ikke fundet