jrxmlcheck — cek & pratinjau report JRXML (JasperReports 6.0.0)
================================================================

Alat ini untuk memeriksa file report JRXML dan membuat PDF contoh
TANPA perlu menulis kode Java. Library JasperReports 6.0.0 (versi
yang sama dengan server InfiniteERP/Openbravo) diunduh otomatis saat
pertama kali dijalankan.

PRASYARAT
---------
- macOS atau Linux
- Java/JDK terpasang (uji coba memakai Java 17).
  Cek dengan: java -version
- Internet (hanya saat pertama jalan, untuk mengunduh library)

CARA PASANG
-----------
1. Ekstrak zip ini, misalnya ke home folder.
2. Beri izin eksekusi (sekali saja):
     chmod +x jrxmlcheck
3. (Opsional) Pindahkan ke folder yang ada di PATH, misal:
     sudo mv jrxmlcheck /usr/local/bin/

CARA PAKAI
----------
  ./jrxmlcheck compile laporan.jrxml
      Memeriksa file JRXML valid dan kompatibel JasperReports 6.0.0.

  ./jrxmlcheck preview laporan.jrxml
      Membuat PDF contoh. Data contoh dibuat OTOMATIS dari deklarasi
      <field> di JRXML — tidak perlu menyiapkan apa pun.
      PDF langsung terbuka setelah jadi (di macOS).

  ./jrxmlcheck audit laporan.jrxml
      Pemeriksaan menyeluruh: encoding file (harus UTF-8 valid),
      font (harus ada di jasperreports-fonts-6.0.0.jar), path absolut
      pada gambar, elemen keluar batas halaman/band, variabel mati,
      field/parameter tidak terpakai, elemen teks yang saling menindih
      (overlap >50% kotak terkecil; kotak latar & stempel-di-atas-ttd
      diabaikan), atribut PDF lawas (pdfFontName/pdfEncoding), dan
      jejak atribut Jaspersoft Studio.
      Opsi: --target ireport (cek kompatibilitas editor iReport 5.6)
            --strict (exit code 1 bila ada peringatan, untuk CI)

  ./jrxmlcheck audit laporan.jrxml --jdbc jdbc:postgresql://HOST:5432/NAMA_DB --dbuser USER
      Validasi query ke database PostgreSQL sungguhan: query dijalankan
      persis seperti produksi (parameter default ikut dievaluasi), lalu
      kolom hasil query dicocokkan dengan deklarasi <field> — termasuk
      saat hasil query 0 baris (kesalahan alias/nama kolom tetap ketahuan).
      Password: --dbpass PASS atau env JRXMLCHECK_DBPASS (disarankan).
      Override parameter query: --param NAMA=nilai (boleh berulang).
      Gambar tidak perlu disiapkan — placeholder dibuat otomatis.

Opsi untuk preview:
  --data <file.txt>    Isi data sendiri, format per baris: namafield=nilai
                       (baris diawali # dianggap komentar)
  --images <folder>    Folder berisi gambar (logo/stempel/tanda tangan)
  --out <file.pdf>     Nama file PDF hasil
  --rows <N>           Jumlah baris data contoh (bawaan: 3)
  --no-open            Jangan buka PDF otomatis

  ./jrxmlcheck help
      Menampilkan bantuan.

ISI PAKET
---------
  jrxmlcheck       script utama (bash)
  JrxmlCheck.java  sumber helper Java (dikompilasi otomatis saat jalan)
  README.txt       berkas ini

Dokumentasi: https://wiki.infinite-erp.co.id/index.php/JRXML_Local_Verification
