Mange av funksjonene er inspirert av språk som Python, Smalltalk og Ruby, noe som gjør dem tilgjengelige for utviklere som bruker en Java-lignende syntaks.
Apache Groovy kan brukes for å utvikle web-applikasjoner, skrive skall-skript, skrive konsist, meningsfylt, test tilfeller bruker Groovy er JUnit integrasjon, eller prototyping og produsere reelle industrielle styrke applikasjoner.
Groovy fungerer rent med alle eksisterende Java-objekter og biblioteker og kompilerer rett til Java bytecode i enten applikasjonsutvikling eller scripting modus
Egenskaper .
- Bygger på styrken av Java, men har ekstra strøm funksjoner inspirert av språk som Python, Ruby og Smalltalk
- Legger moderne programmeringsfunksjoner til Java
- Støtter domenespesifikke språk
- Øker utviklerproduktivitet
- Forenkler testing
- Kompilerer rett til Java bytecode
Hva er nytt i denne versjonen:
- Ny funksjon:
- UtvidBuilder InitializerStrategy å støtte legge merknaden til Constructors
- Forbedringer:
- Sett ankere for hver seksjon i Groovy Ascii docs.
- Minor skrivefeil i dokumentasjonen for DefaultGroovyMethods.xor (venstre, høyre)
- er ikke kompatibelt med JDK 9 (Jigsaw) Groovysh kodefullføring
- Lagt primitive rekke delta ()
Hva er nytt i versjon 2.3.0:
- Offisiell støtte for kjøring Groovy på JDK 8
- Egenskaper
- Ny og forbedret AST transformasjoner somTailRecursive,Builder ogSortable
- New NIO2 modul med Sti støtte
- Lightening rask JSON parsing og bygningen
- Closure parametertype slutning
- En ny markering mal motor
- Groovysh og GroovyConsole brukervennlighet forbedringer
- New GroovyAssert test verktøy
- MerBaseScript klassen evner
Hva er nytt i versjon 2.2.2.
- Support int / int med int mål typen
- Support int / int med noen mål type.
- Support T / V med T, V være en fra (int, kort, byte, røye, lang).
- HarDeletgate inkludere linjenummer i stabel spor.
- Forbedre feilmelding i tilfelle brukeren definerer en & quot; kjøre & quot; metode i et skript.
Hva er nytt i versjon 2.1.7:
- Dokument begrensning av normal konstruktør kart-style bruk når brukerImmutable
- DOMCategory: tekst () ikke får node verdi hvis det er en CDATA del
- Overbelastet operatør med returtypen
- Null arg kaller ikke ambiguouseven om det skal være
- GroovyDoc ikke slipper vinkelparenteser icode ogliteral tags
- JavaStubGenerator klarner instans initializers
- BrukCompileStatic på kode som bruker spread operatør på et sett resultater i kompilering feil
- CompileStatic på klasse hjelp med (Closure) fører til kompileringsfeil.
Hva er nytt i versjon 2.1.5:
- Bruk av overbelastet metoder med tomt / varags parametere svikter hvis typesjekking er aktiv
- Ant groovyc kaster en NoClassDefFoundError kompilere en groovy klasse medDelegatesTo ogCompileStatic
- META-INF / tjenester / org.codehaus.groovy.runtime.ExtensionModule mangler groovy-all.jar
- CompileStatic kompilering feiler noen ganger i gradle build med feilmelding referanse til metoden er tvetydig. Kan ikke velge mellom
- Feil flyt skrive reset etter hvis gren
Hva er nytt i versjon 2.1.4:
- Support AST forvandler på feltet som genereres avField i scripts
- DelegatesTo børDocumented
Hva er nytt i versjon 2.0.6 / 2.1.0 RC 1:
- DelegatesTo merknad: å hjelpe IDE og statiske typen checker og kompilatoren å vite at metodekall i en metode parameter nedleggelse er delegert til et annet parameter til metoden -. hyggelig for DSLer som i Gradle bygge filer
- Custom type sjekking utvidelser. slik at du kan skrive sjekke DSLer på compile-time med din egen logikk
- En metakommentar system: som lar deg definere en ny merknad faktisk kombinere flere andre - som også betyr å være i stand til å anvende flere AST transformasjoner med en enkelt tilpasset merknad .
- Custom basen script klasse flagget for groovyc kompilatoren. å sette en base script klasse når kompilering Groovy scripts
- Compiler konfigurasjon: å la deg definere ulike konfigurasjonsmuligheter for Groovy kompilatoren, som å oppgi tilpasset filtyper, ulike kompilering customizers å søke, etc ..
script
Hva er nytt i versjon 2.0.4:
- Det fikser noen viktige saker vi har hatt med generiske legemidler med spire generator, samt flere fikser relatert til statisk typesjekking og statiske kompilering funksjoner.
Hva er nytt i versjon 2.0.0:
- En statiske typen kontrolløren å la kompilatoren fortelle deg om riktigheten av koden din.
- Statisk samling for utførelsen av de kritiske delene av programmet.
- Modularitet, splitte Groovy JAR i mindre funksjonsorientert krukker og lar deg lage dine egne tilleggsmoduler.
- JDK 7 Prosjekt Coin syntaks forbedringer, slik at Groovy er fortsatt så vennlig som mulig med sin Java fetter.
- JDK 7 Invoke Dynamic integrering å dra nytte av støtte fra JVM for dynamiske språk.
Hva er nytt i versjon 1.8.6:
- Groovy 1.8.6 er en utgivelse vedlikehold hovedsak, med noen mindre forbedringer og nye funksjoner.
Hva er nytt i versjon 1.8.1:
- Bugs:
- Bug i AntBuilder - DemuxOutputStream bør brukes
- Modifikatorer på lokale variabler blir oversett
- Felles samling mislykkes hvis Groovy metode med rekke parameter heter på vararg stil fra Java
- Groovy Console Ikon for Mac OS X brutt
- Bare rot unntaket i et manus er skrevet
- ToString ikke fungerer for enum typer
- ha en setter med en returverdi forårsaker stubben generator for å generere flere settere og deretter ikke klarer å kompilere
- Stub generasjon mislykkes med generiske signaturer
- java.lang.ClassFormatError: Ulovlig klassen navnet & quot; groovy / JMX / byggmester / pakke-info & quot; i klassen fil groovy / JMX / byggmester / pakke-info
- Varargs vises ikke ved GroovyDoc
- Java5 configureClassNode tar ikke vare på parameter merknader
- ClassNode.equals kaster ClassCastException for objekt av annen type
- Forbedringer:
- Avkort streng når ved generering MissingMethodException
- Ternary operatør: ikke håndterer linjeskift før & quot;? & quot; grasiøst
- Legg forbindelse konfigurasjonsmuligheter til URL.getText (), URL.newInputStream () og URL.newReader ()
- Legg lokal maven repo til standard Grape config
- For å støtte PreparedStatement.addBatch ()
- Når du arbeider med ClassNodes, noen ganger må ringe getfields () før getField () vil fungere (lat init)
- Force merknader på variabler som skal inkluderes i AST forvandler
- groovyConsole bør støtte mer vanlige filtyper: .story, .gpp og .grunit
- GjørThreadInterrupt valgfritt i Groovy konsoll
- Tillat tilpasset unntak klassen til å bli kastet iInterrupt AST transformasjoner
- EqualsAndHashCode bør bruke getX () i stedet for x ved tilgang egenskaper
- Aktiver JsonBuilder å arbeide med objekter rekursivt
- Newify fungerer for forhåndsdefinerte klasser, men ikke for klasser som er definert i samme manus
- ASTTransformationCustomizer håndtaket merknads parametre
- En identitet nedleggelse kunne bli gjort tilgjengelig
- Minor ekstrautstyr for å gi nei-arg versjoner av DGM grep (), finn () og findAll () metoder
- "inkluderer" attributt i EqualsAndHashCode
- Bedre kategorien avslutningene for GroovyShell
- findResults protestere / samling / kart ekstrautstyr patch (klonet fra findResult)
- Map.inject () godtar ikke nedleggelsen med 3 argumenter (samler, nøkkel, verdi), bare 2 (Collector, Map.Entry)
- JsonBuilder med manusforfatter støtte ville være hendig
- Gi nytt navn DGM collectAll å collectNested - holde opprinnelig som et alias for tiden med tanke på avvergende / fjerne slutt
- Groovy bør gi en forkortelse for:. samle {} flate ()
- Nye funksjoner:
- Når du utfører kommandolinje scripts bør det være mulig å gjennomføre en BEGIN og END metode (beslektet med AWK eller Perl)
- Legg til en take metode til samlinger, iteratorer, Arrays
- groupBy med en liste eller en rekke nedleggelser som det er parameter for nestet gruppering
Hva er nytt i versjon 1.8.0:
- Den dynamiske ekspressivitet av Groovy, spesielt for å definere DSLer .
- Runtime ytelse.
- Samtidig og parallelt utførelse.
- Design av kontrakten.
- Funksjonell programmering stil.
- Førsteklasses JSON støtte.
- Compile-time meta-programmering.
- Flere hjelpere og bibliotek tilsetninger.
Hva er nytt i versjon 1.8.0 RC 4:
- Short-livet i den nye optimalisering kode .
- En obskur GEP-tre feil.
Hva er nytt i versjon 1.7.10:
- Faste Bugs:
- StreamingMarkupBuilder kan produsere ugyldig XML.
- Groovy bygge svikter i tester - test RedundantCastInStubTest svikter .
- Forbedringer:
- Legg til støtte for overstyring pakke-, do- eller klasse-maler i Groovydoc kommer klasser.
Hva er nytt i versjon 1.7.9:
- Bug:
- GString ikke tvunget til String når det brukes i unntaks underklasse er ctor
- Groovysh 'historie tilbakekalling "synes å være å plukke feil oppføring (av ved 1)
- ExpandoMetaClass.class.metaClass skaper Stackoverflow
- LoadConfiguration ikke lastes * .jar
- Feil håndtering av Unicode escape-sekvenser ved beregning av kilde steder
- Groovy samlingsresultatet i advarsler i generert kode
- Unntak java.lang.VerifyError & quot; Forventer å finne objekt / utvalg på stakken & quot; da overstyrer en notyped metode med et maskinskrevet metode
- Stub generator ikke slipper strengene med blandede enkle og doble anførselstegn
- Statiske indre klasser blir ikke kompilert riktig
- Feil med null parameter i preparerte uttalelser med gamle DB2 driver
- Scripts 'klasse nodene ikke har korrekte kilde stillinger
- StreamingMarkupBuilder kan produsere ugyldig xml
- Forbedring:
- Eiendom lese tilbehør definert via metaClass fungerer ikke uten parameterliste terminator i nedleggelse
- gdk groovydocs for String.padXXX er ikke helt klart [ny ordlyd festet]
- Typo (lister - & # x3e, Maps) i GDK doc kommentar
- Implementere en måte for direkte metoden kaller
- Ny funksjon:
- Grape kommandoen kan ikke fjerne og / eller oppdatere en & quot; drue & quot;
- Oppgave:
- Rewrite GroovyScriptEngine
Hva er nytt i versjon 1.8.0 RC 1:
- Bug:
- Groovysh 'historie tilbakekalling "synes å være å plukke feil oppføring (av ved 1)
- LoadConfiguration ikke lastes * .jar
- Unntak java.lang.VerifyError & quot; Forventer å finne objekt / utvalg på stakken & quot; da overstyrer en notyped metode med et maskinskrevet metode
- Ved hjelp av loggen variabel opprettet medLog eller @ Log4j forårsaker kompilator feil hvis det brukes i statiske metoden
- Console startes fra groovy-all-1.7.6.jar har nå eføy dependancy
- Statiske indre klasser blir ikke kompilert riktig
- & quot; anystring & quot; som byte [] kaster java.lang.NumberFormatException: For innspill streng: & quot; anystring & quot;
- Forbedring:
- LeggThreadInterrupt å trøste scripts automatisk
- Foretrekker ClassHelper.make (klasse) over ny ClassNode (klasse)
- Ny funksjon:
- Grape kommandoen kan ikke fjerne og / eller oppdatere en & quot; drue & quot;
Hva er nytt i versjon 1.8.0 Beta 4:
- Kontinuerlig forbedring arbeidet med primitive beregninger av heltall .
- Bundling av GPars i bibliotekene i binær-distribusjon.
- Innebygd JSON støtte med en JSON slurper og en JSON parser.
Hva er nytt i versjon 1.8.0 Beta 3:
- Utvidet kommandouttrykk kan brukes på høyre side av oppgaver.
- Log AST transformasjon er passelig for dine egne logging behov.
- Kart har nå en isCase () -metoden.
- EnGrabResolver snarvei medGrabResolver (& quot; http: // noen / url & quot;) .
- String kan tvinges til enums (& quot; blue & quot; som Color) .
- Støtte for nedleggelse memoization og trampoline.
- ThreadInterrup,ConditionalInterupts ogTimedInterrupt AST transformasjoner for å stoppe henrettelsen av innebygde skript
- min () / max () metoder på kart (på verdier).
- Evne til å lagre node metadata i AST noder, for bruk i AST transformasjoner.
Hva er nytt i versjon 1.8.0 Beta 2:
- generisk type erklæringer lekker tvers av alle filer i et bygg.
Hva er nytt i versjon 1.7.5:
- Bugs:
- Analyser av hevde mislykkes når linjeskift mellom "test" og "budskap"
- Vår / CGLIB fullmakter kaste unntak & quot; Objektet er ikke en forekomst av erklære klassen & quot;
- Trenger du å levere håndlaget konstruktør for enum ha & # x3e; ett felt
- Exponantiation
- GroovyScriptEngine kan ikke oppdatere klasse fra url annet enn fil
- Legg til test / dekning (for klone av Joint kompilering svikter for grensesnitt med primitive felt)
- Compiler ikke tankene flere standard tilfeller for en bryter uttalelse
- Stub generator viser en syntesemetode i stubber det bør ikke
- Groovy 1.7.4 wont bygge fra kilden
- Generert createCallSiteArray er for stor for JVM
- Curry metoden mislykkes når du bruker den i en kjede med IllegalArgumentException
- DefaultGroovyMethods # unik O (n²) ytelse
- DGM # consumeProcessOutput (Process, Stringbuffer, Stringbuffer) godtar bare StringBuffers
- Immutable klasse, feil når du prøver å definere private statiske medlemmer
- DGM.eachLine () returnerer feil resultat
- Compilation feil i å bruke arv og generika sammen
- Implisitt dette mislykkes å bli passert riktig fra en ikke-statisk indre klasse til en annen
- Round-tripping XML som inneholder et linjeskift karakter referanse i en attributtverdi fjerner tegnet referansen
- Response allerede forpliktet på Google App Engine ved visning blobs
- JavaStubGenerator ikke ordentlig generere merknader med egenskaper rekke typen
- Variable omfang BlockStatement bli tapt inne ReturnAdder
- Resource i 1,7-beta-1
- Groovy sannhet groovy.util.slurpersupport.NoChildren bør være falsk
- ClassFormatError utvide generisk grensesnitt som har en metode med en Array argument retur generisk type
- FindBugs feil for ny Integer () vs. Integer.valueOf () som samtaler
- unaryMinus svikter for korte og Byte
- Tilgang ytre egenskaper / metoder fra indre klasser resultater i NPE
- Ukvalifisert referanse i underklassen statiske metoden til super statiske felt klarer å kompilere
- Forbedringer:
- findResult og findAllResults objekt / samling / kart ekstrautstyr patch
- hevde en nedleggelse samtale skal se ut
- Forbedre Kategori Ytelse og Memory
- Legg til flere filtyper støtte i kompilatoren
- Nye funksjoner:
- Gi en mekanisme for Global ASAT Transformations å kunne definere en filtype for Groovy kilder de skal brukes til
- Gi en stump generator testing infrastruktur
- Legg syntetiske bindinger til JList
Hva er nytt i versjon 1.7.4.
- Nedleggelser er nå & quot; Callable & quot;
- Nye AST transformasjoner.
- En ekstra syntaks for strykere, med $ / ... / $, for å omgå ulike rømmer hjørne tilfeller, som for eksempel $ / a / b & # x5c; c $$ $ // $
- New gdk metoder som Map.countBy {}, Map.collectEntries {}, Date.putAt () (senket operatør), Date.updated ().
- De nye String metoder som st (), stripMargin (), stripIndent (), (u) expand ()
- Kart er withDefault {} metode,
- Closure er ncury () og rcury ()
Hva er nytt i versjon 1.7.3:
- Nye AST transformasjoner, somSynchronized (tryggere bruk synkronisering) ogInheritConstructors (fin for å arve Unntaks konstruktører)
- først () / siste () / hode () / hale () metoder på arrays for konsistens med lister (primitive arrays ikke dekket ennå)
- Noen BigDecimal håndtering forbedringer for bedre resultater på enkelte edge tilfeller beregninger
- En oppdatering til de statiske import for egenskaper
- Ny metode på siden slik at du kan gjøre cal [DAY_OF_WEEK] = mandag
- New streng håndtering metoder, som kapital (), UNIX er st (), utvide () / unexpand (), samt stripIndent () og stripMargin ()
- En fin Groovy ikon for Groovy Swing Console på Mac OS X
Kommentarer ikke funnet