Oluşturma talimatları
Bu belge Universal Media Server’ın kaynak dosyalardan nasıl oluşturulacağını açıklar.
Önemli not: Önceden oluşturulmuş Universal Media Server yayımları şu adresten indirilebilir: http://www.universalmediaserver.com/ dolayısıyla bu adımları genel bir kullanıcı olarak uygulamanıza gerek YOKTUR.
Aşağıdaki yazılım paketleri gerekir:
- Java JDK 17 (JRE yeterli değildir)
- Git
- Maven
- MediaInfo
Gerekli tüm yazılımların nasıl yükleneceğini ve her işletim sistemi için UMS’nin nasıl oluşturulacağına ilişkin tam bir açıklama için Tam talimatlar bölümünü okuyun.
Kısa talimatlar
Eğer gerekli tüm yazılım paketleri yüklüyse aşağıdaki komutlar en son kaynakları indirecek ve UMS’yi oluşturacaktır:
git clone https://github.com/UniversalMediaServer/UniversalMediaServer.git
cd universalmediaserver
mvn package -P PACKAGENAME
Burada PACKAGENAME hedef işletim sisteminin adıdır: windows, macos, macos-arm, macos-pre1015 veya linux-*, burada * mimaridir; şunlardan biri: x86, x86_64, arm64, armel veya armhf
Sonuç "hedef" dizinde oluşturulacaktır:
- Windows:
UMS-setup.exe - Linux:
UMS-linux-generic-x.xx.x.tar.gz - macOS:
UMS-setup-macosx-x.xx.x.tar.gz
Tam talimatlar
Öncelikle gerekli tüm yazılımların yüklenmesi gerekir:
1. Java JDK 17’yi indirin ve yükleyin
https://bell-sw.com/pages/downloads/#/java-17-lts adresine bakın
2. Git’i indirin ve yükleyin
https://git-scm.com/ adresine bakın
3. Maven’i indirin ve çıkarın
http://maven.apache.org/ adresine bakın
4. Ortam değişkenlerini ayarlayın
Windows
Yeni değişkenler oluşturun veya değişken zaten mevcutsa değeri ekleyin:
- Seviye: Sistem, değişken:
JAVA_HOME, değer: JDK kurulum konumu - Seviye: Kullanıcı, değişken
M2_HOME, değer: Maven çıkarma konumu - Seviye: Kullanıcı, değişken
M2, değer:%M2_HOME%\bin - Seviye: Kullanıcı, değişken
PATH, değer%M2%
Linux
Yapacak bir şey yok.
macOS
Yapacak bir şey yok.
5. UMS kaynak kodunu indirin
git clone https://github.com/UniversalMediaServer/UniversalMediaServer.git
cd universalmediaserver
6. En son kaynağa güncelleyin (isteğe bağlı)
git pull
7. UMS’nin en son sürümünü derleyin
mvn package -P PACKAGENAME
Burada PACKAGENAME hedef işletim sisteminin adıdır: windows, macos, macos-arm, macos-pre1015 veya linux-*, burada * mimaridir; şunlardan biri: x86, x86_64, arm64, armel veya armhf
İkili dosyaları indirmeyi atlamak istiyorsanız isteğe bağlı bir işaret te belirtebilirsiniz; bu, özellikle Windows ve Linux’ta derleme süresini hızlandırmak için yararlı olabilir:
mvn package -P PACKAGENAME -Doffline=true
Ortaya çıkan ikili dosyalar "hedef" dizinde oluşturulacaktır:
- Windows:
UMS-setup.exe - Linux:
UMS-linux-generic-x.xx.x.tar.gz - macOS:
ums-x.xx.x-SNAPSHOT-distribution/Universal Media Server.app
Otomatik yapılar
Bu son iki komut bir komut kodu kullanılarak kolayca otomatikleştirilebilir, örn.:
Windows
rem build-UMS.bat
start /D universalmediaserver /wait /b git pull
start /D universalmediaserver /wait /b mvn package
Linux, macOS &c.
#!/bin/sh
# build-UMS.sh
cd universalmediaserver
git pull
mvn package
Paketleme ve çapraz derleme
Bu bölümde başka bir sistem üzerindeyken bir sistem için derleme ve paketlemenin nasıl mümkün olduğu açıklanmaktadır.
Windows ikili dosyalarını oluşturma
Windows yükleyicileri (UMS-setup.exe) ve Windows çalıştırılabilir dosyası (UMS.exe), Windows dışındaki platformlarda oluşturulabilir.
Öncelikle, makensis ikili dosyasının yüklü olması gerekir. Debian/Ubuntu üzerinde, bu şununla yapılabilir:
sudo apt-get install nsis
Ardından NSISDIR ortamının nsis dizinine giden tam yola ayarlanması gerekir. Bu, komut başına ya şöyle ayarlanabilir:
NSISDIR=$PWD/src/main/external-resources/third-party/nsis mvn ...
Ya da:
- Şu anki kabukta geçici olarak:
export NSISDIR=$PWD/src/main/external-resources/third-party/nsismvn ...
- Veya kalıcı olarak:
# bu iki komutun yalnızca bir kez çalıştırılması gerekirecho "export NSISDIR=$PWD/src/main/external-resources/third-party/nsis" >> ~/.bashrcsource ~/.bashrcmvn...
Kısaltmak adına, aşağıdaki örneklerde bunun zaten ayarlandığı varsayılmaktadır.
Windows yükleyicisi artık aşağıdaki komutlardan biriyle oluşturulabilir:
Linux ve macOS’ta
mvn package -P system-makensis,windows
Linux tarball oluşturma
Windows ve macOS’ta
mvn package -P linux-*
burada * şunlardan biridir: x86, x86_64, arm64, armel veya armhf
macOS disk kalıbı oluşturma
Windows ve Linux’ta
mvn package -P macos
hdiutil create -volname "Universal Media Server" -srcfolder target/ums-*-distribution UMS.dmg
macOS sihirbaz yükleyicisini oluşturma
- UMS’yi oluşturun
- http://s.sudre.free.fr/Software/Packages/about.html yükleyin
- Yapım dağıtım dosyasının dizin yolunu saklayan bir değişken ayarlayın, örn.
export UMS_DIST_FOLDER="/Users/dev/ums/target/ums-7.3.1-SNAPSHOT-distribution/Universal Media Server.app"
export UMS_LOGO_FILE="/Users/dev/ums/src/main/external-resources/third-party/nsis/Contrib/Graphics/Wizard/win.png"
- .pkgproj dosyasındaki istenen yolu değiştirin
sed -i '' "s#UMS_DIST_FOLDER#$UMS_DIST_FOLDER#g" src/main/assembly/osx-installer.pkgproj
sed -i '' "s#UMS_LOGO_FILE#$UMS_LOGO_FILE#g" src/main/assembly/osx-installer.pkgproj
- .pkg yükleyicisi oluşturun. Bu,
/target/Universal Media Server.pkgdosyasını çıktı verecektir.
/usr/local/bin/packagesbuild src/main/assembly/osx-installer.pkgproj
Hızlı yapımlar
Hızlı yineleme için geliştirme sırasında önerilen hızlı yapım komut kodlarımız var. Komut kodları Java kodunu derleyecek, varsayılan kurulum dizinine koyacak ve programı çalıştıracak, bu da varolan herhangi bir UMS örneğini kapatacaktır.
64-bit Windows ve macOS için çalışmalıdır. İstenirse başkaları için de kolaylıkla genişletilebilir.
mvn verify -P quickrun-* -DskipTests
* burada macos veya windows’tur