Skip to content

Convert plist from different format: xml, json, binary, openStep

License

Notifications You must be signed in to change notification settings

phimage/plistconvert

Repository files navigation

plistconvert

License Platform Language build Sponsor

Convert plist or Xcode project (xxx.xcodeproj/project.pbxproj) from and to json, xml, binary or openStep formats

Usage

Convert in place

plistconvert --convert json /path/to/my.plist
plistconvert --convert json /path/to/xcode.xcodeproj

Convert to a new file

plistconvert --convert json --output /path/to/my.json /path/to/my.plist

you could ouput result to standards output using same option

plistconvert --convert json --output /dev/stdout # or --output -

Install

Just download from release if any, or build it (and move it to PATH)

or alternatively execute install script

sudo curl -sL https://phimage.github.io/plistconvert/install.sh | bash

On linux for dynamic binary

Some dependencies lib must be installed if you install the dynamic binary

so if you have not already added the swiftlang repo:

curl -s https://archive.swiftlang.xyz/install.sh | sudo bash

then you can install just the minimum package slim (or the full one see build chapter)

sudo apt install swiftlang-slim

current dependencies info for dynamic executable

linked to swift lib and os lib

$ ldd plistconvert 
	linux-vdso.so.1 (0x00007ffe977fb000)
	libswiftGlibc.so => /usr/lib/swift/linux/libswiftGlibc.so (0x00007fe95fcb7000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe95fb61000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe95fb3e000)
	libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fe95fb39000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe95fb33000)
	libFoundation.so => /usr/lib/swift/linux/libFoundation.so (0x00007fe95f28b000)
	libswiftDispatch.so => /usr/lib/swift/linux/libswiftDispatch.so (0x00007fe95f259000)
	libdispatch.so => /usr/lib/swift/linux/libdispatch.so (0x00007fe95f1f8000)
	libBlocksRuntime.so => /usr/lib/swift/linux/libBlocksRuntime.so (0x00007fe95f1f3000)
	libswift_Concurrency.so => /usr/lib/swift/linux/libswift_Concurrency.so (0x00007fe95f191000)
	libswiftCore.so => /usr/lib/swift/linux/libswiftCore.so (0x00007fe95eb34000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe95e942000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe95e75e000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe95e743000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fe95fded000)
	libicuucswift.so.65 => /usr/lib/swift/linux/libicuucswift.so.65 (0x00007fe95e540000)
	libicui18nswift.so.65 => /usr/lib/swift/linux/libicui18nswift.so.65 (0x00007fe95e226000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe95e21c000)
	libicudataswift.so.65 => /usr/lib/swift/linux/libicudataswift.so.65 (0x00007fe95c769000)

$ du -sh /usr/lib/swift/
124M	/usr/lib/swift/

Build yourself

swift build -c release

or if we want without swift runtime dependencies (ie static executable)

swift build -c release -Xswiftc -static-executable

Install swift on linux (needed to build)

Download from

Swift official website

Download with apt on swiftlang.xyz

curl -s https://archive.swiftlang.xyz/install.sh | sudo bash

Then install the full swiftlang package to install swift command

sudo apt install swiftlang

or use swiftenv

About

Convert plist from different format: xml, json, binary, openStep

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published