Ankündigung

Einklappen
Keine Ankündigung bisher.

Fragen zur Entwicklung unter Windows

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Fragen zur Entwicklung unter Windows

    Hallo,

    hat jemand eine Anleitung für mich, was man braucht, um z.B. Widgets für die CV unter Windows zu entwickeln? Ich habe versucht mich durchzuhangeln, scheitere aber spätestens beim Build.

    Ich habe folgendes installiert:
    - GIT-GUI (Sourcetree)
    - GIT Commandline
    - Nodejs
    - Grunt
    - Python 2.7

    Repository von 0.11.2 ist ausgecheckt.
    Wenn ich nun in das CV-Verzeichnis wechsele (in der Kommandozeile) und "generate.py source" eingebe, bekomme ich (nach einigen erfolgreichen Schritten) folgende Fehlermeldung:

    Code:
    ----------------------------------------------------------------------------
    Executing: build::update-version
    ----------------------------------------------------------------------------
    - Populating the cache, this may take some time
    >>> Executing shell command "utils/update_version.py"...
    Der Befehl "." ist entweder falsch geschrieben oder
    konnte nicht gefunden werden.
    <type 'exceptions.RuntimeError'> :
    Shell command returned error code: 1
    Einzig ein pure "generate.py", das ja ein "source-hybrid" baut, läuft fehlerfrei durch. Allerdings läuft die CV (wenn ich den Inhalt des source-Ordners kopiere) nicht. Bekomme im Firefox nur eine weiße Seite. Gedebugged habe ich an der Stelle allerdings noch nicht.

    Hat jemand eine Idee, woran es hakt? Ich würde gerne das TR-064 Plugin erweitern. Da gibt es ja noch ein paar Dinge, die möglich sind.

    Danke Dir und schöne Grüße,
    Jens

    #2
    Das liest sich so als ob eine der Shell-Kommandos in dem Script nicht ausgeführt werden kann. Kannst Du in der Kommandozeile den diese Befehle ausführen, oder brechen die da auch mit einem Fehler ab?

    Code:
    # gibt die aktuelle commit ID aus
    git rev-parse HEAD
    
    # gibt den aktuellen Branch aus
    git rev-parse --abbrev-ref HEAD
    Wenn das alles nicht hilft, musst Du das was das "update_version.py" script mach eben selbst machen. Lege die Datei "source/class/cv/Version.js" an un kopieren folgenden Inhalt rein:

    Code:
    qx.Class.define("cv.Version", {
      type: "static",
      statics: {
        REV: "020d5153947025de7526177ab45d1d0da571def3",
        BRANCH: "develop",
        VERSION: "0.12.0-dev",
        DATE: "2020-02-17T20:49:08.912379" }
    });
    Dann musst Du noch verhindern, dass das Script beim bauen ausgeführt wird. Dazu diese Zeile löschen https://github.com/CometVisu/CometVi...nfig.json#L304 (und darauf achten, dass diese Änderung später nicht committed wird). Und dann nochmal probieren mit generate.py source.

    Und ich weiß nicht genau warum und wohin Du den Inhalt des source Verzeichnisses kopierst, aber das wird nie funktionieren. Die Source-Version braucht deutlich mehr als nur das Source-Verzeichnis um zu funktionieren. Am besten den Webserver einfach das Verzeichnis in dem das lokale Git-Repository liegt servieren lassen und dann im Server mit dem Pfad "source/index.html" aufrufen.
    Gruß
    Tobias

    Kommentar


      #3
      Danke, damit bin ich weiter gekommen.

      Die GIT-Aufrufe funktionieren problemlos. Ich habe Zeile 338 in der config.json geändert in
      Code:
      "command" : "python utils/update_version.py"
      - damit lief das Script dann durch.

      Und nach dem Kopieren des gesamten Verzeichnisses, wie Du es beschrieben hast, funktioniert auch die CV im Webserver. Jetzt kann ich anfangen zu Debuggen :-) Da hatte ich einfach aus der sehr ähnlichen Struktur des source Verzeichnisses verglichen mit dem Release falsche Rückschlüsse gezogen.

      Kann ich denn für mich selbst lokal eine richtige Release-Version bauen? Durch generate.py build? Oder macht ihr für ein Release dann noch Dinge, die hier nicht enthalten/dokumentiert sind?

      Kommentar


        #4
        Also ein "generate.py build" erzeugt das, was später im Build landet. Das tatsächliche Release wird per Grunt gebaut und macht noch ein paar Dinge drum herum, die aber nicht weiter wichtig sind, sofern man nicht tatsächlich ein Release bauen möchte (also die ZIP-Datei mit allem drin). Der Build kann dann auch tatsächlich irgendwohin kopiert werden, denn im "build"-Ordner ist dann alles drin was die CometVisu braucht.
        Aber zum debuggen ist ein Build nicht geeignet, da wird der Code ja "minified" und alles in eine JS-Datei (bzw. in einige wenige) gepackt. Da kann man dann vom Source-Code nichts mehr erkennen. Zum debuggen gibts den Source-Build, da werden die Source unverändert im Browser geladen.

        Zum Update-Version-Problem: Ja das offensichtliche hab ich glatt übersehen => Windows kann mit der Shebang-Zeile nichts anfangen. Du kannst gerne einen PR mit dem Fix erstellen. Von diesen Dingern gibt es vermutlich noch mehrere, weil bisher niemand Windows zum Entwickeln benutzt hat.
        Gruß
        Tobias

        Kommentar


          #5
          Prima, damit konnte ich zumindest schonmal in des TR-064-Plugin reinschnuppern und zwei Kleinigkeiten im Widget beheben. Ich hoffe, dass ich da vielleicht noch eine Art Status-Widget für die Fritzbox bauen kann, das ein paar Infos ausgibt.

          Aktuell arbeitet ihr an Version 0.12.0 - so dass ich einen PR auch dorthin schicken sollte?

          Meine eigentliche Intention war aber, das Gäste-WLAN ein- und ausschalten zu können. Aber das gehört dann wohl doch eher in ein Wiregate-Plugin.

          Kommentar


            #6
            PRs bitte immer gegen den develop-Branch machen, da ist die aktuelle Entwicklerversion drin (was momentan 0.12.0-dev ist)
            Gruß
            Tobias

            Kommentar

            Lädt...
            X