Packager

Packager is a, well, packager of NetBeans Platform Applications.

It produces zip files and AppImages with bundled Java Runtime Environments along with the optional checksum files.

Five types of artifacts can be generated, AppImage, Linux zip, Mac zip, Windows zip and any zip, the any zip is without a Java Runtime.

It’s possible to add a custom set of files,resources, to the zip. One has also the option to run a PRE and POST execution script.

You can choose to run Packager within NetBeans IDE or as a stand-alone application.

This is an early preview and feedback is most welcome. At his point, Packager relies on the external commands cp and zip to be in the path.

Packager is open source, using APACHE LICENSE, VERSION 2. The source code is available on github.

Packager was written in order to simplify releases of Mapton.

Documentation

  • Start by setting all the necessary fields in the options dialog
  • Enter a name of the profile, hit enter or click the Add button
  • A profile gets saved when you klick the start button

Screenshots

Packager as a NetBeans plugin

Download

packager.nbm plugin for Apache NetBeans

packager.jar stand-alone application

History

2020-05-01

Initial snapshot release.

Output

The following output describes the steps being done.

Validating settings
Source             : /atlas/data/git/java/mapton/app-nb/application/target
Destination        : /atlas/devel/packager/mapton
PRE execution      : 
POST execution     : 
Resources          : /atlas/devel/packager/mapton/resources
AppImage template  : /atlas/devel/packager/mapton/Mapton.AppDir
                   : 
JRE                : 
 Linux             : /atlas/devel/packager/mapton/jre/linux/jre
 Mac               : /atlas/devel/packager/mapton/jre/mac
 Windows           : /atlas/devel/packager/mapton/jre/windows
                   : 
Target             : 
 AppImage          : yes
 Linux             : yes
 Mac               : yes
 Windows           : yes
 Any               : yes
                   : 
Checksum           : 
 sha256            : yes
 sha512            : yes

create temp dir: /tmp/packager2277406817633281090
unzip: /atlas/data/git/java/mapton/app-nb/application/target/mapton-2.0.2-SNAPSHOT.zip

create package: any
copy zip contents to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/any
execute: cp -ra /tmp/packager2277406817633281090/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/any
copy resources to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/any/mapton
execute: cp -ra /atlas/devel/packager/mapton/resources/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/any/mapton
creating zip: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-any.zip
execute: zip -qr /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-any.zip mapton
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-any.zip.sha256
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-any.zip.sha512

create package: linux
copy zip contents to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux
execute: cp -ra /tmp/packager2277406817633281090/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux
copy resources to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton
execute: cp -ra /atlas/devel/packager/mapton/resources/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton
set jdkhome in /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton/etc/mapton.conf
copy jre to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton/jre
execute: cp -ra /atlas/devel/packager/mapton/jre/linux/jre /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton/jre
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton/bin/mapton.exe
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/linux/mapton/bin/mapton64.exe
creating zip: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-linux.zip
execute: zip -qr /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-linux.zip mapton
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-linux.zip.sha256
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-linux.zip.sha512

create package: mac
copy zip contents to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac
execute: cp -ra /tmp/packager2277406817633281090/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac
copy resources to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton
execute: cp -ra /atlas/devel/packager/mapton/resources/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton
set jdkhome in /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton/etc/mapton.conf
copy jre to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton/mac
execute: cp -ra /atlas/devel/packager/mapton/jre/mac /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton/mac
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton/bin/mapton.exe
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mac/mapton/bin/mapton64.exe
creating zip: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-mac.zip
execute: zip -qr /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-mac.zip mapton
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-mac.zip.sha256
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-mac.zip.sha512

create package: windows
copy zip contents to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows
execute: cp -ra /tmp/packager2277406817633281090/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows
copy resources to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows/mapton
execute: cp -ra /atlas/devel/packager/mapton/resources/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows/mapton
set jdkhome in /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows/mapton/etc/mapton.conf
copy jre to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows/mapton/windows
execute: cp -ra /atlas/devel/packager/mapton/jre/windows /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows/mapton/windows
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/windows/mapton/bin/mapton
creating zip: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-windows.zip
execute: zip -qr /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-windows.zip mapton
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-windows.zip.sha256
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/mapton-2.0.2-SNAPSHOT-windows.zip.sha512

create package: AppImage
copy template to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT
execute: cp -ra /atlas/devel/packager/mapton/Mapton.AppDir /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir
copy zip contents to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr
execute: cp -ra /tmp/packager2277406817633281090/mapton/. /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr/bin/mapton.exe
remove: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr/bin/mapton64.exe
set jdkhome in /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr/etc/mapton.conf
copy jre to: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr/jre
execute: cp -ra /atlas/devel/packager/mapton/jre/linux/jre /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/usr/jre
execute: /atlas/devel/packager/appimagetool-x86_64.AppImage -nv /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppImage
Parallel mksquashfs: Using 8 processors
Creating 4.0 filesystem on /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppImage, block size 131072.

[=============================================================-] 2450/2450 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
	compressed data, compressed metadata, compressed fragments, compressed xattrs
	duplicates are removed
Filesystem size 141106.82 Kbytes (137.80 Mbytes)
	56.24% of uncompressed filesystem size (250888.59 Kbytes)
Inode table size 13655 bytes (13.33 Kbytes)
	35.83% of uncompressed inode table size (38112 bytes)
Directory table size 9459 bytes (9.24 Kbytes)
	34.57% of uncompressed directory table size (27358 bytes)
Number of duplicate files found 15
Number of inodes 881
Number of files 627
Number of fragments 85
Number of symbolic links  101
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 153
Number of ids (unique uids + gids) 1
Number of uids 1
	root (0)
Number of gids 1
	root (0)
Desktop file: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir/mapton.desktop
/atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppDir should be packaged as /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppImage
Size of the embedded runtime: 188392 bytes
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppImage.sha256
create checksum: /atlas/devel/packager/mapton/mapton-2.0.2-SNAPSHOT/Mapton.AppImage.sha512

Operation completed