Commit Graph

49 Commits

Author SHA1 Message Date
T. Joseph Carter
d37ba47c8d macBundle: some cleanup, remove .app skeleton 2017-10-30 08:12:16 -07:00
T. Joseph Carter
2e2a34e77e mac: Use universalJavaApplicationStub
Here's a (very rough) implementation of a macBundle task using the
universalJavaApplicationStub and jarbundler.  Jarbundler's support files
(ant build system and docs) are suffering bitrot, and I don't grok maven
yet, so I'm really flying blind with it, so basically I'm committing it
in a "baseline" working (if ugly) state.

So ... _why_ use this?

The old way of bundling Java apps doesn't work anymore.  It tells you to
get Apple's (compromised/unsafe) Java 6 and when you do it throws an
error because your code compiled on Oracle JDK 8/9 won't run on it
anymore.

You're supposed to duplicate the JRE in each Java program you bundle as
you would a private/custom framework.  Yes, really.  This solves the
dependency issues at the cost of heavy resource waste.  Except every new
JDK generation changes HOW you do that, and the current method is
totally proprietary to Oracle's JDK.  For cross-platform development, it
is NOT fun.

So there's uJAS, which is literally a complex shell script to magically
do the equivalent of typing java -jar <your program> from the command
line—which does work BTW if all your dependencies are properly in your
default classpath, etc.  There used to be a couple of application
bundler options, but the one that still works (only with uJAS if you
have the most recent JDKs), is jarbundler.

TODO: Clean this up, restore original functionality (zipball), include
the commandline jar, etc.

committing it in this state is that jarbundler's repo is a bit of a
mess.  The current version (and the version we need) is 3.3.0, the
"latest" from 2015.  The docs, examples, and the ant build system are
all literally bitrotting from version 2.x, and do not work without some
fixes.

So in other words, I'm committing this in a state that I got to work so
that if I screw it up, since I'm flying blind, I'll have a messy but
working fallback.

Okay, so _why_ use any of this at all?

If you create an ACBuild.properties file and run ant, you can get
AppleCommander.app to build, but it won't run.  It tells you that you
need to download Apple's legacy Java 6 which is neither safe nor
supported anymore.  If you install this, it will still give you an
error because the generated code can't run under Java 6.

What you're supposed to do now is bundle your JRE with every Java
application bundle, which means multiple copies of libs on disk and in
memory.  Yes, really.  Except Oracle keeps changing how you do this with
each new JDK generation, and the current way is pretty much totally
proprietary so that you're locked in to Oracle's JDK and couldn't use
OpenJDK or something if that were an option.

That's what universalJavaApplicationStub resolves—it builds an app
bundle that uses whatever JDK/JRE you have installed from 6 onwards.
And it in turn needs jarbundler or something like it.  Except all of the
"something like it" solutions are dead or deprecated save the latest
release of jarbundler which was modified to support uJAS and then
promptly left more or less untouched since.  But it "works".
2017-10-30 06:14:13 -07:00
752cdc91b6 Remove java version restrictions, which are becoming quite problematic 2017-06-12 17:22:22 +00:00
Robert Greene
95e97e2ae6 Adding some Maven central repository information. 2016-11-14 00:22:17 +00:00
e690c0673c Make AC-created disk images not crash on Apple /// computers 2014-04-18 17:11:59 +00:00
8727b12157 Add testcase for binary extraction to file 2012-10-11 12:34:10 +00:00
821e7c7977 Tighten up the ant task a bit 2012-08-15 04:02:58 +00:00
8276bbd8c3 Rename the option to unpack shrinkit to reflect the more general nature of DC42
Make all Shrinkit and DC42 images read-only from the command line
2012-08-02 03:18:07 +00:00
77aa498bee Update the boot assembler for ca65 toolchain, re-assembly saves one byte! (Original message had one extraneous space) 2012-07-30 19:33:05 +00:00
26c3675fa4 Add full name of SF web page 2012-07-30 18:15:40 +00:00
5dac28935a Fill out the rest of the ant task to basically mirror the command line 2012-07-27 17:52:24 +00:00
John B. Matthews
6fe56fadec Update linux-gtk guidance. 2012-07-15 16:03:05 +00:00
9b985c140e Integrate ShrinkItArchive into AppleCommander
Add ability to decompress and use SDK disk images
tighten up image ordering detection - rely less on file names
2012-07-06 16:45:49 +00:00
John B. Matthews
7c5fab362d Exclude non-source files in javadoc target. 2008-12-16 09:33:58 +00:00
John B. Matthews
d88fc632bf Add new Mac jnilibs. 2008-06-08 15:15:04 +00:00
7c9b7f1caa Add the NLS elements of the Swing GUI 2008-06-07 21:46:09 +00:00
John B. Matthews
6041309cfa Adjust dependency to always sign jars if possible. 2008-06-07 21:17:28 +00:00
0c69ea314f Make jar signing optional 2008-06-07 12:51:19 +00:00
John B. Matthews
7605775c52 Don't touch Info.plist when copy-editing in build.xml. 2008-06-07 12:08:20 +00:00
626eeada53 Add jarsigner support to ACBuild-default.properties 2008-06-06 22:27:36 +00:00
John B. Matthews
0db3f17ca5 Add jarsigner task to build.xml; see comments. 2008-06-06 21:41:06 +00:00
3572ed98fc Offer a way to change local file locations in build.xml via a local ACBuild.properties file (which doesn't get stored in the config management tool) 2008-06-06 16:52:56 +00:00
John B. Matthews
cb6fa9fc68 Use ac.mf to build executableCmdJar. 2008-05-29 12:45:41 +00:00
John B. Matthews
058608b124 Add Mac application bundle; cross-platform build. 2008-05-24 03:37:01 +00:00
John B. Matthews
f7f0391b6c Fixed misspelling of "verion"; added "-" to ac.jar file name; added source tag for 1.5 compatibility. 2006-04-23 05:04:32 +00:00
Robert Greene
9d41ed1fd8 (I think this was updated for Eclipse 3.0.) 2004-11-09 03:22:00 +00:00
Robert Greene
72356eee4e Changed to use a different GCC/GCJ build which has SWT already
compiled and setup.  (The link is in the build notes.)
2004-06-20 16:58:11 +00:00
Robert Greene
2545f60b6c Added websiteZip to all dependencies; changed web zip file to not
include the htdocs directory.
2004-06-19 21:07:46 +00:00
Robert Greene
712f53bc2a Added more ant script automation. 2004-06-18 05:13:45 +00:00
Robert Greene
12d703b784 Updated swtjar. 2004-06-09 02:59:57 +00:00
Robert Greene
4ef4fb5f97 The first SWT MinGW build script that works! Thanks to Mohan Embar
and his pages at http://www.thisiscool.com/gcc_mingw.htm.
2003-12-13 18:13:28 +00:00
Robert Greene
b069343ed0 Updated references to SWTImageLoaders. This has been moved into
the SWT build but kept here as a reference.
2003-12-13 18:12:30 +00:00
Robert Greene
ba7f7f34c0 Added email address. 2003-12-06 04:12:44 +00:00
Robert Greene
6aa5fe617e Windows README file. 2003-04-14 03:04:36 +00:00
Robert Greene
ef63c17482 Updated location of swt.jar. 2003-04-14 01:29:09 +00:00
Robert Greene
4289dbc9dd Updated build script to ignore clases that break the build or do not
apply to the build. The JUnit tests along with ImageIoImage and
SunJpegImage are examples.
2003-03-27 05:34:13 +00:00
Robert Greene
17b85bba97 ANT build script. 2003-03-16 05:27:04 +00:00
Robert Greene
563ebe4593 Added OPTS flag to identify GCJ compile flags. 2003-03-06 03:45:56 +00:00
Robert Greene
5ef9a886b1 Added structure to MinGW/Win32 compile. 2003-03-06 03:43:50 +00:00
Robert Greene
cd8af8fc82 First full-compile attempt for AppleCommander. 2003-03-06 03:42:02 +00:00
Robert Greene
0a74d116f5 Initial build script to compile native Windows executable. 2003-03-06 03:40:00 +00:00
Robert Greene
44bb363c06 If a PR#6 was used to reboot the computer, the output was still
mapped to slot 6. Using COUT ($FDED) would then redirect to slot
6 at $C600 and reboot the machine. Changed to use ROM directly
at $FDF0.
2002-12-13 04:12:47 +00:00
Robert Greene
44da9f8133 Fixed some minor issues: (1) needed to turn off drive motor and
(2) needed to clear the keyboard (otherwise the keypress was still
valid when the next disk was booted). Also needed to reduce program
by a few more bytes. By changing the rotate routine and changing
the wording in the message, this code is now only 254 bytes. Also added
more comments.
2002-12-09 04:34:20 +00:00
Robert Greene
9bfb149930 Bootsector now rotates image and calls Apple reboot code in ROM.
The image data itself was compressed because of space issues.
This is exactly 256 bytes long.
2002-12-07 16:03:52 +00:00
Robert Greene
63e5a25062 Bootsector code for AppleCommander formatted disks. 2002-12-07 16:00:17 +00:00
Robert Greene
0f5980ce4b The current README file packaged with the Linux GTK version of
AppleCommander.
2002-12-06 20:10:56 +00:00
Robert Greene
ff7db40e89 Build script for SWT under Linux and GTK. 2002-12-06 20:10:27 +00:00
Robert Greene
20e54abae0 Build script for AppleCommander under Linux and GTK. 2002-12-06 20:10:17 +00:00
Robert Greene
ebf72c103e Version 1.1.1 is the initial GPL release of AppleCommander. 2002-12-01 02:21:00 +00:00