All Projects → federkasten → Appbundle Maven Plugin

federkasten / Appbundle Maven Plugin

Licence: apache-2.0
Maven plugin that creates an Application Bundle for OS X containing all your project dependencies and the necessary metadata

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Appbundle Maven Plugin

bck2brwsr
Bck2Brwsr VM to transpile Java bytecode to JavaScript
Stars: ✭ 93 (-42.94%)
Mutual labels:  jvm, maven-plugin
Universaljavaapplicationstub
universalJavaApplicationStub - an alternative Application launcher script for Java based macOS Apps that works with both Apple's and Oracle's PList format and supports the old Apple Java 6 as well as all the latest Oracle/OpenJDK/Adopt/Corretto JRE's/JDK's. Plus it supports drag&drop to the Dock icon 🎉
Stars: ✭ 174 (+6.75%)
Mutual labels:  apple, oracle
Markdownpapers
Markdown parser and transformer implemented in Java
Stars: ✭ 152 (-6.75%)
Mutual labels:  maven-plugin
2020
Student submissions for the WWDC 2020 Swift Student Challenge
Stars: ✭ 159 (-2.45%)
Mutual labels:  apple
Dumpclass
Dump classes from running JVM process.
Stars: ✭ 156 (-4.29%)
Mutual labels:  jvm
Ruby Macho
🔩 A pure-Ruby library for parsing Mach-O files.
Stars: ✭ 153 (-6.13%)
Mutual labels:  apple
Playframework
Play Framework
Stars: ✭ 12,041 (+7287.12%)
Mutual labels:  jvm
Chainlink Ruby
Easily connect your applications to blockchains
Stars: ✭ 152 (-6.75%)
Mutual labels:  oracle
Material Apex
A Material Design Theme for Oracle APEX
Stars: ✭ 161 (-1.23%)
Mutual labels:  oracle
React Native Unified Contacts
Your best friend when working with the latest and greatest Contacts Framework in iOS 9+ in React Native.
Stars: ✭ 156 (-4.29%)
Mutual labels:  apple
Passkit Generator
The easiest way to generate custom Apple Wallet passes in Node.js
Stars: ✭ 157 (-3.68%)
Mutual labels:  apple
Fxgl
Stars: ✭ 2,378 (+1358.9%)
Mutual labels:  jvm
Gwt Maven Plugin
Starting fresh on building GWT projects with Maven
Stars: ✭ 153 (-6.13%)
Mutual labels:  maven-plugin
Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM
Stars: ✭ 12,544 (+7595.71%)
Mutual labels:  jvm
Silicon Info
Mac menu bar tool to view the architecture of the running application
Stars: ✭ 153 (-6.13%)
Mutual labels:  apple
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (-4.29%)
Mutual labels:  jvm
Ruby Oci8
Ruby-oci8 - Oracle interface for ruby
Stars: ✭ 152 (-6.75%)
Mutual labels:  oracle
Alerttoast
Create Apple-like alerts & toasts using SwiftUI
Stars: ✭ 151 (-7.36%)
Mutual labels:  apple
Awesome Macos
 A curated list of awesome applications, softwares, tools and shiny things for macOS.
Stars: ✭ 12,565 (+7608.59%)
Mutual labels:  apple
Clj Docker Client
An idiomatic, data-driven, REPL friendly Clojure Docker client
Stars: ✭ 162 (-0.61%)
Mutual labels:  jvm

appbundle-maven-plugin

Maven plugin that creates an Application Bundle for OS X containing all your project dependencies and the necessary metadata.

<plugin>
  <groupId>sh.tak.appbundler</groupId>
  <artifactId>appbundle-maven-plugin</artifactId>
  <version>1.2.0</version>
  <configuration>
    <mainClass>your.app.MainClass</mainClass>
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>bundle</goal>
      </goals>
    </execution>
  </executions>
</plugin>

Package with following command,

mvn package appbundle:bundle

Use Custom Info.plist and Icon

Put your custom Info.plist and Icon.icns under your maven resource paths (src/main/resources on default configuration).

Configure pom.xml like below,

<configuration>
   <mainClass>your.app.MainClass</mainClass>
   <dictionaryFile>YourCustomInfo.plist</dictionaryFile>
   <iconFile>CustomIncon.icns</iconFile>
</configuration>

Embedd Java Runtime Environment

Locate the JRE or JDK on your Mac (/Library/Java/JavaVirtualMachines/ on default configuration).

Configure pom.xml like below,

<configuration>
   <mainClass>your.app.MainClass</mainClass>
   <jrePath>/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk</jrePath>
</configuration>

How to create DMG

Configure pom.xml like below,

<configuration>
   <mainClass>your.app.MainClass</mainClass>
   <generateDiskImageFile>true</generateDiskImageFile>
</configuration>

About this plugin

As you may know, Apple has dropped Java development from OS X excluding security patches.

mojo's osxappbundle-maven-plugin depends on Apple's Java launcher, so it does not support Java version 7 and future.

Oracle's Java Application Bundler supports other Java runtime (including Java 7, 8 and more), but it does not support maven.

I merged both and fix to work as a maven plugin that supports latest Mac OS X.

License

Copyright 2014 - 2016, Takashi AOKI and other contributors.

Copyright 2012, Oracle and/or its affiliates.

native/main.m is licensed under the GNU General Public License version 2.

Other files are licensed under the Apache License, Version 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].