Gradle mit Ant, am Beispiel von XMLBeans

Wer heute ein Projekt hat, welches komplett auf Ant Skripten basiert, der kann trotzdem über einen Wechsel nach Gradle nachdenken. Zumindest sieht man dies im Gradle Lager so. Gradle hat nämlich Integrationen für Ant und Maven. Daher bekommt man beispielsweise auch die aktuell verwendete Ant Version angezeigt, wenn man gradle -v ausführt.

------------------------------------------------------------
Gradle 1.4
------------------------------------------------------------

Gradle build time: Montag, 28. Januar 2013 03:42 Uhr UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy: 2.2.0
JVM: 1.7.0_17 (Oracle Corporation 23.7-b01)
OS: Mac OS X 10.8.3 x86_64

Im Gradle Skript kann man auf Ant Tasks verweisen, bzw. Ant Befehle ausführen. Hierzu ein Beispiel, wie man ein Ant Taskdef in Gradle verwendet, mit Apache XML Beans. XML Beans ist eine JAXB Implementierung.
Gradle mit Ant, am Beispiel von XMLBeans weiterlesen

Create Java projects with Gradle

So far Ant was my preferred tool, to create and build Java projects. But in the last days, I’ve looked into the next gen – Gradle.

It is a matter of taste, if you prefer XML or a DSL document. At the moment, I think XML is a little bit more user friendly, because you can validate the structure before you run it. I don’t see that for Gradle at the moment (maybe, the Eclipse plugin created by the Spring team is such a solution).

Gradle is, like I’ve read it in a book, the next evolution step after Ant and Maven. The reason for that is, because Gradle is different, and it makes some parts „easier“, as the old Java build tools. But to make it easier, you always need to define some requirements, which were not so defined in Ant. In an Ant project, you as the creator of the project, were responsible for the project folder structure. You’ve defined, where the sources and the classes are stored. Gradle out of the box, does this for you. So you need to follow this requirements.
Benefit is, if you know one Gradle project, you know them all, from the structure perspective. I don’t need to think about, where are the sources, I will always find them under src/main/java, same for the compiled classes, they are always under build/classes/main. With this pre defined structure, I need only one line, to create a build script for my simple project.
Create Java projects with Gradle weiterlesen

Java Projekte bauen mit Gradle

Nach dem Apache Ant bisher meine erste Wahl war, wenn es darum ging ein Java Projekt zu bauen, habe ich mich die letzten Tage mit dem Quasi-Nachfolger Gradle beschäftigt.

Es ist wahrscheinlich geschmacksache, ob man eher ein XML oder ein DSL Dokument bevorzugt. Was ich derzeit bei der XML Variante noch etwas besser finde, ist die Möglichkeit vor dem build zu validieren ob die Struktur und die Elemente korrekt sind. Dies sehe ich bei der Gradle DSL noch nicht so einfach, sondern ich seh die Fehler erst, wenn ich den build starte (zumindest habe ich noch keinen Weg gefunden dies während des Tippen zu validieren).

Gradle ist, wie es in einem Buch dazu gelesen habe, die nächste Evolutionsstufe nach Ant und Maven. Die Begründung hierfür liegt daran, dass Gradle ein paar Dinge anders und „einfacher“ macht, als die gewohnten Java Build Tools. Aber um es einfacher zu machen, gibt es Vorgaben, die es bei Ant so nicht gab. Bei Ant war ich, als ersteller für die Struktur des Projektes zuständig. Ich habe definiert wo meine Quellen liegen und wohin die gebauten Artifakte geschrieben werden. Gradle nimmt einem, out of the box, diese Möglichkeit.
Klarer Vorteil, kenn ich ein Gradle Projekt, kenn ich alle. Ich muss mir keine Gedanken machen, wo die Quellen liegen und wohin die gebauten Elemente geschrieben werden. Java Quellen liegen immer unter src/main/java und die compilierten Klassen liegen unter build/classes/main. Mit dieser Vorgabe gelingt es mir mit einer Zeile ein Java build zu erzeugen.
Java Projekte bauen mit Gradle weiterlesen

Rename of recurring files

Beside the paper, which you collect with your scanner, you get a lot of documents in a digital way, like bills or payrolls.

These documents, I would name recurring. They appear on a regular base in my infolder. But in the most cases, these documents do not follow my own defined filename format. I want the format as YYYY-MM-DD – author – description

So the first task would be, to create an easy and repeatable way, to rename these files automatically.
Rename of recurring files weiterlesen

Umbenennen von wiederkehrenden Dokumenten

Neben dem Papier, welches man via Scanner erfasst, erhält man heute bereits einige Unterlagen direkt in digitaler Form, z.B. die Telefonrechnung oder die Stromrechnung.

Diese Dokumente würde ich als wiederkehrend bezeichnen, da sie in einem regelmäßigen Abstand auf dem Rechner landen. Leider folgen diese Dokumente meist nicht dem eigenen Format für Dateinamen. Wie bereits in Paperless Office beschrieben, habe ich mich für das Format YYYY-MM-DD – absender – beschreibung entschieden.

Daher ist für mich die erste Aufgabe, die Dateien einfach und wiederholbar umzubenennen (man kann es sicherlich jedes mal manuell machen, aber ich will dies ja alles etwas automatisieren, aber eben langsam Schritt für Schritt).
Umbenennen von wiederkehrenden Dokumenten weiterlesen

Paperless Office – next steps

For years, I try to implement the Paperless Office. So far with moderate success.
The question that I read lately quite often is: Why should you set up a papierlosese office?

Now I’m not self-employed, my employer sends me next to nothing on paper, but I would like to quickly and easily access my documents. No matter where I happen to be.

This second sentence „matter where I happen to be“ is my drive and my equally corrupt.
In almost any blog or book, we read how great it works with Evernote. Evernote is certainly a great program, the functions can be almost nothing to be desired. But for me there is a very, very big catch: the data are in the cloud. This is at least for me a no-go.

Paperless Office – next steps weiterlesen

Paperless Office – next step

Seit Jahren versuche ich das Paperless Office umzusetzen. Bisher mit mittelmäßigem Erfolg.
Die Frage die ich in letzter Zeit des öfteren lese ist: Warum soll man ein papierlosese Büro einrichten?

Nun ich bin nicht selbständig tätig, mein Arbeitgeber schickt mir so gut wie nichts in Papierform, aber dennoch möchte ich gerne schnell und einfach auf meine Unterlagen zugreifen können. Egal wo ich mich gerade befinde.

Dieser zweite Satz „Egal wo ich mich gerade befinde“ ist mein Antrieb und auch gleich mein verderben.
In so gut wie jedem Blog oder Buch, liest man wie toll dies mit Evernote funktioniert. Evernote ist sicherlich ein geniales Programm, die Funktionen lassen fast keine Wünsche offen. Aber es gibt für mich einen sehr, sehr großen Haken: Die Daten befinden sich in der Cloud. Dies ist zumindest für mich ein no-go.

Paperless Office – next step weiterlesen