# HG changeset patch # User David Barts # Date 1608951525 28800 # Node ID 404eb7e57fe604b3bb39a01fe2a63eead5da0dbb # Parent 9bf3d8de690435dd455d8d9fd839406a7c774ff0 Standardize things for Linux packaging. diff -r 9bf3d8de6904 -r 404eb7e57fe6 Building.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Building.html Fri Dec 25 18:58:45 2020 -0800 @@ -0,0 +1,52 @@ + + + + + + Building ImagePrep + + + +

Building ImagePrep

+

ImagePrep is a pure Java application. As such it is easy to build:

+
    +
  1. Install prerequisites:
  2. +
      +
    1. Apache Ant
    2. +
    3. Launch4j, if you are + building on Windows
    4. +
    5. Java JDK 1.8 or better (see notes below).
    6. +
    7. Kotlin
    8. +
    +
  3. Type ant clean to be sure you’re starting with a clean + slate.
  4. +
  5. Use one of the following commands:
  6. +
      +
    1. ant jar — to build a “fat JAR” containing the + application (and the Kotlin runtime)
    2. +
    3. ant macapp — to build a Macintosh application
    4. +
    5. ant deb — to build a Debian package for the Gnome + desktop
    6. +
    7. ant winapp — to build a Windows application (requires Launch4j)
    8. +
    +
+

Which Version of Java to Use?

+

In short, Java 1.8. Most systems don’t yet have OpenJDK 11 or greater + installed, so using a compiler newer than 1.8 is asking for trouble. All + code should build on OpenJDK 11 or greater, with the exception + of the OS-dependent code for the Macintosh (which will have to be recoded + to use the java.awt.Desktop class). The latter would be a + net win, as it is portable, and would spell the death of the only bit of + OS-dependent Kotlin code in this application.

+

+
    +
      +
    +
+ + diff -r 9bf3d8de6904 -r 404eb7e57fe6 Building.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Building.rst Fri Dec 25 18:58:45 2020 -0800 @@ -0,0 +1,36 @@ +[This file automatically generated by pandoc from 'Building.html'.] + +Building ImagePrep +================== + +ImagePrep is a pure Java application. As such it is easy to build: + +Install prerequisites: + +a. `Apache Ant `__ +b. `Launch4j `__, if you are building + on Windows +c. Java JDK 1.8 or better (see notes below). +d. `Kotlin `__ + +Type ``ant clean`` to be sure you’re starting with a clean slate. + +Use one of the following commands: + +a. ``ant jar`` — to build a “fat JAR” containing the application (and + the Kotlin runtime) +b. ``ant macapp`` — to build a Macintosh application +c. ``ant deb`` — to build a Debian package for the Gnome desktop +d. ``ant winapp`` — to build a Windows application (requires + `Launch4j `__) + +Which Version of Java to Use? +----------------------------- + +In short, Java 1.8. Most systems don’t yet have OpenJDK 11 or greater +installed, so using a compiler newer than 1.8 is asking for trouble. All +code *should* build on OpenJDK 11 or greater, with the exception of the +OS-dependent code for the Macintosh (which will have to be recoded to +use the ``java.awt.Desktop`` class). The latter would be a net win, as +it is portable, and would spell the death of the only bit of +OS-dependent Kotlin code in this application. diff -r 9bf3d8de6904 -r 404eb7e57fe6 Makefile.docs --- a/Makefile.docs Sun Dec 13 11:20:06 2020 -0800 +++ b/Makefile.docs Fri Dec 25 18:58:45 2020 -0800 @@ -1,6 +1,6 @@ .PHONY: clean -all: Readme.rst Readme.pdf +all: Readme.rst Readme.pdf Building.rst Building.pdf clean: -rm *.rst *.pdf *.ps *.nrf diff -r 9bf3d8de6904 -r 404eb7e57fe6 Readme.html --- a/Readme.html Sun Dec 13 11:20:06 2020 -0800 +++ b/Readme.html Fri Dec 25 18:58:45 2020 -0800 @@ -11,55 +11,8 @@

ImagePrep Read Me

-

This is a simple program mainly created for my own benefit.

-

Because it is primarily for my own benefit, it does not build to a - “clickable” app. That is too much of a pain to implement.

-

Because I have code to crib, it does contain a help file. It’s pretty - rudimentary, however.

-

Because I have code to crib, it does run on a .properties - file, but because coding preferences dialogs is something of a pain, it - does not contain a preferences or settings dialog, even though there is - some code to crib for both. The .properties - file must be edited by hand* (it will live in the normal place for such - files on the system being run under). If no such file exists, a default - one will be created. The only things in it will be the maximum dimension - to clamp to, where the output file goes by default, and maybe what the - output file’s name is by default (i.e. a name suffix).

-

* This program is for my own benefit, and I have no - problem editing text files, therefore this is reasonable.

-

Contrary to JpegWasher, which is designed for batch processing, this will - have more of a “document editor” style of design. Meaning, you open a - file, you edit it, you save it, you close it.

-

Upon opening a file, it will be auto-scaled to the specified maximum - dimension. This will default to the value in the preferences file, but the - user will be able to override it with a command-line argument.

-

Ah, the command-line. Because it’s not a full “clickable” app, it is - launched from the command line, and accepts arguments, much like the old - days of using X Windows. This is actually more user-friendly for - my purposes, because it ends up honoring the concept of the current - working directory. (Directory management is one area where GUI programs - fall short.)

-

The current working directory is the input files directory. Depending on - how the properties are configured, the output directory is either the - current working directory, or a specified output file directory. Both - directories act like a current working directory; the next time an input - or output dialog is brought up in a given session, it will be in the same - spot the previous dialog was when it was closed. All this makes it easy to - rapidly edit files in a directory of images downloaded from a camera, - without polluting that directory with the edited files.

-

At that point, the editing step begins. It is extremely simple and is - limited to rotation. Three types of rotation will be offered, 90° - clockwise, 180°, and 90° counterclockwise.

-

The user can rotate the file as many times as s/he wants. Sort of silly, - but sometimes people are tired and get clockwise and counterclockwise - confused, so might as well give ’em a chance to fix their mistakes. Plus, - it would take special effort not to allow this.

-

Then comes the closing and saving. They are one operation, because that - makes the program easier for me to use.

-

Ideally, I wouldn’t even puts around with making this a GUI app in the - first place. It’s for my own use, so the command line would be good - enough. The problem is rotation: it’s a hot mess. There’s really no way to - do it right save to show the image to a human and let him (me) decide - which way is up.

+

This is a simple program for preparing digital images to be shared on the + Internet.

+

More information is available here.

diff -r 9bf3d8de6904 -r 404eb7e57fe6 Readme.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Readme.rst Fri Dec 25 18:58:45 2020 -0800 @@ -0,0 +1,10 @@ +[This file automatically generated by pandoc from 'Readme.html'.] + +ImagePrep Read Me +================= + +This is a simple program for preparing digital images to be shared on +the Internet. + +More information is available +`here `__.