aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2023-04-26Add license (GNU GPLv3+)Teddy Wing
2023-04-26Remove tests harnessTeddy Wing
I'm not using tests here, so rather than keep useless tests cluttering the project I decided to remove them. This causes the `mvn package` task to fail, so I added a skip test configuration on the Maven Surefire plugin as described by smp7d (https://stackoverflow.com/users/395975/smp7d) on Stack Overflow: https://stackoverflow.com/questions/7456006/maven-package-install-without-test-skip-tests/7502723#7502723
2023-04-26App.java: Add Mac OS X user font directoryTeddy Wing
2023-04-26App.java: Add additional Mac OS X font locationsTeddy Wing
2023-04-26Switch to Java 8Teddy Wing
I had used Java 11 in order to use the `var` syntax, which seemed pleasantly more concise, however, I discovered that the machine I want to deploy this application to only has a Java 8 SDK, and I don't want to bother messing with it and going on a potential yak shaving quest.
2023-04-25App.java: Use command line arguments in `replacePdfFieldFont`Teddy Wing
Make the program dynamic and use the command line arguments when performing font replacement.
2023-04-25App.java: Set remaining command line option variablesTeddy Wing
Set `input`, `find`, `replace`, and `output` from command line arguments. These will be used to generate the output PDF.
2023-04-24App.java: Print program versionTeddy Wing
Thanks to this Stack Overflow answer by mysomic (https://stackoverflow.com/users/27241/mysomic) for explaining how to get the program version in a Maven pom.xml context: https://stackoverflow.com/questions/2712970/get-maven-artifact-version-at-runtime/12571330#12571330
2023-04-24App.java: Start adding command line option parsingTeddy Wing
Used the following resources to see how to parse command line options using commons-cli: - https://reintech.io/blog/java-command-line-applications-parsing-processing-arguments - https://commons.apache.org/proper/commons-cli/usage.html Reusing the options from 'pdf-form-replace-font'.
2023-04-23App.java: Extract font replacement code to functionTeddy Wing
Move this to a new function to make room in `main()` for command line argument parsing.
2023-04-23App.java: Remove "*" importsTeddy Wing
Not sure what the commn Java style is for wildcard imports, but I didn't really like them, so replace them with explicit type imports.
2023-04-23App.java: Remove commented in-progress codeTeddy Wing
Now that we have something that works, remove the old code from when I was testing things out.
2023-04-23Move 'Main.java' to 'App.java'Teddy Wing
Build our earlier code with Maven.
2023-04-23Regenerate Maven project structureTeddy Wing
The previous one wouldn't compile because I used hyphens in my package name. Regenerate the project structure replacing the hyphens with underscores: $ mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4 ... Define value for property 'groupId': com.teddywing.pdf_form_replace_font2 Define value for property 'artifactId': pdf-form-replace-font2 Define value for property 'version' 1.0-SNAPSHOT: : 0.0.1-SNAPSHOT Define value for property 'package' com.teddywing.pdf_form_replace_font2: : Confirm properties configuration: groupId: com.teddywing.pdf_form_replace_font2 artifactId: pdf-form-replace-font2 version: 0.0.1-SNAPSHOT package: com.teddywing.pdf_form_replace_font2 Y: :
2023-04-23Generate a Maven project structureTeddy Wing
I followed the Maven Getting Started (https://maven.apache.org/guides/getting-started/index.html) guide to set up a project structure so I could use it to manage dependencies. I picked the 'maven-archetype-simple' archetype (https://maven.apache.org/archetypes/maven-archetype-simple/). This code was generated with the following command and interactive prompts: $ mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4 Define value for property 'groupId': com.teddywing.pdf-form-replace-font2 Define value for property 'artifactId': pdf-form-replace-font2 Define value for property 'version' 1.0-SNAPSHOT: : 0.0.1-SNAPSHOT Define value for property 'package' com.teddywing.pdf-form-replace-font2: : Confirm properties configuration: groupId: com.teddywing.pdf-form-replace-font2 artifactId: pdf-form-replace-font2 version: 0.0.1-SNAPSHOT package: com.teddywing.pdf-form-replace-font2 Y: :