Zalogowany jako: gość

Forum

Wątek: Jak uruchomić Eltena z kodu, krok po kroku

Wróć do listy wątków

1 z 4

Następna

1 z 63: pajper

Drodzy Eltenowicze!
W tym poradniku chciałbym wyjaśnić, jak krok po kroku uruchomić Eltena z kodu źródłowego.
Gorąco zachęcam do podjęcia takiej próby - programistów, by poprosić o pomoc, ale i innych bardziej technicznych użytkowników - od tak, żeby spróbować. A może odkryjecie, że jednak macie do tego smykałkę? Albo po prostu z ciekawości zobaczycie, jak to wygląda?
Starałem się napisać wszystko jak najprostszym językiem, dlatego, proszę, nie przeraźcie się wielkością wpisu. Wynika ona z faktu, że starałem się wyjaśnić każdy jeden krok.
Mam taką wielką prośbę, by osoby, którym uda się uruchomić Eltena z kodu, pochwaliły się w tym wątku. Zobaczymy, czy dobrze wszystko wyjaśniłem.
Raz jeszcze z góry bardzo dziękuję i proszę!

Spis treści
1. Instalacja Rubiego.
2. Instalacja Visual Studio.
3. Instalacja gita.
4. Inicjowanie repozytorium Eltena.
5. Budowanie i uruchamianie kodu.
6. Modyfikacja kodu.
7. Aktualizowanie kodu.
8. Słowo na koniec.

1. Instalacja Rubiego.
Instalacja Rubiego jest procesem prawie typowym, trzeba zwrócić uwagę tylko na sprawdzenie konfiguracji oraz numer wersji. Na moment pisania tego artykułu Elten wykorzystuje Rubiego w wersji 2.7 i żadna starsza ani nowsza wersja z nim nie zadziała, nie liczy się do tego numer po 2.7, czyli 2.7.0, 2.7.1, 2.7.2 i kolejne będą wersjami wspieranymi, ale 2.6.3 czy 2.8.0 już na przykład nie.
Elten jest aplikacją 32-bitową, będzie więc wymagany Ruby 32-bitowy.
Należy więc wejść na stronę instalatora Rubiego dla Windows
https://rubyinstaller.org/downloads/
i wybrać najnowszą wersję z gałęzi 2.7 w wersji 32-bitowej, to ważne, zawierającą devkit, czyli pod nagłówkiem "With devkit". Na moment pisania tego artykułu jest to wersja Ruby+Devkit 2.7.2-1 (x86).
Podczas instalacji, po zaakceptowaniu licencji, należy zaznaczyć następujące opcje: "Add Ruby executables to your PATH", "Use UTF-8 as default external encoding.". Opcja "Associate .rb and .rbw files with this Ruby installation" nie jest wymagana, ale osobiście zalecam również jej zaznaczenie.
W następnym oknie należy zaznaczyć następujące komponenty: "Ruby {numer wersji} base files", oraz "MSYS2 development toolchain {numer wersji}". Trzecia opcja to dokumentacja, której instalacja jest opcjonalna, choć jeśli chcecie poznać Rubiego, na pewno nie zaszkodzi.
Po zakończonej instalacji należy zaznaczyć pole wyboru "Run 'ridk install' to set up MSYS2 and development toolchain." i wybrać "Finish".
Pojawi się okno konsoli, które wyrzuci masę tekstu, na dole zaś znajdzie się informacja "Which components shall be installed? If unsure press ENTER [1,3]". Na wypadek Eltena nie trzeba tu niczego zmieniać, wciskamy więc po prostu klawisz enter. W tym momencie rozpocznie się przygotowywanie deweloperskiej platformy Rubiego, nie będzie tu konieczna żadna nasza interakcja. Po zakończeniu procesu na dole pojawi się znów "Which components shall be installed? If unsure press ENTER []". Ponownie wciskamy enter, na co okno zniknie.
Ruby został zainstalowany.
Możemy zweryfikować instalację, otwierając konsolę, np. poprzez wciśnięcie kombinacji WINDOWS+R, wprowadzenie polecenia "cmd" i wciśnięcie klawisza enter. W konsoli wpisujemy "ruby -v", na co powinniśmy dostać wyjście podobne do tego:
"ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [i386-mingw32]".
Ruby jest zainstalowany i działa, możemy przystąpić do instalacji Visual Studio.

2. Instalacja Visual Studio.
Visual Studio można pobrać tutaj
https://visualstudio.microsoft.com/pl/downloads/
Na potrzeby Eltena wersja podstawowa wystarcza ze sporą nawiązką, wybieramy więc link "Pobierz bezpłatnie program Visual Studio Community 2019" pod nagłówkiem "Społeczność" (ahh te tłumaczenia maszynowe) i uruchamiamy pobrany plik.
Po zainicjowaniu instalacji, które chwile potrwa, dostaniemy ogromną listę pakietów, które możemy dodać. Zależnie od tego, co chcemy robić, warto zaznaczyć różne pakiety, ja tu wypiszę tylko te niezbędne do rozwijania Eltena.
W zakładce "Pakiety robocze", w sekcji "Komputery i urządzenia przenośne" należy zaznaczyć opcję "Programowanie aplikacji klasycznych w języku C++".
Następnie trzeba tabulatorem przejść do sekcji "Szczegóły instalacji", gdzie znajdziemy pozycję, którą NVDA odczyta jako "Programowanie aplikacji klasycznych w języku C++, zwinięte". Rozwijamy ją strzałką w prawo i zaznaczamy w niej: "MSVC wersja 142 - - VS 2019 - narzędzia kompilacji środowiska C++ wersja {najnowsza dostępna, obecnie 14.27} dla architektury x64-x86", "Windows 10 SDK 10.0.18362.0", "Narzędzia CMake języka C++ dla systemu Windows", "C++ ATL dla najnowszych narzędzi kompilacji w wersji 142 x86 i x64" oraz "Narzędzia C++ Clang dla systemu Windows 10 0.0 x64-x86".
Jeśli nie zamierzacie budować niczego innego, radzę usunąć inne pakiety (pakiety, nie poszczególne składniki).
Instalacja Visual Studio na pewno nieco potrwa, zwłaszcza jeśli macie wolniejszy Internet.

3. Instalacja gita.
Git dla systemu Windows można pobrać tutaj.
https://git-scm.com/download/win
Wybieramy link "Click here to download manually", powinna automatycznie pobrać się właściwa wersja dla naszego komputera, prawdopodobnie będzie to wersja 64-bitowa. Podczas instalacji zostaniemy poproszeni o wybranie kilku parametrów, poniżej moje propozycje i krótka notka wyjaśniająca:
A. Which editor would you like Git to use?
Use the Nano editor by default
Domyślnie proponowany Vim to wspaniały edytor, ale wcale, a wcale nie jest prosty i o samej jego obsłudze (zupełnie innej od tej do której Windows nas przyzwyczaja) mógłbym napisać 10 razy dłuższy poradnik od niniejszego.
B. What would you like Git to name the initial branch after "git init"?
Let Git decide
To tak nieznaczne ustawienie, nazwa gałęzi, że właściwie nie wiem, poco pozwalać na jego wybór podczas instalacji.
C. How would you like to use Git from the command line?
Git from the command line and also from 3rd-party software
Jeśli nie chcecie integrować całego basha, a coś czuję, że nie chcecie, to to jest najlepsza opcja.
Opcja trzecia, "Use git from git bash only" jest przeze mnie bardzo niezalecana, wszystko strasznie komplikuje.
D. Which SSL/TLS library would you like Git to use for HTTPS connections?
Use the OpenSSL library
OpenSSL jest dużo lepsza od natywnego Windowsowego SSL.
E. How should Git treat line endings in text files?
Checkout Windows-style, commit Unix-style line endings
Jeśli używacie Notepada ++ lub VS Code, bez problemu możecie tu wybrać "Checkout as-is, commit Unix-style line endings", ale jako, że to poradnik dla również początkujących programistów, zalecana opcja pozwoli edytować pliki z poziomu zwykłego, Windowsowego notatnika.
F. Which terminal emulator do you want to use with your Git Bash?
Use Windows' default console window
Bardzo ważne ustawienie!
Git domyślnie proponuje MinTTY, który ma problemy dostępnościowe z NVDA.
G. What should `git pull` do by default?
Default (fast-forward or merge)
Jeśli nie wiecie co to, możecie zostawić domyślnie, a jeśli wiecie, i tak znacie swoje preferencje.
To zasada łączenia gałęzi przy aktualizacji repozytorium.
H. Which credential helper should be configured?
Git Credential Manager Core
Ale wersja bez Core też jest ok, zasadniczo ja sam używam Core od bardzo niedawna i nie zauważyłem żadnych znaczących różnic.
I. Which features would you like to enable?
Obydwie, czyli "Enable file system caching" oraz "Enable symbolic links".
J. Which bleeding-edge features would you like to enable?
Odznaczamy opcję "Enable experimental support for pseudo consoles.", miewa problemy z działaniem z NVDA.
Po zakończeniu instalacji możemy sprawdzić, czy wszystko działa, uruchamiając konsolę w podany w pierwszej sekcji sposób i wpisując "git --version". Przykładowe wyjście - "git version 2.29.1.windows.1".
Ufff, wszystko gotowe, możemy przystąpić do działania.

4. Inicjowanie repozytorium Eltena.
Uruchamiamy konsolę. Ja zalecam w tym celu wcisnąć kombinację WINDOWS+R i w otwarte okno wpisać "cmd", potwierdzić enterem.
W konsoli nawigujemy do folderu, w którym chcemy umieścić kod Eltena, przykładowo, jeśli chcemy umieścić go w dokumentach możemy wpisać po prostu
cd %userprofile%\documents
a jeśli na dysku C w folderze kody
cd c:\kody
Następnie wpisujemy następujące polecenie, które spowoduje pobranie kodu Eltena na dysk
git clone https://github.com/dawidpieper/elten2.git
Po zakończeniu operacji wchodzimy do pobranego repozytorium
cd elten2
i inicjujemy moduły podrzędne, czyli używane przez Eltena biblioteki
git submodule update --init
Ten proces chwilę potrwa. Po jego zakończeniu pozostaje nam jeszcze tylko wygenerować klucz naszej aplikacji, służy on do identyfikowania wersji na serwerze. W tym celu wystarczy wpisać komendę "rake key".
Jeśli wszystko się udało, usłyszymy "New app key generated.".

5. Budowanie i uruchamianie kodu.
Aby zbudować kod Eltena, wystarczy wprowadzić polecenie "rake". Za pierwszym razem zostanie pobrana masa różnych pakietów dla Rubiego. Powinno to wyglądać jakoś tak
"
Signature generated.
Using Visual Studio Community 2019
Library compiled.
RGSS data saved.
http-2 not found, trying to install
Fetching http-2-0.10.2.gem
Successfully installed http-2-0.10.2
Parsing documentation for http-2-0.10.2
Installing ri documentation for http-2-0.10.2
Done installing documentation for http-2 after 1 seconds
1 gem installed
Agent data saved.
Gettext not found, trying to install
Fetching locale-2.1.3.gem
Fetching gettext-3.3.6.gem
Fetching text-1.3.1.gem
Successfully installed locale-2.1.3
Successfully installed text-1.3.1
Successfully installed gettext-3.3.6
Parsing documentation for locale-2.1.3
Installing ri documentation for locale-2.1.3
Parsing documentation for text-1.3.1
Installing ri documentation for text-1.3.1
Parsing documentation for gettext-3.3.6
Installing ri documentation for gettext-3.3.6
Done installing documentation for locale, text, gettext after 2 seconds
3 gems installed
Locale files compiled.
rubyzip not found, trying to install
Fetching rubyzip-2.3.0.gem
Successfully installed rubyzip-2.3.0
Parsing documentation for rubyzip-2.3.0
Installing ri documentation for rubyzip-2.3.0
Done installing documentation for rubyzip after 1 seconds
1 gem installed
NVDA addon packed.
Elten build completed.
"
Po zakończonej budowie Eltena, możemy wreszcie po tych wszystkich kombinacjach spróbować uruchomić go ze źródeł. W tym celu wpisujemy "rake run".

6. Modyfikacja kodu.
Jeśli zdecydujemy się na zmianę czegoś w kodzie, być może nie trzeba niczego robić i wystarczy wpisać samo "rake run", aby uruchomić zmienioną wersję. Dotyczy to zmiany dowolnych plików w folderze "src".
Jeśli jednak zmienialiśmy kod agenta w folderze "agent" lub, tym bardziej, pliki tłumaczeniowe lub kod w C++, będziemy zmuszeni wydać polecenie "rake buildall".

7. Aktualizowanie kodu.
Kiedy ukaże się nowa wersja Eltena, nie trzeba na szczęście powtarzać tych kroków, by uzyskać jej kod. Wystarczy w konsoli, przebywając w folderze z kodem, wydać trzy polecenia, to jest "git pull", "git submodule update --remote" oraz "rake buildall".
Spowodują one automatyczne zaktualizowanie kodu z serwera, pobranie nowych wersji bibliotek oraz rekompilację komponentów. Tylko tyle.

8. Słowo na koniec.
W tym poradniku omówiłem sposób, w jaki należy pobrać i uruchomić kod Eltena. Zdaję sobie sprawę z faktu, że wygląda to wszystko na skomplikowany proces, jednak jestem przekonany, że po zapoznaniu się wnikliwie z treścią, wszystko się wyjaśni.
Bardzo dziękuję wszystkim, którzy dobrnęli aż tutaj!
W razie problemów czy pytań, zapraszam do pisania w tym wątku!

Z uszanowaniem,
Dawid Pieper
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
28.10.2020 21:55

2 z 63: tomecki

Niniejszym ogłaszam, że ten post piszę używając Eltena uruchomionego wg instrukcji Dawida z poprzedniego posta.

29.10.2020 03:29

3 z 63: tomecki

Swoją drogą ten Elten ze źródeł zaczytał sobie wszystkie ustawienia, nie musiałem się logować ani nic. Wziąłem, uruchomiłem i Elten uruchomił się zupełnie tak, jakbym uruchomił go ze skrótu na pulpicie.

29.10.2020 03:30

4 z 63: pajper

Bardzo mnie to cieszy! W ogóle wielka szkoda, że nie wpadłem na ten pomysł wcześniej, bo gdyby tak rozprowadzać wersje beta, oczywiście z dokładną instrukcją, zaoszczędziłbym sobie maasę czasu.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
29.10.2020 09:14

5 z 63: EugeniuszPompiusz

wieczorkiem będzie próbowane, muszę zobaczyć jak mam aktualnie zainstalowane VS, bo potrzebowałem do innych bet innego softu.
więc równolegle udarmowione przez rosjan 2013 i community 2019 plus zależności eltena.
jak coś będzie nie tak będę marudził.
jak pójdzie to się pochwalę.


Sygnaturka.: "That seems to point up a significant difference between Europeans and Americans. A European says: 'I can't understand this, what's wrong with me?' An American says: 'I can't understand this, what's wrong with him?'" TERRY PRATCHETT
29.10.2020 11:06

6 z 63: zvonimirek222

Ja w najbliższym czasie spróbuję za pomocą twojej instrukcji skompilować kod.
Ciekawie, czy w taki sposób będzie można budować instalkę?
-- (EugeniuszPompiusz):
wieczorkiem będzie próbowane, muszę zobaczyć jak mam aktualnie zainstalowane VS, bo potrzebowałem do innych bet innego softu.
więc równolegle udarmowione przez rosjan 2013 i community 2019 plus zależności eltena.
jak coś będzie nie tak będę marudził.
jak pójdzie to się pochwalę.



--
Student studentowi wszystko
29.10.2020 12:22

7 z 63: pajper

Jeszcze nie, ale na pewno to umożliwię. Instalkę i portable. Przy okazji będzie można pomyśleć o automatyzacji budowy kodu co wersję, ale to już raczej nie 2.4.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
29.10.2020 12:36

8 z 63: pajper

Dodałem dyrektywę do budowy instalatora. W pierwszej kolejności należy zaktualizować repozytorium, jak to opisałem w poradniku.
git pull
git submodule update --remote
rake buildall
Instalator można zbudować poleceniem
rake setup
Wymagana jest oczywiście zainstalowana w systemie kopia InnoSetup 6.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
29.10.2020 15:41

9 z 63: pajper

Czy ktoś prócz tomeckiego próbował z tym zawalczyć?
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
31.10.2020 12:05

10 z 63: DJGraco

Hmm. U mnie aktualnie brak motywacji, ale może nie długo sprubuję.

31.10.2020 13:39

11 z 63: stefan

Ja próbowałem. Wszystko się zainstalowało, najwięcej roboty z Visualem i sporo miejsca zjada, prawie 10 GB.
Ale u mnie na Win 7 coś poszło nie tak, a prezentuję to poniżej.

C:\Git\elten2>rake
Signature generated.
Using Visual Studio Community 2019
C:\Git\elten2\lib\dllsapi.cpp(10,10): fatal error C1083: Nie mo?na otworzy? plik
u do??cz: 'atlbase.h': No such file or directory [C:\Git\elten2\lib\eltenvc\elte
nvc.vcxproj]
RGSS data saved.
rake aborted!
Errno::ENOENT: No such file or directory @ rb_sysopen - out/lib/eltenvc.dll
C:/Git/elten2/rakefile:453:in `block in <top (required)>'
C:/Git/elten2/rakefile:484:in `block in <top (required)>'
Tasks: TOP => build
(See full trace by running task with --trace)

Powtórzyłem procedurę od klonowania (po usunięciu poprzedniej kopi), ale nadal to wyskakuję przy komendzie rake.

31.10.2020 16:17

12 z 63: pajper

Mój błąd. Podczas instalacji Visual Studio na karcie komponentów C++ należy także zaznaczyć opcję
C++ ATL dla najnowszych narzędzi kompilacji w wersji 142 x86 i x64
Zaraz zaktualizuję poradnik. Proszę o informację, czy pomogło.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
31.10.2020 16:24

13 z 63: stefan

Doinstalowałem i już właśnie piszę, ze źródeł :-)

31.10.2020 19:37

14 z 63: daszekmdn

Nie mam niestety miejsca na VS ale gdy kiedyś przyjdzie lepszy pecet, to i to się ogarnie.

03.11.2020 15:24

15 z 63: zywek

Nie mam niestety Windowsa, ale z pewnością bym sobie z tym poradził.

03.11.2020 19:13

16 z 63: mikolajholysz

ja się zdecydowanie zajmę sprawą w weekend i napiszę, czy się udało
w związku z przesiadką na Maca, prawie mnie tutaj nie ma. Inne sposoby kontaktu w wizytówce.
05.11.2020 22:57

17 z 63: mikolajholysz

no i działa, właśnie piszę z tej wersji
w związku z przesiadką na Maca, prawie mnie tutaj nie ma. Inne sposoby kontaktu w wizytówce.
07.11.2020 18:59

18 z 63: zywek

Nie mam jakiegoś cl.exe w ogóle co tam robi jakiś pacman w tym aktualizatorze ruby'ego?

02.12.2020 22:47

19 z 63: zywek

Dobra, uruchomiłem to, natomiast na gicie jest beta 97 z tego co p commitach widzę.

03.12.2020 15:43

20 z 63: stefan

Mam teraz taki problem po aktualizacji.
Powtórzyłem procedurę ponownie od klonowania i to samo.
ELTEN

Failed to load Elten library.
Please try to reinstal the software.
If the problem occurs, please contact us at
support@elten-net.eu

OK
Zainstalowałem skompilowaną betę 129 i działa, a ze źródeł coś nie trybi.

24.12.2020 11:40

Wróć do listy wątków

1 z 4

Następna

Nawigacja


Copyright (©) 2014-2024, Dawid Pieper