swift-bundler

An Xcodeproj-less tool for creating cross-platform Swift apps.

APACHE-2.0 License

Stars
277
Committers
2
swift-bundler - v2.0.4 Latest Release

Published by stackotter over 2 years ago

Fix issue where Metal shaders are built for the current device's macOS version instead of the app's minimum macOS version.

swift-bundler - v2.0.3

Published by stackotter over 2 years ago

What's Changed

Full Changelog: https://github.com/stackotter/swift-bundler/compare/v2.0.2...v2.0.3

swift-bundler - v2.0.2

Published by stackotter over 2 years ago

Adds usage documentation and a handy tip on opening projects with Xcode after generating Xcode support.

From now on, all builds attached to releases will also be universal binaries (previously they were x86_64 builds).

swift-bundler - v2.0.1

Published by stackotter over 2 years ago

This release removes reliance on Swift Bundler being installed at /opt/swift-bundler and updates the installation instructions accordingly. The recommended installation method is now via mint.

If you have previously installed Swift Bundler via the installation script method, you must delete the /opt/swift-bundler directory.

Full Changelog: https://github.com/stackotter/swift-bundler/compare/v2.0.0...v2.0.1

swift-bundler - v2.0.0

Published by stackotter over 2 years ago

After a month of work and over 120 commits, I have finished rewriting and improving the entirety of Swift Bundler 🎉

For a nice overview of the changes go and read my blog post.

Improvements

  • Better configuration format
  • Help messages are more useful
  • Error messages are more descriptive
  • Commands are more intuitive
  • Command line output is colourful!
  • Improved consistency between SwiftPM and Xcode builds
  • Automatic migration from old configuration format (Bundle.json) to new configuration format (Bundler.toml)
  • Swift Bundler is now released under the more permissive Apache 2.0
  • Swift Bundler is less opinionated about the layout of your project and the only requirement is that Bundler.toml is in the root directory
  • The chance of fatal errors occurring has been significantly reduced by avoiding all force unwraps (and similar), and removing many other sources of fatal errors

New features

  • Package templates
  • Commands give tips on what to do next
  • Multi-app packages
  • Plist entries can contain variables (e.g. {COMMIT_HASH} can be used to insert the current commit hash into the Info.plist at build time)
  • Option to set indentation style when creating a new package
  • Stylish and helpful command-line output
  • Documentation site

Internal changes

  • Swift Bundler is now written in a functional style for maximum reusability and maintainability
  • Result-based error handling is now used instead of throws to ensure that error messages are always descriptive and always have user-friendly error messages
  • All errors implement errorDescription
  • The monolithic Bundler type has been split into several smaller self-contained utilities
  • All child processes are terminated when the swift-bundler process is killed
  • Errors are now propagated instead of just terminating the process when the error occurs, allowing for centralised error handling
swift-bundler - v1.4.8

Published by stackotter over 2 years ago

Add a license (GPL-v3 for now). I could swear I had already added a license, but I guess I hadn't.

swift-bundler - v1.4.7

Published by stackotter over 2 years ago

  • Add configuration options for adding arbitrary key-value pairs to the generated Info.plist
swift-bundler - v1.4.6

Published by stackotter almost 3 years ago

Fixes the remove-file-headers sub command. It now only attempts to remove file headers from swift files.

swift-bundler - v1.4.5

Published by stackotter almost 3 years ago

Fixes crash in universal builds.

swift-bundler - v1.4.4

Published by stackotter almost 3 years ago

Fixes a crash caused by a force-unwrap.

swift-bundler - v1.4.3

Published by stackotter almost 3 years ago

Fixes the dynamic library copying step for universal builds.

swift-bundler - v1.4.2

Published by stackotter almost 3 years ago

Fixes a bug that occurred when the path to a swift bundler project contained spaces. Spaces in file paths are now correctly escaped.

swift-bundler - v1.4.1

Published by stackotter almost 3 years ago

Fixes an issue regarding dynamic linking. The bundler used to use DynamicLibraries inside an app's contents as the location for dylibs. However the default location is lib inside an app's contents and using a custom rpath lead to some issues.

swift-bundler - Support dynamic libraries

Published by stackotter almost 3 years ago

Swift Bundler can now automatically detect dynamic libraries and copy them into the app bundle. The dynamic libraries are located at /path/to/YourApp.app/Contents/DynamicLibraries. Framework resources are not supported and if a framework contains resources, swift-bundler will let you know by throwing an error and exiting.

swift-bundler - 1.3.0

Published by stackotter about 3 years ago

Allows the executable target to be selected in Bundle.json and removes a few janky bits of code. Someone was having an issue with swift-bundler crashing cause zsh could not be found so now sh is used for running shell commands.

swift-bundler - v1.2.0

Published by stackotter about 3 years ago

Fixes a bug with generate-xcode-support and adds remove-file-headers which removes all file headers of source files. File headers are the autogenerated comments Xcode puts at the tops of files and some people don't like them. Add the remove-file-headers command to a prebuild script to automatically remove new ones whenever you build.

swift-bundler - v1.1.0

Published by stackotter about 3 years ago

Xcode support has been completely changed. Now the swift bundler generate-xcode-support will populate the .swiftpm/xcode directory with a scheme. .xcodeprojs are no longer generated.

swift-bundler - 1.0.1

Published by stackotter about 3 years ago

Fixes issues to do with universal builds.

  • Progress bar now works properly for universal builds
  • Bundles are now generated correctly for universal builds
swift-bundler - 1.0.0

Published by stackotter about 3 years ago

Features

  • Create macOS apps from Swift packages
  • Almost seamless Xcode integration
Package Rankings
Top 23.53% on Swiftpackageindex.com