Много от това, което предлага са вдъхновени от езици като Python, Smalltalk и Ruby, което ги прави достъпни за разработчиците, използващи Java-подобен синтаксис.
Groovy може да се използва за разработка на уеб приложения, писане шел скриптове, писане случаи сбит, смислен, изпитване, използвайки интеграция JUnit Groovy му, или създаване на прототипи и производство на реални приложения индустриална мощ.
Groovy работи чисто с всички съществуващи Java обекти и библиотеки и съставя направо на Java байткод или в разработка на приложения или режим включили
Какво ново в тази версия:.
< P>- New Feature:
- ExtendBuilder InitializerStrategy да подкрепи добавянето на анотацията към строителите
- Подобрения:
- Set анкери за всеки раздел в Groovy ASCII Документи.
- Мала правописна грешка в документацията за DefaultGroovyMethods.xor (ляво, дясно)
- Groovysh код приключване не е съвместим с JDK 9 (Jigsaw)
- Добавена примитивна масив присъединят ()
Какво ново във версия 2.4.1:
- New Feature:
- ExtendBuilder InitializerStrategy да подкрепи добавянето на анотацията към строителите
- Подобрения:
- Set анкери за всеки раздел в Groovy ASCII Документи.
- Мала правописна грешка в документацията за DefaultGroovyMethods.xor (ляво, дясно)
- Groovysh код приключване не е съвместим с JDK 9 (Jigsaw)
- Добавена примитивна масив присъединят ()
Какво ново във версия 2.3.0:
- Официална подкрепа за стартиране Groovy на JDK 8
- черти
- нова и подобрена AST трансформации катоTailRecursive,Builder иSortable
- New NIO2 модул с поддръжка Path
- Lightening бързо JSON разбор и изграждане
- Закриване тип параметър извод
- нов шаблон за маркиране на двигателя
- Groovysh и GroovyConsole лекота на подобрения употреба
- New GroovyAssert тест полезност
- способности ПовечеBaseScript клас
Какво ново във версия 2.2.2:.
- Поддръжка INT / INT с тип INT гол
- Поддръжка INT / INT с всякакъв вид гол.
- Подкрепа T / V с T, V е един от (INT, къси, байт, Чар, дълго).
- HaveDeletgate включва номер на ред в стека следи.
- Подобряване на съобщение за грешка в случая потребителят определя & quot; тичам & quot; метод в скрипт.
Какво ново във версия 2.1.7:
- ограничение Документ на нормална употреба карта стил конструктор, когато използвайкиImmutable
- DOMCategory: текст () не се получи стойност възел, ако тя е разрез CDATA
- Претоварен оператор с връщане тип
- Null арг повикването не ambiguouseven макар че той трябва да бъде
- GroovyDoc не избяга ъглови скоби вcode иliteral тагове
- JavaStubGenerator изчиства инстанция инициализират
- ИзползванеCompileStatic на код, който използва спред оператор на набор резултати в компилация грешка
- CompileStatic на клас използвате с (Затваряне) води до грешка при компилиране.
Какво ново във версия 2.1.5:
- Използване на претоварени методи с празна / varags параметри не успява ако тип проверка е активен
- Ant groovyc хвърля NoClassDefFoundError съставяне на грууви клас сDelegatesTo иCompileStatic
- META-INF / услуги / org.codehaus.groovy.runtime.ExtensionModule липсва от грууви-all.jar
- CompileStatic компилация не успява понякога в Gradle строителство с грешка съобщение препратка към метода е неясна. Не може да се избира между
- Неправилно поток нулиране пишете след ако клон
Какво ново във версия 2.1.4:
- Поддръжка AST трансформира на терена, генерирани отField в скриптове
- DelegatesTo трябва да сеDocumented
Какво ново във версия 2.0.6 / 2.1.0 RC 1:
- DelegatesTo анотация: да помогне на ИДЕС и статичното тип и за проверка на компилатора да знаете, че методът разговори в затваряне параметър метод са делегирани на друг параметър на метода -. хубаво за DSLs като в Gradle изгради файлове
- разширения поръчка тип проверка:. За да можете да въвеждате проверите DSLs си време на компилация с вашата собствена логика
- Мета-анотация система: който ви позволява да дефинирате нова анотация всъщност комбиниране на няколко други - което също означава да бъдеш в състояние да прилага няколко AST трансформации с един обичай анотация .
- Потребителски база скрипт клас флаг за groovyc съставител:. Да се определи клас база скрипт при съставянето на Groovy скриптове
- Compiler скрипт: да споделите можете да зададете различни опции за конфигуриране за Groovy компилатора, като уточнява обичай файлови разширения, различни компилации customizers да се прилагат и др ..
Конфигурация
Какво ново във версия 2.0.4:
- Той определя някои важни въпроси, които сме имали с генеричните лекарства с генератора за мъниче, както и няколко поправки, свързани с проверката на статично вид и статични характеристики компилацията.
Какво ново във версия 2.0.0:
- Статична тип пул да споделите компилаторът ви кажа за коректността на кода си.
- Static компилация за изпълнение на критичните точки на вашата кандидатура.
- модулност, разделяне на Groovy JAR-малки игрални ориентирани буркани и ви позволява да създавате свои собствени модули за разширение.
- JDK 7 Проект на монети синтактични подобрения, така че Groovy все още е като приятелски, колкото е възможно със своя братовчед Java.
- JDK 7 Invoke Dynamic интеграция да се възползва от подкрепата на JVM за динамични езици.
Какво ново във версия 1.8.6:
- Groovy 1.8.6 е освобождаване за издръжка по същество, с няколко дребни подобрения и нови функции.
Какво ново във версия 1.8.1:
- Bugs:
- Bug в AntBuilder - трябва да се използва DemuxOutputStream
- Модификатори на локални променливи са игнорирани
- Съвместно компилация не успее, ако Groovy метод с параметър масив се нарича в vararg стил от Java
- Groovy Console Икона за Mac OS X разбито
- Само кореновата изключение в скрипт е отпечатан
- ToString не работи за видове ENUM
- като сетер с връщане на стойност причинява генератора мъниче да генерира множество създателите и след това не успяват да съставят
- поколение Мъниче не успее с общи сигнатури
- java.lang.ClassFormatError: име & quot Незаконен клас; грууви / JMX / строител / пакет-инфо & quot; в клас файл грууви / JMX / строител / пакет-инфо
- Varargs не се извеждат от GroovyDoc
- Java5 configureClassNode не се грижи за параметрите анотации
- ClassNode.equals хвърля ClassCastException за обект от друг тип
- Подобрения:
- Отрежете низ, когато при генериране MissingMethodException
- трикомпонентни оператор: не се справят нов ред преди & quot;: & quot; грациозно
- Добавяне на опции за конфигуриране връзка URL.getText (), URL.newInputStream () и URL.newReader ()
- Добавяне на местно Maven репо неизпълнение Grape довереник
- В подкрепа PreparedStatement.addBatch ()
- Когато се работи с ClassNodes, понякога трябва да се обадя getFields () преди getField () ще работи (мързеливи първоначален)
- Force анотации на променливи, които да бъдат включени в AST трансформации
- groovyConsole трябва да подкрепи по-често срещаните типове файлове: .story, .gpp и .grunit
- НаправиThreadInterrupt избор в Groovy конзолата
- Разрешаване на потребителски изключение клас да бъде хвърлен вInterrupt AST трансформации
- EqualsAndHashCode трябва да използвате getX () вместо х при достъпа до свойства на
- Активиране JsonBuilder да работят с обекти рекурсивно
- Newify работи за предварително определени класове, но не и за класа, определени по същия скрипт
- Направи ASTTransformationCustomizer дръжка анотация параметри
- затваряне за самоличност може да се предоставя
- Мала аксесоар за предоставяне на не-Arg версии на DGM Впиши (), намерете () и findAll () методи
- "включва" атрибут в EqualsAndHashCode
- По-добро раздела изпълнения на GroovyShell
- findResults възражение / събиране / картата аксесоар пластир (клониран от findResult)
- Map.inject () не приема затваряне с 3 аргументи (колектор, ключ, стойност), само 2 (колектор, Map.Entry)
- JsonBuilder с подкрепата Writer ще бъде удобен
- Rename DGM collectAll да collectNested - запази оригиналната като псевдоним за момента с оглед пренебрежително / премахване крайна сметка
- Groovy следва да предостави стенограмите за:. Събира {} изравнявам ()
- Нови функции:
- При изпълнение на командния ред скриптове трябва да е възможно да се изпълни започва и метод на END (близък до AWK или Perl)
- Add метод Вземете да Колекции, Итераторите, Масивите
- groupBy със списък или масив от затваряне, тъй като е параметър за вложените групиране
Какво ново във версия 1.8.0:
- Динамичният изразителността на Groovy, специално за определяне DSLs .
- Runtime изпълнение.
- Едновременно и паралелно изпълнение.
- Design с договор.
- Функционално програмиране стил.
- Първокласен подкрепа JSON.
- време на компилация мета програмиране.
- Още помощници и библиотечни допълнения.
Какво ново във версия 1.8.0 RC 4:
- Къси-идвания в новия код оптимизация .
- Неясно GEP-3 бъг.
Какво ново във версия 1.7.10:
- Фиксирани бъгове:
- StreamingMarkupBuilder може да произвежда невалиден XML.
- Groovy строителство провали в тестове - тест RedundantCastInStubTest не успее .
- Подобрения:
- Добави подкрепа за императивни Пакет, доку- или класни шаблони в Groovydoc потомък класове.
Какво ново във версия 1.7.9:
- Bug:
- не GString принуден да String когато се използва в ctor Exception подклас на
- Groovysh "История на изземване" изглежда се бране на грешната позиция (на разстояние от 1)
- ExpandoMetaClass.class.metaClass създава StackOverflow
- LoadConfiguration не се зареди * .jar
- неправилно боравене с Unicode ескейп последователности при изчисляване места източник
- Groovy резултати компилация в предупреждения в генериран код
- Exception java.lang.VerifyError & quot; очакване да намерят обект / масив на комин & quot; когато императивни а notyped метод с печатен метод
- Мъниче генератор не избяга струни със смесени единични и двойни кавички
- Статични вътрешните класове не се компилира правилно
- Error с нулев параметър в изготвените отчети със стария DB2 драйвер
- класа възли Scripts "не са имали правилните позиции източник
- StreamingMarkupBuilder може да произвежда невалиден XML
- Подобряване:
- Имоти Accessor прочетете дефинирано чрез metaClass не работи без списък параметър терминатор в затваряне
- GDK groovydocs за String.padXXX не са много ясни [нова формулировка прикрепена]
- Типо (списъци - & # x3e; УПИ) в GDK док коментар
- Прилагане начин за директен метод призовава
- New Feature:
- Grape команда не може да се отстрани и / или актуализиране на & quot; гроздова & quot;
- Задача:
- Препишете GroovyScriptEngine
Какво ново във версия 1.8.0 RC 1:
- Bug:
- Groovysh "История на изземване" изглежда се бране на грешната позиция (на разстояние от 1)
- LoadConfiguration не се зареди * .jar
- Exception java.lang.VerifyError & quot; очакване да намерят обект / масив на комин & quot; когато императивни а notyped метод с печатен метод
- Използване дневник променлива създадена сLog или @ Log4j причинява компилатор грешка, ако се използва в статичен метод
- Console изстреляна от грууви-ол-1.7.6.jar сега има бръшлян зависимостта
- Статични вътрешните класове не се компилира правилно
- & quot; anystring & quot; като байт [] хвърля java.lang.NumberFormatException: За въвеждане на низ: & quot; anystring & quot;
- Подобряване:
- ДобавиThreadInterrupt да утеши скриптове автоматично
- Предпочитам ClassHelper.make (Class) през новия ClassNode (Class)
- New Feature:
- Grape команда не може да се отстрани и / или актуализиране на & quot; гроздова & quot;
Какво ново във версия 1.8.0 Beta 4:
- Текущата работа подобрение в производителността на примитивни изчисления целочислени .
- групирането на GPars в библиотеките на двоичния разпределение.
- Вградена поддръжка JSON с slurper JSON и JSON анализатор.
Какво ново във версия 1.8.0 Beta 3:
- Разширени командни изрази могат да се използват по дясната страна на назначения.
- трансформацияLog AST е приспособима за вашите собствени нужди сеч.
- Map вече има (метод на isCase).
- AGrabResolver команда сGrabResolver (& quot; HTTP: // някои / URL & quot;) .
- String могат да бъдат принуждавани да Enums (& quot; синята &, както се Color) .
- Подкрепа за затваряне memoization и батут.
- ThreadInterrup,ConditionalInterupts иTimedInterrupt AST трансформации за спиране на изпълнението на вградени скриптове
- мин () / макс () методи за карти (на стойностите).
- Възможност за съхранение на метаданни възел в AST възли, предназначени за вашите AST трансформации.
Какво ново във версия 1.8.0 Beta 2:
- декларации общият вид на течове във всички файлове в натрупване.
Какво ново във версия 1.7.5:
- Bugs:
- разбор на ASSERT се провали, когато нов ред между "тест" и "съобщение"
- Пролет / CGLIB пълномощни хвърлят изключение & quot; обект не е инстанция на обявяване клас & quot;
- трябва да предоставят ръчно изработени конструктор за ENUM като & # x3e; 1 поле
- Exponantiation
- GroovyScriptEngine не може да освежи клас от URL, различна от файл
- Добави тест / покритие (за клонинг на Съвместния компилация не успее за интерфейси с примитивни полета)
- Compiler няма нищо против множество случаи по подразбиране за изявление ключ
- Мъниче генератор проявява синтетичен метод в мъничета не би трябвало
- Groovy 1.7.4 няма да се изгради от източник
- Образувани createCallSiteArray е твърде голяма за JVM
- метод Къри се провали, когато го използвате в една верига с IllegalArgumentException
- DefaultGroovyMethods # Уникален O (n²) производителност
- DGM # consumeProcessOutput (Process, StringBuffer, StringBuffer) приема само StringBuffers
- Immutable клас, провал, когато се опитват да определят частни статични членове
- DGM.eachLine () връща грешен резултат
- Compilation грешка при използване на наследството и генеричните лекарства заедно
- Implicit това не успее да се предава правилно от един нестатичен вътрешен клас в друг
- Round-спъване XML, който съдържа нов ред референтен характер на стойността атрибут е премахва позоваването на характера
- Response вече извършено на Google App Engine, когато служи петна
- JavaStubGenerator не правилно генерира анотации с имоти от тип масив
- Variable обхват на BlockStatement се губи вътре ReturnAdder
- ResourceBundle в 1,7-бета-1
- Groovy истината на groovy.util.slurpersupport.NoChildren трябва да бъде фалшива
- ClassFormatError удължаване родово интерфейс, който има метод с аргумент Array връщане на родовия тип
- FindBugs грешки за нов Integer () vs. Integer.valueOf (), като покани
- unaryMinus не успее за по-кратко и Byte
- Достъп до външни свойства / методи от вътрешни класове резултати в NPE
- Неквалифициран справка в подклас статичен метод за суперкласа статични полета не успее да съставят
- Подобрения:
- findResult и findAllResults възразяват / събиране / картата аксесоар пластир
- отстояват затваряне разговор трябва да изглежда така
- Подобряване Категория Производителност и Memory
- добавите няколко файлови разширения подкрепа в съставител
- Нови функции:
- осигури механизъм за Глобални AST трансформации, за да могат да се определят файлово разширение за Groovy източници, които следва да се прилагат, за да
- Осигуряване мъниче генератор тестване инфраструктура
- Добави синтетични автомати да JList
Какво ново във версия 1.7.4:.
- муфи са сега & quot; изискуем & quot;
- Нови AST трансформации.
- Допълнително синтаксис за низове, с $ / ... / $, за да заобиколят различните бягство ъглови случаи, като например $ / A / B & # x5c С $$ $ // $
- New GDK методи като Map.countBy {}, Map.collectEntries {}, Date.putAt () (долен оператор), Date.updated ().
- Новите Струнни методи като TR (), stripMargin (), stripIndent (), (не) се разширява (),
- withDefault Карта на {} метод,
- Закриване на ncury () и rcury ()
Какво ново във версия 1.7.3:
- Нови AST трансформации, катоSynchronized (безопасно използване на синхронизация) иInheritConstructors (хубаво за наследява Exception конструктори)
- Първият () / последна () / глава () / опашка () методи за масиви за съгласуваност с списъци (примитивни масиви все още не са обхванати)
- Някои подобрения BigDecimal за съхранение на по-добри резултати по някои крайни случаи изчисления
- Актуализация на статични внос на имоти
- Нов метод на дата, така че можете да направите изч [DAY_OF_WEEK] = понеделник
- New String методи на манипулация, като се възползва (), TR UNIX е (), разширяване () / unexpand (), както и stripIndent () и stripMargin ()
- Известен Groovy икона за Groovy Swing конзолата на Mac OS X
Коментари не е намерена