Java-Projekte automatisch erzeugen

Es gibt praktische Software und dann gibt es manchmal Anwendungen bei denen man sich fragt was genau der Anwendungszweck ist. Eine dieser Anwendungen ist der Java Bullshifier. Die einzige Aufgabe des Java Bullshifier ist es, riesige Java-Projekte zu erzeugen.

Die Projekt-Webseite

Selbst im Vorstellungsartikel des Tools wird die Meinung vertreten, das es ein wenig esoterisch wirkt. Im Artikel wird allerdings ebenfalls die Motivation bzw. die Nutzung des Tools beschrieben:

It’s used in order to test some of our monitoring capabilities over ridiculously large code bases, with transactions that go thousands of calls deep, over thousands of classes, and end up with exceptions.

Erzeugt werden ein Projekt mit einer beliebigen Anzahl an Klassen und für eine Klasse sieht der generierte Quelltext exemplarisch wie folgt aus:

package generated.afz.qen.lrlj;

import helpers.Config;
import helpers.Context;
import java.util.*;
import java.util.logging.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;

public class ClsTvxlbccvg
{
    public static final int classId = 325;
    static final Logger logger = LoggerFactory.getLogger(ClsTvxlbccvg.class);

    public static void metWrkbglgpwrbj(Context context) throws Exception
    {
        int methodId = 0;
        Object[] root = new Object[8];
        Map<Object, Object> valUmbeeuzlkcg = new HashMap();
        Object[] mapValTaglolagfcm = new Object[10];
        String valLjtuhkvukba = "StrHwrvspzqwyp";

        mapValTaglolagfcm[0] = valLjtuhkvukba;
    
        for (int i = 1; i < 10; i++)
        {
            mapValTaglolagfcm[i] = Config.get().getRandom().nextInt(1000);
        }

        Set<Object> mapKeyGfqzkkkweud = new HashSet<Object>();
        long valZqatretqosu = 2690648861024756176L;

Der Quelltext des Java Bullshifier ist auf GitHub zu finden. Er ist unter der MIT-Lizenz lizenziert und damit freie Software.

Das Invertika Update im November

Das Jahr neigt sich dem Ende und auch bei Invertika gibt es wieder neues zu vermelden. Wer Invertika nicht kennt, dabei handelt es sich um ein freies 2D-MMORPG welches unter Linux und Windows läuft. In diese Update wurde eine Menge Tilesets erweitert und verbessert. Das wirkte sich auch auf die Maps aus, so wurden die Innenräume von Nelaro größtenteils gemappt und auch das Wegsystem hat ein Update bekommen. An weiteren Sehenswürdigkeiten ist der Turm von Elys zu nennen der fertiggestellt wurde.

Das Mingathöhlensystem kann nun betreten werden und auch Liori sowie die Küste zum Brolerimeer wurden stark überarbeitet. Daneben wurden viele kleinere und größere Fehler behoben wie z.B. in Lauria und Ombrod. Desweiteren wurde einige neue Netheksäulen hinzugefügt.


Auch neue Items sind in diesem Update zu finden. Bei den NPCs wurden doppelte Sprites bereinigt und eine Menge neue NPCs hinzugefügt. Im Wiki hat sich in dieser Beziehung einiges getan, so sollten nun alle NPCs dort zu finden sein. Bei den Skripten wurden viele kleinere und größere Fehler behoben, wie z.B. Korrekturen am MacGuffin Quest.

Bei den Tools gab es auch einige Veränderungen. So wurde der Invertika Editor eingestampft und durch das ivktool ersetzt. Das ivktool ist dabei für die Kommandozeile gedacht, was auch die Nutzung in automatischen Prozessen erlaubt. Im Zuge dieses Umstieges wurden einige Verbesserungen vorgenommen, welche den Betrieb unter Linux stark verbessern. Daneben wurden Fehler beim rendern der Weltkarte und der Minimaps behoben.

Im Projekt selber gab es diesen Monat einige Diskussion bezüglich Qualitätssicherung. Hier wird sich in nächster Zeit sicherlich einiges tun. Bei manaserv haben wir weiter an der Implementation von Angelscript gearbeitet unter anderem am Context Manager. Wer jetzt neugierig geworden ist, der kann uns unter http://invertika.org besuchen. Eine Übersicht über die Welt gibt es dabei bei http://weltkarte.invertika.org/. Auch die Wiki ist sicherlich interessant.