Monet sen ominaisuuksia ovat inspiroineet kieliä kuten Python, Smalltalk ja Ruby, niiden saattaminen kehittäjät käyttävät Java-syntaksi.
Groovy voidaan kehittää web-sovelluksia, kirjoittaminen komentoriviskriptejä, kirjoittaminen ytimekäs, mielekäs, testitapauksista käyttäen Groovy n JUnit integraatio, tai prototyyppien ja tuottavat todellisia teollisuuden vahvuus sovelluksiin.
Groovy toimii siististi kaikkien nykyistä Java esineitä ja kirjastoissa sekä kokoaa suoraan Java bytecode joko sovelluskehitys tai scripting tilassa.
Mikä on uusi tässä julkaisussa:
< p>- Uusi ominaisuus:
- LaajennaBuilder InitializerStrategy tukea lisäämällä huomautusta Rakentajat
- parannukset:
- Aseta ankkurit kunkin osion Groovy Ascii docs.
- Minor kirjoitusvirhe dokumentaatiossa DefaultGroovyMethods.xor (vasen, oikea)
- Groovysh koodin loppuun ei ole yhteensopiva JDK 9 (Jigsaw)
- lisätyt primitiivisiä array liittyä ()
Mikä on uusi versiossa 2.4.1:
- Uusi ominaisuus:
- LaajennaBuilder InitializerStrategy tukea lisäämällä huomautusta Rakentajat
- parannukset:
- Aseta ankkurit kunkin osion Groovy Ascii docs.
- Minor kirjoitusvirhe dokumentaatiossa DefaultGroovyMethods.xor (vasen, oikea)
- Groovysh koodin loppuun ei ole yhteensopiva JDK 9 (Jigsaw)
- lisätyt primitiivisiä array liittyä ()
Mikä on uusi versiossa 2.3.0:
- Virallinen tuki käynnissä Groovy on JDK 8
- Traits
- Uusi ja parannettu AST muutoksia kuinTailRecursive,Builder jaSortable
- Uusi NIO2 moduuli polku tuella
- Lightening nopea JSON jäsentämiseen ja rakentaminen
- Closure parametri tyyppi päättely
- Uusi markup mallin moottori
- Groovysh ja GroovyConsole helppokäyttöisyys parannusten
- Uusi GroovyAssert testin hyödyllisyys
- LisääBaseScript luokka ominaisuudet
Mikä on uusi versiossa 2.2.2:
- Support int / int int tavoitteena tyypin.
- Support int / int tahansa tavoitetyypin.
- Support T / V T, V on yksi (int, lyhyt, tavu, nieriä, pitkä).
- OnDeletgate kuuluvat linja numero pinon jälkiä.
- Paranna virheilmoituksen tapauksessa käyttäjä määrittelee & quot; run & quot; menetelmä script.
Mikä on uusi versiossa 2.1.7:
- Document rajoitus normaalin kartta-style rakentaja käytettäväksi käyttämälläImmutable
- DOMCategory: text () ei saa solmuarvo jos se on CDATA osio
- ylikuormitettu operaattorin kanssa palautuva
- Null arg puhelu ei ambiguouseven vaikka sen pitäisi olla
- GroovyDoc ei jää kulma sulkeissacode jaliteral tunnisteet
- JavaStubGenerator tyhjentää esimerkiksi initializers
- käyttäminenCompileStatic koodin, joka käyttää leviämiseen toimija Aseta aiheuttaa käännösvirhe
- CompileStatic luokan käyttäen kanssa (sulkeminen) johtaa käännösvirhe.
Mitä uutta strong> versiossa 2.1.5:
- Käytä ylikuormitettu menetelmiä tyhjä / varags parametrit epäonnistuu jos tyyppitarkistuksia on aktiivinen
- Ant groovyc heittää NoClassDefFoundError kootaan groovy luokanDelegatesTo jaCompileStatic
- META-INF / services / org.codehaus.groovy.runtime.ExtensionModule puuttuu groovy-all.jar
- CompileStatic kokoelma epäonnistuu joskus gradle rakentaa virheilmoituksen viite menetelmä on epäselvä. Ei voi valita li>
- Virheellinen virtaus kirjoittamista reset jälkeen, jos sivuliike
Mikä on uusi versiossa 2.1.4:
- Tuki ASAT muuttaa kentällä syntyyField skriptejä
- DelegatesTo olisiDocumented
Mikä on uusi versio 2.0.6 / 2.1.0 RC 1:
- DelegatesTo merkintä: auttaa IDE ja staattinen tyyppi tarkistusohjelma ja kääntäjä tietää, että menetelmä vaatii menetelmässä parametrin sulkeminen siirretään toiseen parametrin menetelmän - mukava DSLs kuten Gradle rakentaa tiedostoja.
- Custom tyyppitarkistuksia laajennukset: jotta voit kirjoittaa tarkistaa DSLs käännöksen ajan oman logiikan.
- meta-merkintä systeemi: jonka avulla voit määrittää uuden merkintä todella yhdistää useita muita - mikä tarkoittaa myös sitä, että voimme soveltaa useita AST muunnokset yhdellä mukautetun huomautuksen.
- Custom base käsikirjoituksen luokan lippu groovyc kääntäjä: asettaa pohja kirjoitus luokan laadittaessa Groovy skriptit.
- Compiler määritysskriptiä: jotta voit määrittää erilaisia asetuksia varten Groovy kääntäjä, kuten täsmennetään custom tiedostopääte, erilaisia kokoelma customizers soveltaa, jne ..
Mikä on uusi versiossa 2.0.4:
- Se korjaa joitakin tärkeitä asioita meillä on ollut kanssa geneerisiä lääkkeitä, joiden tynkä generaattori, sekä useita korjauksia, jotka liittyvät staattisen tyyppitarkistuksia ja staattinen kokoelma ominaisuuksia.
Mikä on uusi versiossa 2.0.0:
- staattinen tyyppi tarkistusohjelma antaa kääntäjä kertoa noin oikeellisuudesta koodin.
- Static kokoelma suorittamista varten kriittisten osien hakemuksesi.
- modulaarisuus, halkaisu Groovy JAR pienempiin ominaisuus suuntautunut tölkit ja kerroit luot oman laajennusmoduulien.
- JDK 7 Project Coin syntaksin parannuksia, jotta Groovy on edelleen yhtä ystävällinen kuin mahdollista sen Java-serkku.
- JDK 7 Invoke Dynamic integraatio hyötyä tukea JVM dynaamisia kieliä.
Mikä on uusi versiossa 1.8.6:
- Groovy 1.8.6 on huolto julkaisu olennaisesti, muutamia pieniä parannuksia ja uusia ominaisuuksia.
Mikä on uusi versiossa 1.8.1:
- Bugs:
- Bug in AntBuilder - DemuxOutputStream tulisi käyttää
- Modifiers paikallisia muuttujia ei huomioida
- Yhteinen kokoelma epäonnistuu, jos Groovy menetelmää array parametri kutsutaan vararg tyyli Java
- Groovy Console Icon for Mac OS X rikki
- Vain root poikkeus kirjoitus on painettu
- ToString ei toimi enum tyypit
- Ottaa setteri jossa paluuarvo aiheuttaa tynkä generaattori tuottaa useita laatijat ja sitten epäonnistua koota li>
- Stub sukupolvi epäonnistuu yleinen allekirjoittanutta li>
- java.lang.ClassFormatError: Laiton luokan nimi & quot; groovy / JMX / rakennusmestari / paketti-info & quot; luokassa file groovy / JMX / rakennusmestari / paketti-info
- Varargs eivät näytetään GroovyDoc
- java5 configureClassNode ei huolta parametrin Huomautusten
- ClassNode.equals heittää ClassCastException objektille muu
- parannukset:
- Truncate merkkijonon, kun luotaessa MissingMethodException
- Mittauksia operaattori?: Ei käsittele rivi ennen & quot;: & quot; sulavasti
- Lisää kytkentäkonfiguraatiosta vaihtoehtoja URL.getText (), URL.newInputStream () ja URL.newReader ()
- Lisää paikallinen Maven repo default Grape config
- tueksi PreparedStatement.addBatch ()
- Kun työskentelee ClassNodes, joskus tulee soittaa getfields () ennen getField () toimii (laiska init)
- Force lisäysten muuttujia, jotka sisällytetään ast muunnoksia
- groovyConsole pitäisi tukea enemmän yhteistä tiedostotyyppejä: .story, .gpp, ja .grunit
- TeeThreadInterrupt valinnainen Groovy konsoli
- Salli mukautettuja poikkeus luokan heitetäänInterrupt AST muunnokset
- EqualsAndHashCode tulisi käyttää getX () sijasta x luettaessa ominaisuudet
- Ota JsonBuilder työskennellä esineitä rekursiivisesti
- Newify toimii ennalta määriteltyihin luokkiin, mutta ei laatuluokkaan saman käsikirjoituksen
- Tee ASTTransformationCustomizer kahvan merkintä parametrit
- IDENTITEETIN lakkauttamisella voi olla saatavilla
- Minor parannus tarjota no-arg versioita DGM grep (), löytää () ja findAll () menetelmät
- 'kuuluu' ominaisuutta EqualsAndHashCode
- Parempi välilehti toteutumisten GroovyShell
- findResults esine / kokoelma / map lisälaite laastari (kloonattu findResult)
- Map.inject () ei hyväksy sulkeminen 3 argumentteja (kerääjä, avain, arvo), vain 2 (kerääjä, Map.Entry)
- JsonBuilder käsikirjoittaja tuella olisi kätevä
- Nimeä DGM kerättävä kaikki sen collectNested - säilyttää alkuperäisen kuten alias toistaiseksi, jotta voidaan deprecating / poistaminen lopulta li>
- Groovy pitäisi tarjota lyhenteenä: kerää {}. Väljähtyä ()
- Uudet ominaisuudet:
- Kun suoritat komentorivin skriptit pitäisi olla mahdollista toteuttaa BEGIN ja END menetelmän (sukua AWK tai Perl)
- Lisää take tapa kokoelmat, Iteraattorit, Taulukot
- groupBy luettelon tai joukko sulkemisten koska se on parametri sisäkkäisiä ryhmittymän
Mikä on uusi versiossa 1.8.0:
- dynaaminen ilmaisuvoimaa Groovy, erityisesti määriteltäessä DSLs .
- Runtime suorituskykyä.
- samanaikainen ja rinnakkainen suoritus.
- Suunnittelu sopimuksella.
- Toimiva ohjelmointityyliä.
- Ensimmäisen luokan JSON tuki.
- käännettäessä meta ohjelmoinnin.
- Lisää auttajia ja kirjasto lisäyksiä.
Mikä on uusi versiossa 1.8.0 RC 4:
- puutteita uudessa optimointi koodin .
- hämärä GEP-3 bug.
Mikä on uusi versiossa 1.7.10:
- Kiinteä Bugs:
- StreamingMarkupBuilder voi tuottaa virheellisiä XML.
- Groovy rakentaa epäonnistuu testeissä - testissä RedundantCastInStubTest epäonnistuu.
- parannukset:
- Lisää tukea pakottavista Package, asiakir- tai luokka-malleja Groovydoc jälkeläinen luokissa.
Mikä on uusi versiossa 1.7.9:
- Bug:
- GString ole pakotettu String käytettynä Poikkeus alaluokka n ctor
- Groovysh "historia muistaa" näyttää poiminta väärä merkintä (off 1)
- ExpandoMetaClass.class.metaClass luo StackOverflow
- LoadConfiguration lataaminen epäonnistuu * .jar
- väärä käsittely unicode tilanvaihdot laskettaessa lähde paikkakunnalla
- Groovy kokoelma aiheuttaa varoituksia Tuotettu koodi
- Poikkeus java.lang.VerifyError & quot; Odotatko löytää esine / matriisi pino & quot; ensisijaiset notyped menetelmä, jossa kirjoitetaan menetelmällä
- Stub generaattori ei jää jouset ristiriitaisin yhden ja kahden hengen lainausmerkit
- Staattinen sisäinen luokkia joita ei koottu oikein
- Virhe null parametrin valmis lausuntoja vanha DB2 kuljettaja
- Komentosarjat-luokan solmut ei ole oikea lähde asennoissa
- StreamingMarkupBuilder voi tuottaa virheellisiä xml
- Improvement:
- Kiinteistövälitys lukea accessor määritelty kautta metaClass ei toimi ilman parametrilista terminaattori sulkemista li>
- GDK groovydocs varten String.padXXX eivät ole kovin selkeitä [uusi sanamuoto liitteenä]
- Typo (luettelot - & # x3e, kartat) in GDK doc kommentti
- Toteuta tapa suora menetelmä vaatii
- Uusi ominaisuus:
- Grape komento ei voi poistaa ja / tai päivittää & quot; viinirypäle & quot;
- Tehtävä:
- Rewrite GroovyScriptEngine
Mikä on uusi versiossa 1.8.0 RC 1:
- Bug:
- Groovysh "historia muistaa" näyttää poiminta väärä merkintä (off 1)
- LoadConfiguration lataaminen epäonnistuu * .jar
- Poikkeus java.lang.VerifyError & quot; Odotatko löytää esine / matriisi pino & quot; ensisijaiset notyped menetelmä, jossa kirjoitetaan menetelmällä
- käyttäminen log muuttuja luotuLog tai @ log4j aiheuttaa kääntäjän virhe, jos käytetään staattista menetelmää
- konsoli käynnistää groovy-all-1.7.6.jar nyt muratti riippuvuus
- Staattinen sisäinen luokkia joita ei koottu oikein
- & quot; anystring & quot; sillä tavu [] heittää java.lang.NumberFormatException: For input string: & quot; anystring & quot;
- Improvement:
- LisääThreadInterrupt lohduttaa skriptejä automaattisesti
- Suosi ClassHelper.make (luokka) yli uuden ClassNode (luokka)
- Uusi ominaisuus:
- Grape komento ei voi poistaa ja / tai päivittää & quot; viinirypäle & quot;
Mikä on uusi versiossa 1.8.0 Beta 4:
- Käynnissä suorituskyvyn parantamiselle primitiivinen kokonaisluku laskelmiin .
- kytkykauppa GPars kirjastoissa binary jakelu.
- Sisäänrakennettu JSON tuki JSON slurper ja JSON jäsennin.
Mitä uutta strong> versiossa 1.8.0 Beta 3:
- Extended komentoa ilmaisuja voidaan käyttää oikea puoli toimeksiantoja.
- Log AST muutos on muokattavissa omaan laajan tiedonkeruun.
- Kartta on nyt isCase () menetelmällä.
- GrabResolver pikakuvake kanssaGrabResolver (& quot; http: // Joissakin / url & quot;).
- String voidaan pakotettu enums (& quot; sininen & quot; kuin Color).
- Tuki sulkemista memoization ja trampoliini.
- ThreadInterrup,ConditionalInterupts jaTimedInterrupt AST muunnokset pysäyttämiseksi suorittamisesta upotettu skriptejä
- min () / max () menetelmät kartalla (arvoihin).
- Kyky tallentaa solmuun metatiedot AST solmuja, joita käytetään oman AST muutoksia.
Mikä on uusi versiossa 1.8.0 Beta 2:
- Generic-ilmoitusta vuotaa kaikilla tiedostot rakentaa.
Mikä on uusi versiossa 1.7.5:
- Bugs:
- Parse of assert epäonnistuu, kun rivi välillä "test" ja "viesti"
- Kevät / CGLIB valtakirjat heittää poikkeus & quot; objekti ei ole esiintymä julistaa luokan & quot;
- Tarve toimittaa käsityönä rakentaja for enum ottaa & # x3e; 1 kenttä
- Exponantiation
- GroovyScriptEngine voi päivittää luokastaan url muista kuin file
- Lisää testi / kattavuus (varten CLONE yhteisen kokoelma epäonnistuu rajapintojen alkukantaiset kentät)
- Compiler ei välitä useita default tapauksia kytkin selvitys
- Tynkä generaattori osoittaa synteettisen menetelmän tyngät siitä ei pitäisi
- Groovy 1.7.4 tapana rakentaa lähdekoodista li>
- Luotu createCallSiteArray on liian suuri JVM
- Curry menetelmä epäonnistuu, kun käytät sitä ketju IllegalArgumentException
- DefaultGroovyMethods # Ainutlaatuinen O (n²) suorituskykyä
- DGM # consumeProcessOutput (Process, StringBuffer, StringBuffer) hyväksyy vain StringBuffers
- Immutable luokka, epäonnistuminen, kun yritettiin määritellä yksityisille staattinen jäsenet
- DGM.eachLine () palauttaa väärän tuloksen
- käännösvirhe käyttämään perintö- ja geneeriset yhdessä
- Implisiittinen tämä ei päästä ohi oikein yhdeltä ei-staattinen sisempi luokka toiseen
- Round-laukaisu XML jossa Rivinvaihtomerkkiä viittaus attribuutin arvon poistettua merkki viite
- Vastaus jo sitoutunut Google App Engine palvellessaan läiskä
- JavaStubGenerator ei oikein luo merkintöjä, joiden ominaisuudet Vektorityyppisen
- Variable soveltamisala BlockStatement eksyminen sisällä ReturnAdder
- ResourceBundle 1,7-beeta-1
- Groovy totuuden groovy.util.slurpersupport.NoChildren pitäisi olla väärä
- ClassFormatError ulottuu yleisiä käyttöliittymä, joka on menetelmä, jossa Array argumentti palaamassa geneerinen tyyppi
- FindBugs virheitä uusille Integer () vs. Integer.valueOf () kuten puheluita li>
- unaryMinus epäonnistuu Lyhyen ja Byte
- pääseminen ulompi ominaisuuksia / menetelmät sisäisestä luokat tuloksista nonyylifenolietoksylaattia
- Kvalifioimattoman viittaus alaluokkaan staattista menetelmää superclass staattisia kenttiä ei koota li>
- parannukset:
- findResult ja findAllResults esine / kokoelma / map lisälaite patch
- Puolusta suljin puhelun pitäisi näyttää
- Parantaa luokka Suorituskyky ja Muisti
- Lisää useita tiedostopääte tukea kääntäjä
- Uudet ominaisuudet:
- Anna mekanismin maailmanlaajuisen AST muunnokset pystyä määrittelemään tiedostopääte Groovy lähteiden niitä olisi sovellettava
- Anna tynkä generaattori testaus infrastruktuurin
- Lisää synteettisiä siteet JList
Mikä on uusi versiossa 1.7.4:
- sulkemiset ovat nyt & quot; vaadittaessa maksettavaa & quot;.
- Uusi AST muutoksia.
- lisää syntaksin jousille, joissa $ / ... / $, kiertää eri pakenevat nurkkaan tapauksissa kuten esimerkiksi $ / / b & # x5c; c $$ $ // $
- Uusi GDK menetelmiä kuten Map.countBy {}, Map.collectEntries {}, Date.putAt () (alaindeksi operaattori), Date.updated ().
- Uusi String menetelmiä kuten tr (), stripMargin (), stripIndent (), (un) laajentaa (),
- Mapin withDefault {} menetelmä,
- Closure n ncury () ja rcury ()
Mikä on uusi versiossa 1.7.3:
- Uusi ASAT muutoksia, kutenSynchronized (turvallisempaa käyttöä synkronointi) jaInheritConstructors (mukava peritäänkö Exception rakentajille)
- Ensimmäinen () / viimeinen () / head () / häntää () menetelmät on paneelit yhdenmukaisuus luettelot (alkeellinen paneelit eivät kata vielä)
- Jotkut BigDecimal käsittely parannuksia parempia tuloksia joissakin reunalla tapauksissa laskelmia
- päivitys staattiset tuonnista kiinteistöille
- Uusi menetelmä on päivämäärä, joten voit tehdä cal [DAY_OF_WEEK] = maanantai
- Uusi String käsittelytavat, kuten hyödyntämään (), UNIX: n tr (), laajenna () / unexpand (), sekä stripIndent () ja stripMargin ()
- kiva Groovy kuvake Groovy Swing Console Mac OS X
Kommentteja ei löytynyt