Monet sen ominaisuudet ovat inspiroineet kieliä kuten Python, Smalltalk ja Ruby, niiden saattaminen kehittäjät käyttävät Java-syntaksi.
Apache Groovy voidaan käyttää kehittää web-sovelluksia, kirjoittaminen komentoriviskriptejä, kirjoittaa lyhyt, mielekäs, testitapaukset käyttäen Groovy n JUnit integraatio, tai prototyyppien ja tuottavat todellisia teollisuuden vahvuus sovelluksissa.
Groovy toimii siististi kaikkien nykyistä Java esineitä ja kirjastojen ja kokoaa suoraan Java bytecode joko sovelluskehitys tai scripting tilassa.
Ominaisuudet :
- perustuu vahvuuksia Java mutta on lisää tehoa ominaisuuksia innoittamana kieliä kuten Python, Ruby ja Smalltalk
- Lisää moderni ohjelmointi ominaisuuksia Java
- Tukee Domain kielet
- Parantaa kehittäjä tuottavuutta li>
- Helpottaa testaus
- Kokoaa suoraan Java bytecode
Mikä on uusi tässä julkaisussa:
- 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ätty primitiivinen array liittyä ()
Mikä on uusi versiossa 2.3.0:
- Virallinen tuki käynnissä Groovy on JDK 8
- Piirteet
- Uusi ja parannettu AST muutoksia kuinTailRecursive,Builder jaSortable
- Uusi NIO2 moduuli polku tuki
- Lightening nopea JSON jäsentämiseen ja rakennus
- päättäminen parametri tyyppi päättely
- uusi markup mallin moottori
- Groovysh ja GroovyConsole helppokäyttöisyys parannuksia
- Uusi GroovyAssert testi apuohjelma
- LisääBaseScript luokka ominaisuuksia
Mikä on uusi versiossa 2.2.2:
- Tuki int / int int tavoitetyypin.
- Tuki int / int tahansa tavoitetyypin.
- Tuki T / V T, V on yksi (int, lyhyt, tavu, nieriä, pitkä).
- OnDeletgate kuuluvat linja numero pino jälkiä.
- Paranna virheilmoituksen tapauksessa käyttäjä määrittelee & quot; Run & quot; menetelmä script.
Mikä on uusi versiossa 2.1.7:
- Asiakirja rajoittamisesta normaalin kartta-tyyliin rakentaja käytettäväksi käyttämälläImmutable
- DOMCategory: teksti () ei saa solmuarvo jos se on CDATA jakso
- ylikuormitettu toimija palautuva
- Null arg Puhelua ei ambiguouseven vaikka sen pitäisi olla
- GroovyDoc ei jää kulma sulkeissacode jaliteral tagit
- JavaStubGenerator tyhjentää esimerkiksi initializers
- käyttäminenCompileStatic koodin, joka käyttää leviäminen toimija joukko saa käännösvirhe
- CompileStatic luokan käyttäen kanssa (sulkeminen) johtaa käännösvirhe.
Mitä uutta strong> versiossa 2.1.5:
- käyttö ylikuormitettu menetelmiä tyhjä / varags parametrit epäonnistuu jos tyyppi tarkistus on aktiivinen
- Ant groovyc heittää NoClassDefFoundError kootaan groovy luokanDelegatesTo jaCompileStatic
- META-INF / palvelut / org.codehaus.groovy.runtime.ExtensionModule puuttuu groovy-all.jar
- CompileStatic kokoelma epäonnistuu joskus gradle rakentaa virheilmoituksen Viittaus 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ä parametri sulkeminen siirretään toiseen parametri menetelmän - mukava DSLs kuten Gradle rakentaa tiedostoja.
- Mukautettu tarkistus laajennukset: niin voit kirjoittaa tarkistaa DSLs käännöksen ajan omalla logiikka.
- meta-merkintä järjestelmä: jonka avulla voit määrittää uuden merkintä todella yhdistämällä useita muita - mikä tarkoittaa myös sitä, että voimme soveltaa useita AST muunnokset yhdellä mukautetun merkintä.
- Custom tukikohta käsikirjoituksen luokan lippu groovyc kääntäjä: asettaa pohja kirjoitus luokan laadittaessa Groovy skriptit.
- Compiler kokoonpanon komentosarja: jotta voit määrittää erilaisia asetuksia varten Groovy kääntäjä, kuten määritellään mukautetun tiedoston laajennuksia, eri 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 liittyvät staattista tyyppiä tarkkailun ja staattinen kokoelma ominaisuuksia.
Mikä on uusi versiossa 2.0.0:
- staattinen tyyppi tarkistusohjelma antaa kääntäjä kertoa noin oikeellisuudesta koodin.
- pysyvä 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 AntBuilder - DemuxOutputStream tulisi käyttää
- Modifiers paikallisia muuttujia ei huomioida
- Yhteinen kokoelma epäonnistuu jos Groovy menetelmällä matriisiparametrit kutsutaan vararg tyyli Java
- Groovy konsoli -kuvaketta Mac OS X rikki
- Vain root poikkeus kirjoitus on painettu
- ToString ei toimi ENUM tyyppejä
- Ottaa setteri kanssa paluuarvo aiheuttaa tynkä generaattori tuottaa useita laatijat ja sitten epäonnistua koota li>
- Stub sukupolven epäonnistuu yleinen allekirjoituksia
- java.lang.ClassFormatError: Laiton luokan nimi & quot; groovy / JMX / rakennusmestari / paketti-info & quot; luokassa tiedosto groovy / JMX / rakennusmestari / paketti-info
- Varargs ei näytetä mukaan GroovyDoc
- java5 configureClassNode ei hoida parametrin merkinnöistä
- ClassNode.equals heittää ClassCastException objektille muu
- parannukset:
- Rajaa 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
- Tuetaan PreparedStatement.addBatch ()
- Kun työskentelee ClassNodes, joskus täytyy soittaa getfields () ennen getField () toimii (laiska init)
- Pakota lisäysten muuttujia, jotka sisällytetään ast muunnoksia
- groovyConsole olisi tuettava enemmän yleiset tiedostotyypit: .story, .gpp, ja .grunit
- TeeThreadInterrupt valinnainen Groovy konsoli
- 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ääriteltyjä luokkia mutta ei laatuluokkaan samassa script
- Tee ASTTransformationCustomizer kahva merkintä parametrit
- IDENTITEETIN sulkeminen voisi olla saatavilla
- Minor lisälaite antaa mitään-arg versiot DGM grep (), löytää () ja findAll () menetelmät
- 'sisältää' ominaisuutta EqualsAndHashCode
- Parempi välilehti toteutumisten GroovyShell
- findResults esine / kokoelma / kartta lisälaite laastari (kloonattu findResult)
- Map.inject () ei hyväksy sulkeminen 3 argumentteja (keräilijä, avain, arvo), vain 2 (kerääjä, Map.Entry)
- JsonBuilder käsikirjoittaja tuki olisi kätevä
- Nimeä DGM kerättävä kaikki on collectNested - pitää alkuperäistä alias toistaiseksi, jotta deprecating / poistaminen lopulta li>
- Groovy olisi säädettävä lyhenteenä: kerätä {}. Väljähtyä ()
- Uudet ominaisuudet:
- Kun suoritat komentorivin skriptit olisi mahdollista suorittaa BEGIN ja END menetelmä (sukua AWK tai Perl)
- Lisää take tapa kokoelmat, Iteraattorit, Taulukot
- groupBy luettelon tai joukko sulkemisten se 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.
- Design sopimus.
- Functional Programming tyyli.
- Ensimmäisen luokan JSON tuki.
- käännettäessä meta ohjelmointi.
- Lisää auttajia ja kirjasto lisäyksiä.
Mikä on uusi versiossa 1.8.0 RC 4:
- puutteita uudessa optimointi koodi .
- hämärä GEP-3 bug.
Mikä on uusi versiossa 1.7.10:
- Kiinteä Bugs:
- StreamingMarkupBuilder voi tuottaa Virheellinen 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 ei pakotettu String kun käytetään Poikkeus alaluokka n ctor
- Groovysh "historia muistaa" näyttää poiminta väärä merkintä (pois 1)
- ExpandoMetaClass.class.metaClass luo StackOverflow
- LoadConfiguration lataaminen epäonnistuu * .jar
- väärä käsittely Unicode tilanvaihdot laskettaessa lähdesijaintien
- Groovy kokoelma johtaa varoituksia Tuotettu koodi
- Poikkeus java.lang.VerifyError & quot; odottaa löytävänsä esine / array pino & quot; ensisijaiset notyped menetelmällä kirjoitettu menetelmällä
- Stub generaattori ei jää jouset ristiriitaisin yhden ja kahden hengen lainausmerkit
- Staattinen sisäinen luokat ei koottu oikein
- Virhe null parametrin valmis lausuntoja vanhojen DB2 kuljettaja
- Komentosarjat-luokan solmut ei ollut oikea lähde kantoja
- StreamingMarkupBuilder voi tuottaa Virheellinen XML
- Improvement:
- Kiinteistövälitys lukea accessor määritelty kautta metaClass ei toimi ilman parametrilista terminaattorin sulkeminen
- GDK groovydocs varten String.padXXX eivät ole kovin selkeitä [uusi sanamuoto liitteenä]
- Typo (luettelot - & # x3e; kartat) vuonna 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ä (pois 1)
- LoadConfiguration lataaminen epäonnistuu * .jar
- Poikkeus java.lang.VerifyError & quot; odottaa löytävänsä esine / array pino & quot; ensisijaiset notyped menetelmällä kirjoitettu 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-kaikki-1.7.6.jar nyt Ivy riippuvuus
- Staattinen sisäinen luokat ei koottu oikein
- & quot; anystring & quot; kuten tavu [] heittää java.lang.NumberFormatException: For syötemerkkijono: & quot; anystring & quot;
- Improvement:
- LisääThreadInterrupt lohduttaa skriptejä automaattisesti
- Suosi ClassHelper.make (luokka) yli uusi 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 laskelmia .
- kytkykauppa GPars kirjastoissa binary jakelu.
- Sisäänrakennettu JSON tuki JSON slurper ja JSON jäsennin.
Mitä uutta strong> versiossa 1.8.0 Beta 3:
- Laajennettu komento ilmaisuja voidaan käyttää oikea puoli toimeksiantoja.
- Log ASAT muutos on muokattavissa omaan laajan tiedonkeruun.
- Kartta on nyt isCase () menetelmä.
- GrabResolver pikakuvake kanssaGrabResolver (& quot; http: // jotkut / 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 kartoilla (arvoihin).
- kyky varastoida solmuun metatiedot AST solmut, käytettäväksi AST muutoksia.
Mikä on uusi versiossa 1.8.0 Beta 2:
- Yleinen-ilmoitusta vuotaa kaikissa tiedostot rakentaa.
Mikä on uusi versiossa 1.7.5:
- Bugs:
- Parse ja väittävät epäonnistuu, kun rivi välillä "test" ja "viesti"
- Kevät / CGLIB valtakirjoja heittää poikkeus & quot; tavoitteena ei ole esimerkiksi julistaa luokan & quot;
- Tarve toimittaa käsityönä rakentaja varten ENUM ottaa & # x3e; 1 kenttä
- Exponantiation
- GroovyScriptEngine voi päivittää luokan URL muista kuin tiedosto
- Lisää testi / kattavuus (klooni yhteisen kokoelma epäonnistuu rajapintojen primitiivinen kentät)
- Compiler ei välitä useita oletus tapauksissa kytkin selvitys
- Stub generaattori osoittaa synteettinen menetelmä 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 yritettäessä määritellä oma staattinen jäsenet
- DGM.eachLine () palauttaa väärän tuloksen
- käännösvirhe käyttämään perintö ja geneeristen yhdessä
- Implisiittinen tämä ei päästä ohi oikein yhdeltä ei-staattinen sisempi luokka toiseen
- Round-laukaisu XML joka sisältää Rivinvaihtomerkkiä viittaus attribuutin arvon poistettua merkki viite
- Vastaus jo sitoutunut Google App Engine, kun jätät läiskä
- JavaStubGenerator ei oikein luo merkintöjä, joiden ominaisuudet vektorityyppisen
- Muuttuva soveltamisalaan BlockStatement eksyminen sisällä ReturnAdder
- ResourceBundle 1,7-beeta-1
- Groovy totuuden groovy.util.slurpersupport.NoChildren pitäisi olla väärä
- ClassFormatError ulottuu yleinen käyttöliittymä, joka on menetelmä, jossa Array argumentti palaamassa geneerinen tyyppi
- FindBugs virheitä uusille Integer () vs. Integer.valueOf () kuten puhelut
- unaryMinus epäonnistuu Lyhyt ja Byte
- pääseminen ulko ominaisuuksia / menetelmät sisäisestä luokat tuloksia nonyylifenolietoksylaattia
- Kvalifioimattoman viittaus alaluokkaan staattista menetelmää superclass staattiset kentät ei koota li>
- parannukset:
- findResult ja findAllResults esine / kokoelma / kartta lisälaite patch
- puolustamaan sulkeminen puhelun pitäisi näyttää
- Paranna Luokka Suorituskyky ja Muisti
- Lisää useita tiedostopääte tukea kääntäjä
- Uudet ominaisuudet:
- Anna mekanismi Global AST muunnokset pystyä määrittelemään tiedostopääte Groovy lähteitä olisi sovellettava
- Anna tynkä generaattori testaus infrastruktuurin
- Lisää synteettinen siteet JList
Mikä on uusi versiossa 1.7.4:
- sulkemiset ovat nyt & quot; vaadittaessa maksettavaa & quot;.
- Uusi ASAT 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ä,
- päättäminen n ncury () ja rcury ()
Mikä on uusi versiossa 1.7.3:
- Uusi ASAT muutoksia, kutenSynchronized (turvallisempaa käyttöä synkronointi) jaInheritConstructors (mukava peritäänkö Poikkeus rakentajille)
- ensimmäinen () / viimeinen () / head () / hännän () menetelmiä paneelit yhdenmukaisuus luettelot (primitiivinen paneelit eivät kuulu vielä)
- Jotkut BigDecimal käsittely parannuksia parempia tuloksia esiintyä kulmien tapauksissa laskelmia
- päivitys staattinen tuonti kiinteistöille
- Uusi menetelmä Date 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 ()
- mukava Groovy kuvake Groovy Swing Console Mac OS X
Kommentteja ei löytynyt