From 8cdd88d053bd857fedf941648864e9677f536f69 Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Tue, 6 Jan 2026 21:53:08 -0500 Subject: [PATCH] rename app module to jrunner for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: - Rename app/ directory to jrunner/ (preserves git history) - Update settings.gradle to reference jrunner module - Update readme.md with new paths (jrunner/build/, /opt/jrunner) - Update CLAUDE.md documentation with new file paths Build outputs now named jrunner.zip, jrunner.jar, bin/jrunner instead of generic "app" names. This makes the project structure clearer and aligns module name with project name. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- CLAUDE.md | 13 +++++-------- {app => jrunner}/build.gradle | 0 {app => jrunner}/src/main/java/jrunner/jrunner.java | 0 {app => jrunner}/src/test/java/jrunner/AppTest.java | 0 readme.md | 8 ++++---- settings.gradle | 2 +- 6 files changed, 10 insertions(+), 13 deletions(-) rename {app => jrunner}/build.gradle (100%) rename {app => jrunner}/src/main/java/jrunner/jrunner.java (100%) rename {app => jrunner}/src/test/java/jrunner/AppTest.java (100%) diff --git a/CLAUDE.md b/CLAUDE.md index 279d7d9..30f7835 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -25,22 +25,19 @@ gradle test Build distribution package: ```bash gradle build -# Creates app/build/distributions/app.zip +# Creates jrunner/build/distributions/jrunner.zip ``` Deploy to /opt (as documented in readme.md): ```bash -sudo cp app/build/distributions/app.zip /opt/ -sudo rm -rf /opt/app/ -sudo unzip /opt/app.zip -d /opt/ -sudo rm /opt/app.zip -sudo chown ptrowbridge:ptrowbridge -R /opt/app/ +sudo unzip jrunner/build/distributions/jrunner.zip -d /opt/ +sudo ln -sf /opt/jrunner/bin/jrunner /usr/local/bin/jrunner ``` ## Architecture ### Single-File Design -The entire application logic resides in `app/src/main/java/jrunner/jrunner.java`. This is a monolithic command-line tool with no abstraction layers or separate modules. +The entire application logic resides in `jrunner/src/main/java/jrunner/jrunner.java`. This is a monolithic command-line tool with no abstraction layers or separate modules. ### Data Flow 1. Parse command-line arguments (-scu, -scn, -scp for source; -dcu, -dcn, -dcp for destination) @@ -55,7 +52,7 @@ The entire application logic resides in `app/src/main/java/jrunner/jrunner.java` The tool includes explicit handling for different SQL data types in a switch statement (lines 229-312). Supported types include VARCHAR, TEXT, CHAR, CLOB, DATE, TIME, TIMESTAMP, and BIGINT. String types get quote escaping and optional trimming. ### Database Drivers -JDBC drivers are configured in `app/build.gradle`: +JDBC drivers are configured in `jrunner/build.gradle`: - PostgreSQL: org.postgresql:postgresql:42.5.0 - IBM AS/400 (JT400): net.sf.jt400:jt400:11.0 - Microsoft SQL Server: com.microsoft.sqlserver:mssql-jdbc:9.2.0.jre8 diff --git a/app/build.gradle b/jrunner/build.gradle similarity index 100% rename from app/build.gradle rename to jrunner/build.gradle diff --git a/app/src/main/java/jrunner/jrunner.java b/jrunner/src/main/java/jrunner/jrunner.java similarity index 100% rename from app/src/main/java/jrunner/jrunner.java rename to jrunner/src/main/java/jrunner/jrunner.java diff --git a/app/src/test/java/jrunner/AppTest.java b/jrunner/src/test/java/jrunner/AppTest.java similarity index 100% rename from app/src/test/java/jrunner/AppTest.java rename to jrunner/src/test/java/jrunner/AppTest.java diff --git a/readme.md b/readme.md index 122b7c4..ec15fda 100644 --- a/readme.md +++ b/readme.md @@ -38,8 +38,8 @@ cd jrunner ## deploy system-wide ``` -sudo unzip app/build/distributions/app.zip -d /opt/ -sudo ln -sf /opt/app/bin/app /usr/local/bin/jrunner +sudo unzip jrunner/build/distributions/jrunner.zip -d /opt/ +sudo ln -sf /opt/jrunner/bin/jrunner /usr/local/bin/jrunner ``` Now you can run from anywhere: @@ -50,6 +50,6 @@ jrunner -scu jdbc:postgresql://... -scn user -scp pass ... To update after rebuilding: ``` ./gradlew build -sudo rm -rf /opt/app -sudo unzip app/build/distributions/app.zip -d /opt/ +sudo rm -rf /opt/jrunner +sudo unzip jrunner/build/distributions/jrunner.zip -d /opt/ ``` diff --git a/settings.gradle b/settings.gradle index 7c9e1a2..6d3d441 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,4 +8,4 @@ */ rootProject.name = 'jrunner' -include('app') +include('jrunner')