Viele seiner Merkmale mit Sprachen wie Python, Smalltalk und Ruby inspiriert, so dass sie für Entwickler mit Hilfe eines Java-ähnliche Syntax.
Groovy kann für die Entwicklung von Web-Anwendungen, das Schreiben von Shell-Skripten, schreiben prägnant, aussagekräftige, Testfälle mit Groovy JUnit Integration oder Prototypen und produzieren echte industrielle Stärke-Anwendungen verwendet werden.
Groovy arbeitet sauber mit allen vorhandenen Java-Objekten und Bibliotheks und kompiliert direkt in Java-Bytecode entweder in der Anwendungsentwicklung oder Scripting-Modus
Was ist neu in dieser Pressemitteilung:.
< p>- Neues Feature:
- ErweiternBuilder InitializerStrategy zu unterstützen Hinzufügen der Annotation zu Constructors
- Verbesserungen:
- Set Anker für jeden Abschnitt in Groovy Ascii docs.
- Minor Tippfehler in der Dokumentation DefaultGroovyMethods.xor (links, rechts)
- Groovysh Code-Vervollständigung ist nicht mit JDK 9 (Jigsaw) kompatibel
- Hinzugefügt primitive Array join ()
Was ist neu in Version 2.4.1:
- Neues Feature:
- ErweiternBuilder InitializerStrategy zu unterstützen Hinzufügen der Annotation zu Constructors
- Verbesserungen:
- Set Anker für jeden Abschnitt in Groovy Ascii docs.
- Minor Tippfehler in der Dokumentation DefaultGroovyMethods.xor (links, rechts)
- Groovysh Code-Vervollständigung ist nicht mit JDK 9 (Jigsaw) kompatibel
- Hinzugefügt primitive Array join ()
Was ist neu in Version 2.3.0:
- Die offizielle Unterstützung für die Ausführung von Groovy auf JDK 8
- Merkmale
- Neue und verbesserte AST Transformationen wieTailRecursive,Builder undSortable
- New NIO2-Modul mit Unterstützung Pfad
- Lightening schnell JSON-Parsing und Bau
- Closure Parameter Typinferenz
- Eine neue Markup Template-Engine
- Groovysh und GroovyConsole Benutzerfreundlichkeit Verbesserungen
- New GroovyAssert Testprogramm
- MehrBaseScript Klasse Fähigkeiten
Was ist neu in Version 2.2.2:.
- Support int / int mit int Ziel Typ
- Unterstützung int / int mit einem beliebigen Ziel-Typ.
- Unterstützung T / V mit T, V als einer von (int, short, byte, char, long).
- HaveDeletgate zählen Zeilennummer in Stack-Traces.
- Erhöhen Fehlermeldung in dem Fall definiert der Benutzer eine & quot; führen Sie & quot; Methode in einem Skript.
Was ist neu in Version 2.1.7:
- Document Begrenzung der normalen Karte Stil Konstruktor verwenden, wenn VerwendungImmutable
- DOMCategory: text () wird nicht Knoten Wert, wenn es ein CDATA-Abschnitt
- überladenen Operator mit Rückgabetyp
- Null arg Anruf nicht ambiguouseven obwohl es sein sollte
- GroovyDoc nicht entgehen spitzen Klammern incode undliteral-Tags
- JavaStubGenerator löscht weise Initialisierungen
- MitCompileStatic auf Code, der Ausbreitung Betreiber in Kompilierungsfehler verwendet auf einem Satz Ergebnisse
- CompileStatic auf Klasse unter Verwendung mit (Closure) führt zu Übersetzungsfehler.
Was ist neu in Version 2.1.5:
- Die Verwendung von nicht überladene Methoden mit leeren / varags Parameter wenn Typüberprüfung aktiv ist
- Ant groovyc wirft einen NoClassDefFoundError Kompilieren eines groovy Klasse mitDelegatesTo undCompileStatic
- META-INF / services / org.codehaus.groovy.runtime.ExtensionModule fehlt groovy-all.jar
- ausfälltCompileStatic Compilation manchmal in Gradle build mit Fehlermeldung Verweis auf Verfahren ist nicht eindeutig. Kann nicht wählen zwischen
- Falsche Fluss Typisierung Start nach, ob Zweig
Was ist neu in Version 2.1.4:
- Support AST wandelt auf dem unterField erzeugt Skripte in
- DelegatesTo sollteDocumented werden
Was ist neu in Version 2.0.6 / 2.1.0 RC 1:
- DelegatesTo Annotation: zu helfen, IDEs und der statische Typ-Checker und Compiler zu wissen, dass Methodenaufrufe in einen Methodenparameter Schließung zu einem anderen Parameter der Methode delegiert -. für DSLs wie in Gradle bauen Dateien schön
- Benutzerdefinierte Typprüfung Erweiterungen:. So können Sie eingeben zu lesen DSLs zur Compile-Zeit mit Ihrer eigenen Logik
- Eine Meta-Annotation-System: die Sie definieren eine neue Annotation tatsächlich die Kombination von mehreren anderen ermöglicht - was auch bedeutet, in der Lage, einige AST-Transformationen mit einer einzigen benutzerdefinierten Anmerkungs gelten .
- Kundenspezifische Basis Skript-Klasse-Flag für die groovyc Compiler:., Um eine Basis-Script-Klasse festgelegt bei der Zusammenstellung Groovy Skripte
- Compiler-Konfigurationsskript: damit Sie definieren verschiedene Konfigurationsoptionen für die Groovy-Compiler, wie die Angabe benutzerdefinierte Dateierweiterungen, verschiedene Zusammenstellung customizers anzuwenden, etc ..
Was ist neu in Version 2.0.4:
- Es behebt einige wichtige Themen, die wir mit hatten Generika mit dem Stub-Generator, sowie mehrere Fehlerbehebungen für die statische Typprüfung und statische Funktionen Zusammenstellung stehen.
Was ist neu in der Version 2.0.0:
- Eine statische Typ-Checker, damit der Compiler sagen, über die Richtigkeit des Codes.
- Static Zusammenstellung für die Leistung der kritischen Teile der Anwendung.
- Modularität, Aufteilen des Groovy JAR in kleinere Feature-orientierten Gläser und lassen Sie Ihre eigenen Erweiterungsmodule erstellen.
- JDK 7-Projekt Münze Syntax-Erweiterungen, so dass Groovy ist immer noch so freundlich wie möglich mit seiner Java Cousin.
- JDK 7 Invoke Dynamische Integration, von der Unterstützung durch die JVM für dynamische Sprachen zur Verfügung.
Was ist neu in Version 1.8.6:
- Groovy 1.8.6 ist ein Maintenance Release im Wesentlichen, mit ein paar kleinen Verbesserungen und neuen Funktionen.
Was ist neu in Version 1.8.1:
- Bugs:
- Bug in AntBuilder - DemuxOutputStream verwendet werden
- Modifikatoren auf lokale Variablen werden ignoriert
- ausfällt Joint Zusammenstellung, wenn Groovy Verfahren mit Array-Parameter ist in Vararg Stil von Java aufgerufen
- Groovy Console Icon für Mac OS X gebrochen
- Nur der root Ausnahme in einem Skript gedruckt
- ToString nicht für Aufzählungstypen arbeiten
- Mit einem Setter mit einem Rückgabewert bewirkt, dass die Stub-Generator mit mehreren Setter generieren und dann nicht kompiliert
- ausfällt Stub Generation mit generischen Signaturen
- java.lang.ClassFormatError: Illegal Klassenname & quot; groovy / jmx / builder / Paket-info & quot; in-Klassendatei groovy / jmx / builder / Paket-info
- varargs nicht durch GroovyDoc angezeigt
- Java5 configureClassNode nicht kümmern Parameter Anmerkungen
- ClassNode.equals wirft Classcastexception für Objekt anderer Art
- Verbesserungen:
- Abschneiden String, wenn bei der Generierung von Missing
- ternäre Operator: nicht Newline vor dem & quot zu behandeln;: & quot; anmutig
- In Verbindung Konfigurationsoptionen, um URL.getText (), URL.newInputStream () und URL.newReader ()
- In lokalen Maven Repo auf Standard Grape Config
- Zur Unterstützung PreparedStatement.addBatch ()
- Bei der Arbeit mit ClassNodes, manchmal müssen getFields () aufrufen, bevor getField () funktioniert (lazy init)
- Waffen Anmerkungen auf Variablen in ast Transformationen aufgenommen werden
- groovyConsole sollte häufiger Dateitypen unterstützt: .story, .gpp und .grunit
- StellenThreadInterrupt optional in Groovy Konsole
- Lassen benutzerdefinierte Exception-Klasse, um inInterrupt AST Transformationen geworfen werden
- EqualsAndHashCode sollte getX () anstelle von x beim Zugriff auf Eigenschaften
- JsonBuilder aktivieren, um mit Objekten rekursiv arbeiten
- Newify arbeitet für vordefinierte Klassen, aber nicht für die Klassen im selben Skript definiert
- Stellen ASTTransformationCustomizer Griff Annotation Parameter
- Eine IDENTITY Schließung konnte zur Verfügung gestellt werden
- Minor Erweiterung ohne Argumente Versionen von DGM grep (), zu finden () und findAll () Methoden liefern
- 'enthält' Attribut in EqualsAndHashCode
- Bessere Registerkarte Abschlüsse für GroovyShell
- Find Objekt / Sammlung / Karte Enhancement Patch (von findResult geklont)
- Map.inject () nicht Verschluss mit 3 Argumenten (Kollektor, Schlüssel, Wert), nur 2 (Kollektor, Map.Entry) akzeptieren
- JsonBuilder mit Writer Unterstützung wäre praktisch
- Umbenennen DGM collectAll zu collectNested - original halten als Alias zur Zeit im Hinblick auf ironisch / Entfernen schließlich
- Groovy sollten eine Kurzform für vorsehen:. Sammeln {} glätten ()
- Neue Features:
- Bei der Ausführung von Befehlszeilenskripts sollte es möglich sein, führen Sie eine BEGIN und END ein Verfahren (ähnlich AWK oder Perl)
- Fügen Sie eine Methode, um take Sammlungen, Iteratoren, Arrays
- groupBy mit einer Liste oder ein Array von Verschlüssen wie es Parameter für verschachtelte Gruppierung
Was ist neu in Version 1.8.0:
- Die dynamische Ausdruckskraft Groovy, insbesondere für die Definition von DSLs .
- Laufzeit-Performance.
- Die gleichzeitige und parallele Ausführung.
- Design by Contract.
- Funktionale Programmierstil.
- Erstklassige JSON-Support.
- Compiler-Meta-Programmierung.
- Weitere Helfer und Bibliothek Ergänzungen.
Was ist neu in Version 1.8.0 RC 4:
- Schwachstellen bei den neuen Code-Optimierung .
- Ein obskurer GEP-3 Fehler.
Was ist neu in Version 1.7.10:
- Fixed Bugs:
- StreamingMarkupBuilder können ungültige XML zu erzeugen.
- ausfällt Groovy build in Tests - Test RedundantCastInStubTest nicht .
- Verbesserungen:
- Hinzufügen von Unterstützung für das Überschreiben Paket-, doc- oder Klasse-Vorlagen in Groovydoc abgeleiteten Klassen.
Was ist neu in Version 1.7.9:
- Bug:
- Gstring nicht auf String gezwungen, wenn in Ausnahmeklasse ist ctor verwendet
- scheint Groovysh Geschichte Rückruf "zu werden, die Auswahl der falschen Eingabe (durch 1)
- ExpandoMetaClass.class.metaClass schafft Stackoverflow
- LoadConfiguration irgendwie * .jar laden
- Falsche Handhabung von Unicode-Escape-Sequenzen bei der Berechnung der Quellenpositionen
- Groovy Zusammenstellung führt zu Warnungen in generierten Code
- Exception java.lang.VerifyError & quot; Erwartung, Objekt / Array auf Stapel & quot zu finden; beim Überschreiben einer notyped Methode mit einem typisierten Verfahren
- Stub Generator nicht entgehen Saiten mit gemischten einfachen und doppelten Anführungszeichen
- Statische innere Klassen werden nicht korrekt kompiliert
- Fehler bei null Parameter in Prepared Statements mit alten DB2-Treiber
- Scripts 'Klassenknoten nicht korrekten Quellenpositionen haben
- StreamingMarkupBuilder können ungültige XML erzeugen
- Verbesserung:
- Property via Metaklasse definiert lesen Methode nicht ohne Parameterliste Terminator in Verschluss arbeiten
- GDK groovydocs für String.padXXX sind nicht sehr klar [Neufassung angebracht]
- Typo (Listen - & # x3e; Karten) in GDK doc Kommentar
- Implementieren Sie eine Möglichkeit zur direkten Methode ruft
- Neues Feature:
- Grape Befehl kann nicht entfernen und / oder zu aktualisieren, eine & quot; Traube & quot;
- Aufgabe:
- Rewrite GroovyScriptEngine
Was ist neu in Version 1.8.0 RC 1:
- Bug:
- scheint Groovysh Geschichte Rückruf "zu werden, die Auswahl der falschen Eingabe (durch 1)
- LoadConfiguration irgendwie * .jar laden
- Exception java.lang.VerifyError & quot; Erwartung, Objekt / Array auf Stapel & quot zu finden; beim Überschreiben einer notyped Methode mit einem typisierten Verfahren
- Verwenden von Protokollgröße mitLog oder @ Log4j erstellt verursacht Compiler-Fehler, wenn in statische Methode verwendet
- Console von groovy-all-1.7.6.jar ins Leben gerufen hat jetzt Efeu dependancy
- Statische innere Klassen werden nicht korrekt kompiliert
- & quot; anystring & quot; als byte [] wirft java.lang.NumberFormatException: Für Eingabezeichenfolge: & quot; anystring & quot;
- Verbesserung:
- InThreadInterrupt Skripte automatisch zu trösten
- Bevorzugen ClassHelper.make (Class) über neue ClassNode (Class)
- Neues Feature:
- Grape Befehl kann nicht entfernen und / oder zu aktualisieren, eine & quot; Traube & quot;
Was ist neu in der Version 1.8.0 Beta 4:
- Laufende Leistungsverbesserung Arbeit an primitive Ganzzahlberechnungen .
- Bündelung der GPars in den Bibliotheken der Binär-Distribution.
- Built-in JSON-Unterstützung mit einem JSON Abfuhr und ein JSON-Parser.
Was ist neu in der Version 1.8.0 Beta 3:
- Erweiterte Befehl Ausdrücke können auf die verwendet werden rechten Seite der Zuordnungen.
- DieLog AST Transformation ist anpassbar für Ihre eigenen Bedürfnisse Protokollierung.
- Karte hat jetzt eine isCase () -Methode.
- AGrabResolver Verknüpfung mitGrabResolver (& quot; http: // some / url & quot;) .
- String kann Enums gezwungen werden (& quot; blau & quot; als Farbe) .
- Unterstützung für die Schließung memoization und Trampolin.
- ThreadInterrup,ConditionalInterupts undTimedInterrupt AST Transformationen zum Anhalten der Ausführung von eingebetteten Skripten
- min () / max () Methoden auf Karten (auf Werte).
- Die Fähigkeit, Knoten Metadaten im AST-Knoten zu speichern, für die Verwendung in Ihrem AST Transformationen.
Was ist neu in der Version 1.8.0 Beta 2:
- Generische Typdeklarationen undicht über alle Dateien in a build.
Was ist neu in Version 1.7.5:
- Bugs:
- Parse von assert fehlschlägt, wenn Zeilenumbruch zwischen den 'test' und 'message'
- Frühjahr / CGLIB Proxies werfen Ausnahme & quot; Objekt keine Instanz der Klasse deklarieren & quot;
- Sie möchten handgefertigten Konstruktor für enum mit & # x3e liefern; 1 Feld
- Exponantiation
- GroovyScriptEngine nicht Klasse aktualisieren aus url andere als Datei
- In Test / Abdeckung (für Klon des Joint Zusammenstellung nicht für deren Schnittstellen zu primitive Felder)
- Compiler nicht mehrere Standard Fällen dagegen, für eine switch-Anweisung
- Stub-Generator weist eine Synthesemethode in der Stichleitungen sollte es nicht
- Groovy 1.7.4 gewohnt kompilieren
- generiert createCallSiteArray ist zu groß für JVM
- , wenn Sie es in einer Kette mit Illegal ausfällt Curry Verfahren
- DefaultGroovyMethods # einzigartige O (n²) Leistung
- DGM # consumeProcessOutput (Process, Stringbuffer, Stringbuffer) akzeptiert nur Stringbuffers
- Immutable Klasse, Versagen beim Versuch, private static Mitglieder definieren
- DGM.eachLine () liefert falsche Ergebnis
- Übersetzungsfehler in über Vererbung und Generika zusammen
- Implicit diese nicht ordnungsgemäß von einem nicht-statische innere Klasse übergeben bekommen, um ein anderes
- Round-Tripping XML, die einen Zeilenumbruch in Referenzwert eines Attributs enthält entfernt die Zeichenreferenz
- Antwort bereits auf Google App Engine verpflichtet beim Servieren Blobs
- JavaStubGenerator nicht richtig Anmerkungen mit Eigenschaften der Array-Typ zu erzeugen
- Variable Umfang der BlockStatement das Innere ReturnAdder verloren
- Resource in 1,7-beta-1
- Groovy Wahrheit groovy.util.slurpersupport.NoChildren sollte falsch sein
- ClassFormatError Verlängerung generische Schnittstelle, die eine Methode mit einem Array Argument Rücksendung der generische Typ hat
- FindBugs Fehler für neue Integer () vs. Integer.valueOf () wie Anrufe
- unaryMinus nicht für Short und Byte
- Der Zugriff auf äußere Eigenschaften / Methoden von inneren Klassen ergibt NPE
- Uneingeschränkter Referenz in Unterklasse statische Methode, um statische Felder Superklasse nicht kompiliert
- Verbesserungen:
- findResult und findAllResults Objekt / Sammlung / Karte Enhancement Patch
- Nimmt an einen Verschluss Aufruf aussehen soll
- Erhöhen Kategorie Leistung und Speichernutzung
- Fügen Sie mehrere Dateierweiterungen Unterstützung Compiler
- Neue Features:
- Geben Sie einen Mechanismus für die globale AST-Transformationen, um eine Dateierweiterung für die Groovy Quellen sollten sie angewandt werden zu definieren
- Geben Sie eine Stub-Generator-Test-Infrastruktur
- In synthetischen Bindungen an JList
Was ist neu in Version 1.7.4:.
- Verschlüsse sind jetzt & quot; abrufbare & quot;
- New AST Transformationen.
- Eine zusätzliche Syntax für Saiten, mit $ / ... / $, zu umgehen verschiedenen Flucht Ecke Fällen, wie beispielsweise $ / A / B & # x5C; c $$ $ // $
- New GDK-Methoden wie Map.countBy {} {} Map.collectEntries, Date.putAt () (Index-Operator), Date.updated ().
- Die neuen String-Methoden wie tr (), stripMargin (), stripIndent (), (un) erweitern ()
- Die Karte withDefault {} Methode,
- Schließung der ncury () und rcury ()
Was ist neu in Version 1.7.3:
- New AST Transformationen, wieSynchronized (sicherere Nutzung der Synchronisation) undInheritConstructors (schön für Exception erben Bauer)
- Erste () / last () / Kopf () / tail () Methoden für Arrays auf Konsistenz mit Listen (primitive Arrays noch nicht überdacht)
- Einige BigDecimal Handhabung Verbesserungen für bessere Ergebnisse auf einige Grenzfälle Berechnungen
- Ein Update auf die statischen Eigenschaften für die Einfuhr
- Neue Methode am Datum, so dass Sie tun können, cal [DAY_OF_WEEK] = Montag
- New String Umgang mit Methoden, wie Kapital (), UNIX ist tr (), erweitern Sie () / unexpand () sowie stripIndent () und stripMargin ()
- Ein schönes Symbol für das Groovy Groovy Swing-Konsole auf Mac OS X
Kommentare nicht gefunden