diff --git a/app/ac-cli/build.gradle b/app/ac-cli/build.gradle new file mode 100644 index 0000000..ea05357 --- /dev/null +++ b/app/ac-cli/build.gradle @@ -0,0 +1,31 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-api') + implementation "net.sf.applecommander:ShrinkItArchive:$shkVersion" + implementation "net.sf.applecommander:applesingle-api:$asVersion" + implementation "net.sf.applecommander:bastools-api:$btVersion" + + compileOnly "org.apache.ant:ant:$antVersion" + + testImplementation "junit:junit:$junitVersion" +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.ac' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander (Swing)', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/src/main/java/com/webcodepro/applecommander/ui/AntTask.java b/app/ac-cli/src/main/java/com/webcodepro/applecommander/ui/AntTask.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/AntTask.java rename to app/ac-cli/src/main/java/com/webcodepro/applecommander/ui/AntTask.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/ac.java b/app/ac-cli/src/main/java/com/webcodepro/applecommander/ui/ac.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/ac.java rename to app/ac-cli/src/main/java/com/webcodepro/applecommander/ui/ac.java diff --git a/src/test/java/com/webcodepro/applecommander/util/AppleSingleTest.java b/app/ac-cli/src/test/java/com/webcodepro/applecommander/util/AppleSingleTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/util/AppleSingleTest.java rename to app/ac-cli/src/test/java/com/webcodepro/applecommander/util/AppleSingleTest.java diff --git a/src/test/resources/hello.applesingle.bin b/app/ac-cli/src/test/resources/hello.applesingle.bin similarity index 100% rename from src/test/resources/hello.applesingle.bin rename to app/ac-cli/src/test/resources/hello.applesingle.bin diff --git a/app/ac-swing/build.gradle b/app/ac-swing/build.gradle new file mode 100644 index 0000000..5da9dcc --- /dev/null +++ b/app/ac-swing/build.gradle @@ -0,0 +1,24 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-api') +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.swing.SwingAppleCommander' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/src/main/java/com/webcodepro/applecommander/ui/swing/DiskExplorer.java b/app/ac-swing/src/main/java/com/webcodepro/applecommander/ui/swing/DiskExplorer.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swing/DiskExplorer.java rename to app/ac-swing/src/main/java/com/webcodepro/applecommander/ui/swing/DiskExplorer.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swing/EmulatorFileFilter.java b/app/ac-swing/src/main/java/com/webcodepro/applecommander/ui/swing/EmulatorFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swing/EmulatorFileFilter.java rename to app/ac-swing/src/main/java/com/webcodepro/applecommander/ui/swing/EmulatorFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swing/SwingAppleCommander.java b/app/ac-swing/src/main/java/com/webcodepro/applecommander/ui/swing/SwingAppleCommander.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swing/SwingAppleCommander.java rename to app/ac-swing/src/main/java/com/webcodepro/applecommander/ui/swing/SwingAppleCommander.java diff --git a/app/ac-swt-linux-aarch64/build.gradle b/app/ac-swt-linux-aarch64/build.gradle new file mode 100644 index 0000000..37782bd --- /dev/null +++ b/app/ac-swt-linux-aarch64/build.gradle @@ -0,0 +1,28 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-swt-common') + + implementation("org.eclipse.platform:org.eclipse.swt.gtk.linux.aarch64:$swtVersion") { + exclude group: "org.eclipse.platform", module: "org.eclipse.swt" + } +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.swt.SwtAppleCommander' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/app/ac-swt-linux-x86_64/build.gradle b/app/ac-swt-linux-x86_64/build.gradle new file mode 100644 index 0000000..6c3776f --- /dev/null +++ b/app/ac-swt-linux-x86_64/build.gradle @@ -0,0 +1,28 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-swt-common') + + implementation("org.eclipse.platform:org.eclipse.swt.gtk.linux.x86_64:$swtVersion") { + exclude group: "org.eclipse.platform", module: "org.eclipse.swt" + } +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.swt.SwtAppleCommander' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/app/ac-swt-macosx-aarch64/build.gradle b/app/ac-swt-macosx-aarch64/build.gradle new file mode 100644 index 0000000..01293e7 --- /dev/null +++ b/app/ac-swt-macosx-aarch64/build.gradle @@ -0,0 +1,28 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-swt-common') + + implementation("org.eclipse.platform:org.eclipse.swt.cocoa.macosx.aarch64:$swtVersion") { + exclude group: "org.eclipse.platform", module: "org.eclipse.swt" + } +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.swt.SwtAppleCommander' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/app/ac-swt-macosx-x86_64/build.gradle b/app/ac-swt-macosx-x86_64/build.gradle new file mode 100644 index 0000000..ccd957e --- /dev/null +++ b/app/ac-swt-macosx-x86_64/build.gradle @@ -0,0 +1,28 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-swt-common') + + implementation("org.eclipse.platform:org.eclipse.swt.cocoa.macosx.x86_64:$swtVersion") { + exclude group: "org.eclipse.platform", module: "org.eclipse.swt" + } +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.swt.SwtAppleCommander' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/app/ac-swt-win32-x86_64/build.gradle b/app/ac-swt-win32-x86_64/build.gradle new file mode 100644 index 0000000..2acba23 --- /dev/null +++ b/app/ac-swt-win32-x86_64/build.gradle @@ -0,0 +1,28 @@ +plugins { + id 'org.springframework.boot' version '2.6.1' + id 'application' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-swt-common') + + implementation("org.eclipse.platform:org.eclipse.swt.win32.win32.x86_64:$swtVersion") { + exclude group: "org.eclipse.platform", module: "org.eclipse.swt" + } +} + +application { + mainClass = 'com.webcodepro.applecommander.ui.swt.SwtAppleCommander' +} + +bootJar { + manifest { + attributes 'Implementation-Title': 'AppleCommander', + 'Implementation-Version': archiveVersion + } + from('LICENSE') +} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 73e8ab5..0000000 --- a/build.gradle +++ /dev/null @@ -1,247 +0,0 @@ -plugins { - id 'java' - id 'application' - id 'maven' - id 'signing' -} - -repositories { - mavenCentral() - flatDir { - // SWT libraries - dirs "./swt-lib" - } -} - -mainClassName = 'com.webcodepro.applecommander.ui.AppleCommander' -version "${version}" - -compileJava { - sourceCompatibility = '1.8' - targetCompatibility = '1.8' -} - -test { - String osName = System.getProperty('os.name').toLowerCase().split()[0] - String osArch = System.getProperty('os.arch').toLowerCase().split()[0] - String swtDependency - switch (osName) { - case 'windows': - swtDependency = "org.eclipse.swt:org.eclipse.swt.win32.win32.x86_64:$swtVersion" - break - case 'linux': - swtDependency = "org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:$swtVersion" - if (osArch == 'arm') { - swtDependency = "org.eclipse.swt:org.eclipse.swt.gtk.linux.arm:$piswtVersion" - } - break - case 'mac': - swtDependency = "org.eclipse.swt:org.eclipse.swt.cocoa.macosx.x86_64:$swtVersion" - break - default: - throw new Exception('Unknown OS') - } - dependencies { - implementation "$swtDependency" - } - testLogging { - exceptionFormat = 'full' - } -} - -// Disable default JAR creation -project.tasks.jar.setEnabled(false) - -// Generic additions to JAR creation -tasks.withType(Jar) { - manifest { - attributes 'Main-Class': 'com.webcodepro.applecommander.ui.AppleCommander' - attributes 'Implementation-Title': 'AppleCommander', - 'Implementation-Version': archiveVersion - } - from('LICENSE') - doFirst { - // Jar files with an appendix are standalone applications and need to have ShrinkIt included. - if (archiveAppendix) { - from { - configurations.runtimeClasspath.collect { - it.name.startsWith('ShrinkItArchive') || it.name.startsWith('applesingle-api') || - it.name.startsWith('bastools-api') || it.name.startsWith('commons-csv') || - it.name.startsWith('gson') - ? zipTree(it) : 'fake' - } - } - } - } -} - -dependencies { - implementation "net.sf.applecommander:ShrinkItArchive:$shkVersion" - implementation "net.sf.applecommander:applesingle-api:$asVersion" - implementation "net.sf.applecommander:bastools-api:$btVersion" - implementation "org.apache.commons:commons-csv:$commonsCsvVersion" - implementation "com.google.code.gson:gson:$gsonVersion" - compileOnly "org.apache.ant:ant:$antVersion" - - testImplementation "junit:junit:$junitVersion" - testImplementation "org.apache.commons:commons-lang3:$commonsLang3Version" -} - -task mavenJar(type: Jar) { - dependencies { - // Just to pass the compile step; these classes are stripped out below. - implementation "org.eclipse.swt:org.eclipse.swt.cocoa.macosx.x86_64:$swtVersion" - } - from(sourceSets.main.output) { - include 'com/webcodepro/applecommander/**' - exclude 'com/webcodepro/applecommander/ui/images/**' - exclude 'com/webcodepro/applecommander/ui/swing/**' - exclude 'com/webcodepro/applecommander/ui/swt/**' - } -} -task acJar(type: Jar) { - dependencies { - // Just to pass the compile step; these classes are stripped out below. - implementation "org.eclipse.swt:org.eclipse.swt.cocoa.macosx.x86_64:$swtVersion" - } - archiveAppendix = 'ac' - manifest { - attributes 'Main-Class' : 'com.webcodepro.applecommander.ui.ac' - } - from(sourceSets.main.output) { - include 'com/webcodepro/**' - exclude 'com/webcodepro/applecommander/ui/images/**' - exclude 'com/webcodepro/applecommander/ui/swing/**' - exclude 'com/webcodepro/applecommander/ui/swt/**' - } -} -task linuxJar(type: Jar) { - dependencies { - implementation "org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:$swtVersion" - } - archiveAppendix = 'linux64-gtk' - from(sourceSets.main.output) { - include 'com/webcodepro/**' - } - doFirst { - // Pick and include just the Linux JAR contents - from { configurations.runtimeClasspath.collect { it.name.contains('.linux.x86_64-') ? zipTree(it) : 'fake' } } - } -} -task piJar(type: Jar) { - dependencies { - implementation "org.eclipse.swt:org.eclipse.swt.gtk.linux.arm:$piswtVersion" - } - archiveAppendix = 'linuxarm-gtk' - from(sourceSets.main.output) { - include 'com/webcodepro/**' - } - doFirst { - // Pick and include just the Linux JAR contents - from { configurations.runtimeClasspath.collect { it.name.contains('.linux.arm-') ? zipTree(it) : 'fake' } } - } -} -task macosxJar(type: Jar) { - dependencies { - implementation "org.eclipse.swt:org.eclipse.swt.cocoa.macosx.x86_64:$swtVersion" - } - archiveAppendix = 'macosx' - from(sourceSets.main.output) { - include 'com/webcodepro/**' - } - doFirst { - // Pick and include just the Mac OS X JAR contents - from { configurations.runtimeClasspath.collect { it.name.contains('.macosx.') ? zipTree(it) : 'fake' } } - } -} -task windowsJar(type: Jar) { - dependencies { - implementation "org.eclipse.swt:org.eclipse.swt.win32.win32.x86_64:$swtVersion" - } - archiveAppendix = 'win64' - from(sourceSets.main.output) { - include 'com/webcodepro/**' - } - doFirst { - // Pick and include just the Windows SWT JAR contents - from { configurations.runtimeClasspath.collect { it.name.contains('.win32.') ? zipTree(it) : 'fake' } } - } -} - -task javadocJar(type: Jar) { - classifier = 'javadoc' - from javadoc -} - -task sourcesJar(type: Jar) { - classifier = 'sources' - from sourceSets.main.allSource -} - -javadoc { - options.addStringOption('Xdoclint:none', '-quiet') -} - -artifacts { - archives mavenJar, acJar - archives linuxJar, piJar, macosxJar, windowsJar - archives javadocJar, sourcesJar -} - -signing { - // Only sign if we're uploading... - required { gradle.taskGraph.hasTask("uploadArchives") } - sign configurations.archives -} - -uploadArchives { - repositories { - mavenDeployer { - addFilter('AppleCommander') { artifact, file -> - // Note that the other executables all have suffixes which change their name. - return artifact.name == 'AppleCommander' && artifact.ext != 'zip' && artifact.ext != 'tar' - } - - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: findProperty('ossrhUsername'), password: findProperty('ossrhPassword')) - } - - snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { - authentication(userName: findProperty('ossrhUsername'), password: findProperty('ossrhPassword')) - } - - // Only preserve the compile and non-SWT POM dependencies - pom('AppleCommander').whenConfigured { p -> - p.dependencies = p.dependencies.findAll { it.scope == "compile" } - p.dependencies = p.dependencies.findAll { it.groupId != "org.eclipse.swt" } - } - - pom('AppleCommander').project { - name archivesBaseName - packaging 'jar' - description 'AppleCommander is a general utility for Apple II disk images.' - url 'https://applecommander.github.io/' - - scm { - url 'https://github.com/AppleCommander/AppleCommander' - } - - licenses { - license { - name 'The GNU General Public License (GPL) Version 2, June 1991' - url 'https://www.gnu.org/licenses/gpl-2.0.html' - } - } - - developers { - developer { - id 'robgreene' - email 'robgreene@gmail.com' - } - } - } - } - } -} diff --git a/gradle.properties b/gradle.properties index 5c572e8..b5b20b4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,8 +7,7 @@ version=1.7.0pre shkVersion=1.2.2 asVersion=1.2.1 btVersion=0.3.1 -swtVersion=4.17 -piswtVersion=3.8.2 +swtVersion=3.118.0 junitVersion=4.12 antVersion=1.8.2 commonsLang3Version=3.7 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e708b1c..7454180 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4d9ca16..84d1f85 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 4f906e0..1b6c787 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/lib/ac-api/build.gradle b/lib/ac-api/build.gradle new file mode 100644 index 0000000..b8e0f7b --- /dev/null +++ b/lib/ac-api/build.gradle @@ -0,0 +1,15 @@ +plugins { + id 'java-library' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation "net.sf.applecommander:ShrinkItArchive:$shkVersion" + implementation "org.apache.commons:commons-csv:$commonsCsvVersion" + implementation "com.google.code.gson:gson:$gsonVersion" + + testImplementation "junit:junit:$junitVersion" +} diff --git a/src/main/java/com/webcodepro/applecommander/compiler/ApplesoftCompiler.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/ApplesoftCompiler.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/compiler/ApplesoftCompiler.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/ApplesoftCompiler.java diff --git a/src/main/java/com/webcodepro/applecommander/compiler/CompileException.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/CompileException.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/compiler/CompileException.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/CompileException.java diff --git a/src/main/java/com/webcodepro/applecommander/compiler/CompilerBundle.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/CompilerBundle.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/compiler/CompilerBundle.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/CompilerBundle.java diff --git a/src/main/java/com/webcodepro/applecommander/compiler/Variable.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/Variable.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/compiler/Variable.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/compiler/Variable.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/DirectoryEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DirectoryEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/DirectoryEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DirectoryEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/Disk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/Disk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/Disk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/Disk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/DiskCorruptException.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskCorruptException.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/DiskCorruptException.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskCorruptException.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/DiskException.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskException.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/DiskException.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskException.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/DiskFullException.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskFullException.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/DiskFullException.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskFullException.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/DiskUnrecognizedException.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskUnrecognizedException.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/DiskUnrecognizedException.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/DiskUnrecognizedException.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/FileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/FileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/FileEntryComparator.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FileEntryComparator.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/FileEntryComparator.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FileEntryComparator.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/FileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/FileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/FormattedDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FormattedDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/FormattedDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/FormattedDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/StorageBundle.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/StorageBundle.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/StorageBundle.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/StorageBundle.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksDataBaseFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksDataBaseFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksDataBaseFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksDataBaseFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksSpreadSheetFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksSpreadSheetFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksSpreadSheetFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksSpreadSheetFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksWordProcessorFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksWordProcessorFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksWordProcessorFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AppleWorksWordProcessorFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/ApplesoftFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/ApplesoftFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/ApplesoftFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/ApplesoftFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/AssemblySourceFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AssemblySourceFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/AssemblySourceFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/AssemblySourceFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/BinaryFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/BinaryFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/BinaryFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/BinaryFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/BusinessBASICFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/BusinessBASICFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/BusinessBASICFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/BusinessBASICFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/GraphicsFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/GraphicsFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/GraphicsFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/GraphicsFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/GutenbergFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/GutenbergFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/GutenbergFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/GutenbergFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/HexDumpFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/HexDumpFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/HexDumpFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/HexDumpFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/IntegerBasicFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/IntegerBasicFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/IntegerBasicFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/IntegerBasicFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/PascalTextFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/PascalTextFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/PascalTextFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/PascalTextFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/TextFileFilter.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/TextFileFilter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/TextFileFilter.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/TextFileFilter.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/AppleImage.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/ImageIoImage.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/ImageIoImage.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/ImageIoImage.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/ImageIoImage.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SunJpegImage.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SunJpegImage.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SunJpegImage.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SunJpegImage.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/cpm/CpmFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosSectorAddress.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosSectorAddress.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosSectorAddress.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/DosSectorAddress.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/dos33/OzDosFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/OzDosFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/dos33/OzDosFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/OzDosFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/dos33/UniDosFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/UniDosFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/dos33/UniDosFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/dos33/UniDosFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/gutenberg/GutenbergFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/nakedos/NakedosFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosBlockAddress.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosBlockAddress.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosBlockAddress.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosBlockAddress.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonDirectoryHeader.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonDirectoryHeader.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonDirectoryHeader.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonDirectoryHeader.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosCommonEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDirectoryEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDirectoryEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDirectoryEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDirectoryEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDiskSizeDoesNotMatchException.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDiskSizeDoesNotMatchException.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDiskSizeDoesNotMatchException.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosDiskSizeDoesNotMatchException.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosSubdirectoryHeader.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosSubdirectoryHeader.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosSubdirectoryHeader.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosSubdirectoryHeader.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosVolumeDirectoryHeader.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosVolumeDirectoryHeader.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosVolumeDirectoryHeader.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/prodos/ProdosVolumeDirectoryHeader.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFileEntry.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFileEntry.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFileEntry.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFileEntry.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFormatDisk.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFormatDisk.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFormatDisk.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/os/rdos/RdosFormatDisk.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/physical/ByteArrayImageLayout.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/ByteArrayImageLayout.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/physical/ByteArrayImageLayout.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/ByteArrayImageLayout.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/physical/DosOrder.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/DosOrder.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/physical/DosOrder.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/DosOrder.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/physical/ImageOrder.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/ImageOrder.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/physical/ImageOrder.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/ImageOrder.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/physical/NibbleOrder.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/NibbleOrder.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/physical/NibbleOrder.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/NibbleOrder.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/physical/ProdosOrder.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/ProdosOrder.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/physical/ProdosOrder.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/ProdosOrder.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/physical/UniversalDiskImageLayout.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/UniversalDiskImageLayout.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/storage/physical/UniversalDiskImageLayout.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/storage/physical/UniversalDiskImageLayout.java diff --git a/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java new file mode 100644 index 0000000..7ebc5d9 --- /dev/null +++ b/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java @@ -0,0 +1,183 @@ +/* + * AppleCommander - An Apple ][ image utility. + * Copyright (C) 2002-3 by Robert Greene + * robgreene at users.sourceforge.net + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package com.webcodepro.applecommander.ui; + +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import com.webcodepro.applecommander.util.TextBundle; + +/** + * Launch AppleCommander. + * This application attempts to identify which type of user-interface to + * launch. Additionally, there are some command-line interface switches + * available - see the about method. + *

+ * Regarding SWT, this application launcher tries to not be SWT dependent. + * That means that SwtAppleCommander is launched purely by reflection. + * NOTE: This may yet prove to be a worthless trick. If it is, remove + * the crud. However, as the VERSION and COPYRIGHT are in this class and + * are referenced in various places, it may well be worth it. + *

+ * Date created: Nov 16, 2002 9:13:25 PM + * @author Rob Greene + */ +public class AppleCommander { + public static final String VERSION; + private static TextBundle textBundle = UiBundle.getInstance(); + + static { + VERSION = AppleCommander.class.getPackage().getImplementationVersion(); + } + +// /** +// * Launch AppleCommander. +// */ +// public static void main(String[] args) { +// if (args.length == 0) { +// if (isSwtAvailable()) { +// launchSwtAppleCommander(args); +// } else if (isSwingAvailable()) { +// launchSwingAppleCommander(args); +// } else { +// showHelp(); +// } +// } else { +// String[] extraArgs = new String[args.length - 1]; +// System.arraycopy(args, 1, extraArgs, 0, extraArgs.length); +// if ("-swt".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ +// if (isSwtAvailable()) { +// launchSwtAppleCommander(extraArgs); +// } else { +// System.err.println(textBundle.get("SwtVersionNotAvailable")); //$NON-NLS-1$ +// } +// } else if ("-swing".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ +// if (isSwingAvailable()) { +// launchSwingAppleCommander(extraArgs); +// } else { +// System.err.println(textBundle.get("SwingVersionNotAvailable")); //$NON-NLS-1$ +// } +// } else if ("-command".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ +// System.err.println(textBundle.get("CommandLineNotAvailable")); //$NON-NLS-1$ +// } else if ("-help".equalsIgnoreCase(args[0]) //$NON-NLS-1$ +// || "-?".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ +// showHelp(); +// } else { +// ac.main(args); +// } +// } +// } +// /** +// * Launch the SWT version of AppleCommander. This method +// * uses reflection to load SwtAppleCommander to minimize which +// * classes get loaded. This is particularly important for the +// * command-line version. +// */ +// protected static void launchSwtAppleCommander(String[] args) { +// Class swtAppleCommander; +// try { +// swtAppleCommander = Class.forName( +// "com.webcodepro.applecommander.ui.swt.SwtAppleCommander"); //$NON-NLS-1$ +// Constructor constructor = swtAppleCommander.getConstructor(); +// Object object = constructor.newInstance(); +// Method launchMethod = swtAppleCommander. +// getMethod("launch", args.getClass()); //$NON-NLS-1$ +// launchMethod.invoke(object, new Object[] { args }); +// } catch (ClassNotFoundException e) { +// e.printStackTrace(); +// } catch (SecurityException e) { +// e.printStackTrace(); +// } catch (NoSuchMethodException e) { +// e.printStackTrace(); +// } catch (IllegalArgumentException e) { +// e.printStackTrace(); +// } catch (IllegalAccessException e) { +// e.printStackTrace(); +// } catch (InvocationTargetException e) { +// e.printStackTrace(); +// } catch (InstantiationException e) { +// e.printStackTrace(); +// } +// } +// /** +// * Test to see if SWT is available. +// */ +// protected static boolean isSwtAvailable() { +// try { +// Class.forName("org.eclipse.swt.SWT"); //$NON-NLS-1$ +// Class.forName("com.webcodepro.applecommander.ui.swt.SwtAppleCommander"); //$NON-NLS-1$ +// return true; +// } catch (ClassNotFoundException ex) { +// return false; +// } +// } +// /** +// * Test to see if Swing is available. +// */ +// protected static boolean isSwingAvailable() { +// try { +// Class.forName("com.webcodepro.applecommander.ui.swing.SwingAppleCommander"); //$NON-NLS-1$ +// return true; +// } catch (ClassNotFoundException ex) { +// return false; +// } +// } +// /** +// * Launch the Swing version of AppleCommander. This method +// * uses reflection to load SwingAppleCommander to minimize which +// * classes get loaded. This is particularly important for the +// * command-line version. +// */ +// protected static void launchSwingAppleCommander(String[] args) { +// Class swingAppleCommander; +// try { +// swingAppleCommander = Class.forName( +// "com.webcodepro.applecommander.ui.swing.SwingAppleCommander"); //$NON-NLS-1$ +// Constructor constructor = swingAppleCommander.getConstructor(); +// Object object = constructor.newInstance(); +// Method launchMethod = swingAppleCommander. +// getMethod("launch", (Class[]) null); //$NON-NLS-1$ +// launchMethod.invoke(object, (Object[]) null); +// } catch (ClassNotFoundException e) { +// e.printStackTrace(); +// } catch (SecurityException e) { +// e.printStackTrace(); +// } catch (NoSuchMethodException e) { +// e.printStackTrace(); +// } catch (IllegalArgumentException e) { +// e.printStackTrace(); +// } catch (IllegalAccessException e) { +// e.printStackTrace(); +// } catch (InvocationTargetException e) { +// e.printStackTrace(); +// } catch (InstantiationException e) { +// e.printStackTrace(); +// } +// } +// /** +// * Display help message(s) for AppleCommander. +// */ +// protected static void showHelp() { +// System.err.println(textBundle.get("AppleCommanderHelp")); //$NON-NLS-1$ +// System.err.println(); +// ac.help(); +// } +} diff --git a/src/main/java/com/webcodepro/applecommander/ui/DirectoryLister.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/DirectoryLister.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/DirectoryLister.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/DirectoryLister.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/ImportSpecification.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/ImportSpecification.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/ImportSpecification.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/ImportSpecification.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/UiBundle.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/UiBundle.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/UiBundle.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/UiBundle.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/UserPreferences.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/UserPreferences.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/UserPreferences.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/ui/UserPreferences.java diff --git a/src/main/java/com/webcodepro/applecommander/util/AppleUtil.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/AppleUtil.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/AppleUtil.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/AppleUtil.java diff --git a/src/main/java/com/webcodepro/applecommander/util/ApplesoftToken.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ApplesoftToken.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/ApplesoftToken.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ApplesoftToken.java diff --git a/src/main/java/com/webcodepro/applecommander/util/ApplesoftTokenizer.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ApplesoftTokenizer.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/ApplesoftTokenizer.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ApplesoftTokenizer.java diff --git a/src/main/java/com/webcodepro/applecommander/util/ApplesoftTokens.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ApplesoftTokens.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/ApplesoftTokens.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ApplesoftTokens.java diff --git a/src/main/java/com/webcodepro/applecommander/util/BusinessBASICToken.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/BusinessBASICToken.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/BusinessBASICToken.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/BusinessBASICToken.java diff --git a/src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokenizer.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokenizer.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokenizer.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokenizer.java diff --git a/src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokens.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokens.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokens.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/BusinessBASICTokens.java diff --git a/src/main/java/com/webcodepro/applecommander/util/DiskRecurser.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/DiskRecurser.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/DiskRecurser.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/DiskRecurser.java diff --git a/src/main/java/com/webcodepro/applecommander/util/Host.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/Host.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/Host.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/Host.java diff --git a/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/Name.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/Name.java new file mode 100644 index 0000000..6ccb80b --- /dev/null +++ b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/Name.java @@ -0,0 +1,89 @@ +package com.webcodepro.applecommander.util; + +import java.util.List; + +import com.webcodepro.applecommander.storage.DirectoryEntry; +import com.webcodepro.applecommander.storage.DiskException; +import com.webcodepro.applecommander.storage.FileEntry; +import com.webcodepro.applecommander.storage.FormattedDisk; +import com.webcodepro.applecommander.ui.UiBundle; + +public class Name { + private static TextBundle textBundle = UiBundle.getInstance(); + + private String fullName; + private String name; + private String[] path; + + public Name(String s) { + this.fullName = s; + if (s.startsWith("/")) { + fullName = s.substring(1, s.length()); + } + this.path = s.split("/"); + this.name = path[path.length - 1]; + } + + public FileEntry getEntry(FormattedDisk formattedDisk) throws DiskException { + List files = formattedDisk.getFiles(); + FileEntry entry = null; + for (int i = 0; i < path.length - 1; i++) { + String dirName = path[i]; + for (int j = 0; j < files.size(); j++) { + entry = (FileEntry) files.get(j); + String entryName = entry.getFilename(); + if (entry.isDirectory() && dirName.equalsIgnoreCase(entryName)) { + files = ((DirectoryEntry) entry).getFiles(); + } + } + } + for (int i = 0; i < files.size(); i++) { + entry = (FileEntry) files.get(i); + String entryName = entry.getFilename(); + if (!entry.isDeleted() && name.equalsIgnoreCase(entryName)) { + return entry; + } + } + return null; + } + + public FileEntry createEntry(FormattedDisk formattedDisk) throws DiskException { + if (path.length == 1) { + return formattedDisk.createFile(); + } + List files = formattedDisk.getFiles(); + DirectoryEntry dir = null, parentDir = null; + for (int i = 0; i < path.length - 1; i++) { + String dirName = path[i]; + dir = null; + for (int j = 0; j < files.size(); j++) { + FileEntry entry = (FileEntry) files.get(j); + String entryName = entry.getFilename(); + if (!entry.isDeleted() && entry.isDirectory() && dirName.equalsIgnoreCase(entryName)) { + dir = (DirectoryEntry) entry; + parentDir = dir; + files = dir.getFiles(); + } + } + if (dir == null) { + if (parentDir != null) { + // If there's a parent directory in the mix, add + // the new child directory to that. + dir = parentDir.createDirectory(dirName); + parentDir = dir; + } else { + // Add the directory to the root of the filesystem + dir = formattedDisk.createDirectory(dirName); + parentDir = dir; + } + } + } + if (dir != null) { + return dir.createFile(); + } else { + System.err.println(textBundle.format( + "CommandLineNoMatchMessage", fullName)); //$NON-NLS-1$ + return null; + } + } +} diff --git a/src/main/java/com/webcodepro/applecommander/util/ShrinkItUtilities.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ShrinkItUtilities.java similarity index 99% rename from src/main/java/com/webcodepro/applecommander/util/ShrinkItUtilities.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ShrinkItUtilities.java index 1052470..acac994 100644 --- a/src/main/java/com/webcodepro/applecommander/util/ShrinkItUtilities.java +++ b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/ShrinkItUtilities.java @@ -32,7 +32,6 @@ import com.webcodepro.applecommander.storage.os.prodos.ProdosFormatDisk; import com.webcodepro.applecommander.storage.physical.ByteArrayImageLayout; import com.webcodepro.applecommander.storage.physical.ImageOrder; import com.webcodepro.applecommander.storage.physical.ProdosOrder; -import com.webcodepro.applecommander.ui.ac.Name; import com.webcodepro.shrinkit.HeaderBlock; import com.webcodepro.shrinkit.NuFileArchive; import com.webcodepro.shrinkit.ThreadRecord; diff --git a/src/main/java/com/webcodepro/applecommander/util/StreamUtil.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/StreamUtil.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/StreamUtil.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/StreamUtil.java diff --git a/src/main/java/com/webcodepro/applecommander/util/TextBundle.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/TextBundle.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/TextBundle.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/TextBundle.java diff --git a/src/main/java/com/webcodepro/applecommander/util/TranslatorStream.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/TranslatorStream.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/TranslatorStream.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/TranslatorStream.java diff --git a/src/main/java/com/webcodepro/applecommander/util/filestreamer/FileStreamer.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/filestreamer/FileStreamer.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/filestreamer/FileStreamer.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/filestreamer/FileStreamer.java diff --git a/src/main/java/com/webcodepro/applecommander/util/filestreamer/FileTuple.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/filestreamer/FileTuple.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/filestreamer/FileTuple.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/filestreamer/FileTuple.java diff --git a/src/main/java/com/webcodepro/applecommander/util/filestreamer/TypeOfFile.java b/lib/ac-api/src/main/java/com/webcodepro/applecommander/util/filestreamer/TypeOfFile.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/util/filestreamer/TypeOfFile.java rename to lib/ac-api/src/main/java/com/webcodepro/applecommander/util/filestreamer/TypeOfFile.java diff --git a/src/main/resources/com/webcodepro/applecommander/compiler/AppleMemoryAddresses.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/compiler/AppleMemoryAddresses.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/compiler/AppleMemoryAddresses.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/compiler/AppleMemoryAddresses.properties diff --git a/src/main/resources/com/webcodepro/applecommander/compiler/CompilerBundle.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/compiler/CompilerBundle.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/compiler/CompilerBundle.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/compiler/CompilerBundle.properties diff --git a/src/main/resources/com/webcodepro/applecommander/storage/AppleCommander-boot.dump b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/storage/AppleCommander-boot.dump similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/storage/AppleCommander-boot.dump rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/storage/AppleCommander-boot.dump diff --git a/src/main/resources/com/webcodepro/applecommander/storage/StorageBundle.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/storage/StorageBundle.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/storage/StorageBundle.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/storage/StorageBundle.properties diff --git a/src/main/resources/com/webcodepro/applecommander/storage/os/prodos/ProdosFileTypes.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/storage/os/prodos/ProdosFileTypes.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/storage/os/prodos/ProdosFileTypes.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/storage/os/prodos/ProdosFileTypes.properties diff --git a/src/main/resources/com/webcodepro/applecommander/ui/UiBundle.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/UiBundle.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/UiBundle.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/UiBundle.properties diff --git a/src/main/resources/com/webcodepro/applecommander/ui/UiBundle_de.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/UiBundle_de.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/UiBundle_de.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/UiBundle_de.properties diff --git a/src/main/resources/com/webcodepro/applecommander/ui/UiBundle_es.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/UiBundle_es.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/UiBundle_es.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/UiBundle_es.properties diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.jpg b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.jpg similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.jpg rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.jpg diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.xcf b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.xcf similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.xcf rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/AppleCommanderLogo.xcf diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.jpg b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.jpg similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.jpg rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.jpg diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.xcf b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.xcf similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.xcf rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompareImageWizardLogo.xcf diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.jpg b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.jpg similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.jpg rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.jpg diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.xcf b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.xcf similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.xcf rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/CompileWizardLogo.xcf diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.jpg b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.jpg similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.jpg rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.jpg diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.xcf b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.xcf similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.xcf rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/DiskImageWizardLogo.xcf diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.jpg b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.jpg similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.jpg rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.jpg diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.xcf b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.xcf similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.xcf rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ExportWizardLogo.xcf diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.jpg b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.jpg similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.jpg rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.jpg diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.xcf b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.xcf similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.xcf rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/ImportWizardLogo.xcf diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/about.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/about.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/about.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/about.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/appleicon.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/appleicon.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/appleicon.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/appleicon.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/changeorder.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/changeorder.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/changeorder.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/changeorder.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/comparedisks.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/comparedisks.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/comparedisks.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/comparedisks.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/compile.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/compile.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/compile.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/compile.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/copy.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/copy.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/copy.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/copy.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/database.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/database.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/database.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/database.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/deletedfiles.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/deletedfiles.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/deletedfiles.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/deletedfiles.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/deletefile.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/deletefile.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/deletefile.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/deletefile.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/detailfileview.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/detailfileview.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/detailfileview.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/detailfileview.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/diskicon.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/diskicon.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/diskicon.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/diskicon.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/exportfile.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/exportfile.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/exportfile.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/exportfile.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/hex.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/hex.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/hex.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/hex.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/image.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/image.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/image.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/image.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/importfile.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/importfile.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/importfile.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/importfile.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/nativefileview.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/nativefileview.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/nativefileview.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/nativefileview.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/newdisk.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/newdisk.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/newdisk.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/newdisk.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/opendisk.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/opendisk.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/opendisk.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/opendisk.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/print.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/print.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/print.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/print.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/raw.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/raw.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/raw.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/raw.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/saveas.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/saveas.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/saveas.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/saveas.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/saveimage.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/saveimage.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/saveimage.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/saveimage.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/spreadsheet.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/spreadsheet.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/spreadsheet.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/spreadsheet.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/standardfileview.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/standardfileview.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/standardfileview.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/standardfileview.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/text.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/text.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/text.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/text.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/viewfile.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/viewfile.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/viewfile.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/viewfile.gif diff --git a/src/main/resources/com/webcodepro/applecommander/ui/images/wordprocessor.gif b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/wordprocessor.gif similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/ui/images/wordprocessor.gif rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/ui/images/wordprocessor.gif diff --git a/src/main/resources/com/webcodepro/applecommander/util/TextBundle.properties b/lib/ac-api/src/main/resources/com/webcodepro/applecommander/util/TextBundle.properties similarity index 100% rename from src/main/resources/com/webcodepro/applecommander/util/TextBundle.properties rename to lib/ac-api/src/main/resources/com/webcodepro/applecommander/util/TextBundle.properties diff --git a/src/test/java/com/webcodepro/applecommander/compiler/ApplesoftCompilerTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/compiler/ApplesoftCompilerTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/compiler/ApplesoftCompilerTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/compiler/ApplesoftCompilerTest.java diff --git a/src/test/java/com/webcodepro/applecommander/storage/DiskHelperTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/DiskHelperTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/storage/DiskHelperTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/DiskHelperTest.java diff --git a/src/test/java/com/webcodepro/applecommander/storage/DiskWriterTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/DiskWriterTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/storage/DiskWriterTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/DiskWriterTest.java diff --git a/src/test/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDiskTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDiskTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDiskTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/os/dos33/DosFormatDiskTest.java diff --git a/src/test/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDiskTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDiskTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDiskTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/os/pascal/PascalFormatDiskTest.java diff --git a/src/test/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDiskTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDiskTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDiskTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/storage/os/prodos/ProdosFormatDiskTest.java diff --git a/src/test/java/com/webcodepro/applecommander/testconfig/TestConfig.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/testconfig/TestConfig.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/testconfig/TestConfig.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/testconfig/TestConfig.java diff --git a/src/test/java/com/webcodepro/applecommander/util/AppleUtilTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/util/AppleUtilTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/util/AppleUtilTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/util/AppleUtilTest.java diff --git a/src/test/java/com/webcodepro/applecommander/util/TranslatorStreamTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/util/TranslatorStreamTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/util/TranslatorStreamTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/util/TranslatorStreamTest.java diff --git a/src/test/java/com/webcodepro/applecommander/util/filestreamer/FileStreamerTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/util/filestreamer/FileStreamerTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/util/filestreamer/FileStreamerTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/util/filestreamer/FileStreamerTest.java diff --git a/src/test/java/com/webcodepro/applecommander/util/filestreamer/FileTupleTest.java b/lib/ac-api/src/test/java/com/webcodepro/applecommander/util/filestreamer/FileTupleTest.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/util/filestreamer/FileTupleTest.java rename to lib/ac-api/src/test/java/com/webcodepro/applecommander/util/filestreamer/FileTupleTest.java diff --git a/src/test/resources/disks/MASTER.DSK b/lib/ac-api/src/test/resources/disks/MASTER.DSK similarity index 100% rename from src/test/resources/disks/MASTER.DSK rename to lib/ac-api/src/test/resources/disks/MASTER.DSK diff --git a/src/test/resources/disks/MERLIN8PRO1.DSK b/lib/ac-api/src/test/resources/disks/MERLIN8PRO1.DSK similarity index 100% rename from src/test/resources/disks/MERLIN8PRO1.DSK rename to lib/ac-api/src/test/resources/disks/MERLIN8PRO1.DSK diff --git a/lib/ac-swt-common/build.gradle b/lib/ac-swt-common/build.gradle new file mode 100644 index 0000000..7f91291 --- /dev/null +++ b/lib/ac-swt-common/build.gradle @@ -0,0 +1,40 @@ +plugins { + id 'java-library' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lib:ac-api') + + implementation "net.sf.applecommander:applesingle-api:$asVersion" + + testImplementation "junit:junit:$junitVersion" + testImplementation "org.apache.commons:commons-lang3:$commonsLang3Version" +} + +test { + String osName = System.getProperty('os.name').toLowerCase().split()[0] + String osArch = System.getProperty('os.arch').toLowerCase().split()[0] + String swtDependency + switch (osName) { + case 'windows': + swtDependency = "org.eclipse.platform:org.eclipse.swt.win32.win32.${osArch}:$swtVersion" + break + case 'linux': + swtDependency = "org.eclipse.platform:org.eclipse.swt.gtk.linux.${osArch}:$swtVersion" + break + case 'mac': + swtDependency = "org.eclipse.platform:org.eclipse.swt.cocoa.macosx.${osArch}:$swtVersion" + break + default: + throw new Exception('Unknown OS') + } + dependencies { + implementation("$swtDependency") { + exclude group: "org.eclipse.platform", module: "org.eclipse.swt" + } + } +} diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskExplorerTab.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/DiskInfoTab.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskInfoTab.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/DiskInfoTab.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskInfoTab.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/DiskMapTab.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskMapTab.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/DiskMapTab.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskMapTab.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/DiskWindow.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskWindow.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/DiskWindow.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/DiskWindow.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/FileViewerWindow.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/FileViewerWindow.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/FileViewerWindow.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/FileViewerWindow.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/SwtAppleCommander.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/SwtAppleCommander.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/SwtAppleCommander.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/SwtAppleCommander.java diff --git a/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SwtImage.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/SwtImage.java similarity index 96% rename from src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SwtImage.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/SwtImage.java index a87457d..0b5a9dc 100644 --- a/src/main/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SwtImage.java +++ b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/SwtImage.java @@ -17,7 +17,9 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -package com.webcodepro.applecommander.storage.filters.imagehandlers; +package com.webcodepro.applecommander.ui.swt; + +import com.webcodepro.applecommander.storage.filters.imagehandlers.AppleImage; import java.io.IOException; import java.io.OutputStream; diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/ApplesoftFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/ApplesoftFilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/ApplesoftFilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/ApplesoftFilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/BusinessBASICFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/BusinessBASICFilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/BusinessBASICFilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/BusinessBASICFilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/FilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/FilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/FilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/FilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/GraphicsFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/GraphicsFilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/GraphicsFilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/GraphicsFilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/HexFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/HexFilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/HexFilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/HexFilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/RawDumpFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/RawDumpFilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/RawDumpFilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/RawDumpFilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/TextFilterAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/TextFilterAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/TextFilterAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/filteradapter/TextFilterAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/DropDownSelectionListener.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/DropDownSelectionListener.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/DropDownSelectionListener.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/DropDownSelectionListener.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageCanvas.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageCanvas.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageCanvas.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageCanvas.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageManager.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageManager.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageManager.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/ImageManager.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ContentTypeAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ContentTypeAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ContentTypeAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ContentTypeAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ImageCanvasAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ImageCanvasAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ImageCanvasAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/ImageCanvasAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/NoActionContentTypeAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/NoActionContentTypeAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/NoActionContentTypeAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/NoActionContentTypeAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/StyledTextAdapter.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/StyledTextAdapter.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/StyledTextAdapter.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/util/contentadapter/StyledTextAdapter.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/Wizard.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/Wizard.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/Wizard.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/Wizard.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/WizardPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/WizardPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/WizardPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/WizardPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksResultsPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksResultsPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksResultsPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksResultsPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksStartPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksStartPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksStartPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksStartPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksWizard.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksWizard.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksWizard.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/comparedisks/CompareDisksWizard.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileFileStartPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileFileStartPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileFileStartPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileFileStartPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileWizard.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileWizard.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileWizard.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/compilefile/CompileWizard.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageFormatPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageFormatPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageFormatPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageFormatPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageNamePane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageNamePane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageNamePane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageNamePane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageOrderPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageOrderPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageOrderPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageOrderPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageSizePane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageSizePane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageSizePane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageSizePane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageWizard.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageWizard.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageWizard.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/diskimage/DiskImageWizard.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/AppleWorksWordProcessorPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/AppleWorksWordProcessorPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/AppleWorksWordProcessorPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/AppleWorksWordProcessorPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileDestinationPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileDestinationPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileDestinationPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileDestinationPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileStartPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileStartPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileStartPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportFileStartPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportGraphicsTypePane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportGraphicsTypePane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportGraphicsTypePane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportGraphicsTypePane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportWizard.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportWizard.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportWizard.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/exportfile/ExportWizard.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportSelectFilesWizardPane.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportSelectFilesWizardPane.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportSelectFilesWizardPane.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportSelectFilesWizardPane.java diff --git a/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportWizard.java b/lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportWizard.java similarity index 100% rename from src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportWizard.java rename to lib/ac-swt-common/src/main/java/com/webcodepro/applecommander/ui/swt/wizard/importfile/ImportWizard.java diff --git a/src/test/java/com/webcodepro/applecommander/ui/swt/Sleak.java b/lib/ac-swt-common/src/test/java/com/webcodepro/applecommander/ui/swt/Sleak.java similarity index 100% rename from src/test/java/com/webcodepro/applecommander/ui/swt/Sleak.java rename to lib/ac-swt-common/src/test/java/com/webcodepro/applecommander/ui/swt/Sleak.java diff --git a/src/test/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SwtImageTest.java b/lib/ac-swt-common/src/test/java/com/webcodepro/applecommander/ui/swt/SwtImageTest.java similarity index 97% rename from src/test/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SwtImageTest.java rename to lib/ac-swt-common/src/test/java/com/webcodepro/applecommander/ui/swt/SwtImageTest.java index 41e376a..255c274 100644 --- a/src/test/java/com/webcodepro/applecommander/storage/filters/imagehandlers/SwtImageTest.java +++ b/lib/ac-swt-common/src/test/java/com/webcodepro/applecommander/ui/swt/SwtImageTest.java @@ -1,4 +1,4 @@ -package com.webcodepro.applecommander.storage.filters.imagehandlers; +package com.webcodepro.applecommander.ui.swt; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assume.assumeThat; diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..e1321e9 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,11 @@ +rootProject.name = "AppleCommander" + +include ':lib:ac-api' +include ':lib:ac-swt-common' +include ':app:ac-cli' +include ':app:ac-swing' +include ':app:ac-swt-macosx-aarch64' +include ':app:ac-swt-macosx-x86_64' +include ':app:ac-swt-linux-aarch64' +include ':app:ac-swt-linux-x86_64' +include ':app:ac-swt-win32-x86_64' diff --git a/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java b/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java deleted file mode 100644 index 9e58e44..0000000 --- a/src/main/java/com/webcodepro/applecommander/ui/AppleCommander.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * AppleCommander - An Apple ][ image utility. - * Copyright (C) 2002-3 by Robert Greene - * robgreene at users.sourceforge.net - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -package com.webcodepro.applecommander.ui; - -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import com.webcodepro.applecommander.util.TextBundle; - -/** - * Launch AppleCommander. - * This application attempts to identify which type of user-interface to - * launch. Additionally, there are some command-line interface switches - * available - see the about method. - *

- * Regarding SWT, this application launcher tries to not be SWT dependent. - * That means that SwtAppleCommander is launched purely by reflection. - * NOTE: This may yet prove to be a worthless trick. If it is, remove - * the crud. However, as the VERSION and COPYRIGHT are in this class and - * are referenced in various places, it may well be worth it. - *

- * Date created: Nov 16, 2002 9:13:25 PM - * @author Rob Greene - */ -public class AppleCommander { - public static final String VERSION; - private static TextBundle textBundle = UiBundle.getInstance(); - - static { - VERSION = AppleCommander.class.getPackage().getImplementationVersion(); - } - - /** - * Launch AppleCommander. - */ - public static void main(String[] args) { - if (args.length == 0) { - if (isSwtAvailable()) { - launchSwtAppleCommander(args); - } else if (isSwingAvailable()) { - launchSwingAppleCommander(args); - } else { - showHelp(); - } - } else { - String[] extraArgs = new String[args.length - 1]; - System.arraycopy(args, 1, extraArgs, 0, extraArgs.length); - if ("-swt".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ - if (isSwtAvailable()) { - launchSwtAppleCommander(extraArgs); - } else { - System.err.println(textBundle.get("SwtVersionNotAvailable")); //$NON-NLS-1$ - } - } else if ("-swing".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ - if (isSwingAvailable()) { - launchSwingAppleCommander(extraArgs); - } else { - System.err.println(textBundle.get("SwingVersionNotAvailable")); //$NON-NLS-1$ - } - } else if ("-command".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ - System.err.println(textBundle.get("CommandLineNotAvailable")); //$NON-NLS-1$ - } else if ("-help".equalsIgnoreCase(args[0]) //$NON-NLS-1$ - || "-?".equalsIgnoreCase(args[0])) { //$NON-NLS-1$ - showHelp(); - } else { - ac.main(args); - } - } - } - /** - * Launch the SWT version of AppleCommander. This method - * uses reflection to load SwtAppleCommander to minimize which - * classes get loaded. This is particularly important for the - * command-line version. - */ - protected static void launchSwtAppleCommander(String[] args) { - Class swtAppleCommander; - try { - swtAppleCommander = Class.forName( - "com.webcodepro.applecommander.ui.swt.SwtAppleCommander"); //$NON-NLS-1$ - Constructor constructor = swtAppleCommander.getConstructor(); - Object object = constructor.newInstance(); - Method launchMethod = swtAppleCommander. - getMethod("launch", args.getClass()); //$NON-NLS-1$ - launchMethod.invoke(object, new Object[] { args }); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } catch (InstantiationException e) { - e.printStackTrace(); - } - } - /** - * Test to see if SWT is available. - */ - protected static boolean isSwtAvailable() { - try { - Class.forName("org.eclipse.swt.SWT"); //$NON-NLS-1$ - Class.forName("com.webcodepro.applecommander.ui.swt.SwtAppleCommander"); //$NON-NLS-1$ - return true; - } catch (ClassNotFoundException ex) { - return false; - } - } - /** - * Test to see if Swing is available. - */ - protected static boolean isSwingAvailable() { - try { - Class.forName("com.webcodepro.applecommander.ui.swing.SwingAppleCommander"); //$NON-NLS-1$ - return true; - } catch (ClassNotFoundException ex) { - return false; - } - } - /** - * Launch the Swing version of AppleCommander. This method - * uses reflection to load SwingAppleCommander to minimize which - * classes get loaded. This is particularly important for the - * command-line version. - */ - protected static void launchSwingAppleCommander(String[] args) { - Class swingAppleCommander; - try { - swingAppleCommander = Class.forName( - "com.webcodepro.applecommander.ui.swing.SwingAppleCommander"); //$NON-NLS-1$ - Constructor constructor = swingAppleCommander.getConstructor(); - Object object = constructor.newInstance(); - Method launchMethod = swingAppleCommander. - getMethod("launch", (Class[]) null); //$NON-NLS-1$ - launchMethod.invoke(object, (Object[]) null); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } catch (InstantiationException e) { - e.printStackTrace(); - } - } - /** - * Display help message(s) for AppleCommander. - */ - protected static void showHelp() { - System.err.println(textBundle.get("AppleCommanderHelp")); //$NON-NLS-1$ - System.err.println(); - ac.help(); - } -} diff --git a/src/test/resources/disks/CavernsOfFreitag.dsk b/src/test/resources/disks/CavernsOfFreitag.dsk deleted file mode 100644 index 85e4230..0000000 Binary files a/src/test/resources/disks/CavernsOfFreitag.dsk and /dev/null differ diff --git a/src/test/resources/disks/D3110.dsk b/src/test/resources/disks/D3110.dsk deleted file mode 100644 index 9157098..0000000 Binary files a/src/test/resources/disks/D3110.dsk and /dev/null differ diff --git a/src/test/resources/disks/D3151.dsk b/src/test/resources/disks/D3151.dsk deleted file mode 100644 index d75bf0e..0000000 Binary files a/src/test/resources/disks/D3151.dsk and /dev/null differ diff --git a/src/test/resources/disks/DOS 3.3.po b/src/test/resources/disks/DOS 3.3.po deleted file mode 100644 index 94c912b..0000000 Binary files a/src/test/resources/disks/DOS 3.3.po and /dev/null differ diff --git a/src/test/resources/disks/Marble Madness (1985)(Electronic Arts).2mg b/src/test/resources/disks/Marble Madness (1985)(Electronic Arts).2mg deleted file mode 100644 index 337abb5..0000000 Binary files a/src/test/resources/disks/Marble Madness (1985)(Electronic Arts).2mg and /dev/null differ diff --git a/src/test/resources/disks/Phantasie1.dsk b/src/test/resources/disks/Phantasie1.dsk deleted file mode 100644 index 160b5c1..0000000 Binary files a/src/test/resources/disks/Phantasie1.dsk and /dev/null differ diff --git a/src/test/resources/disks/Phantasie2.dsk b/src/test/resources/disks/Phantasie2.dsk deleted file mode 100644 index 82e0ee7..0000000 Binary files a/src/test/resources/disks/Phantasie2.dsk and /dev/null differ diff --git a/src/test/resources/disks/Prodos.dsk b/src/test/resources/disks/Prodos.dsk deleted file mode 100644 index ce1bbce..0000000 Binary files a/src/test/resources/disks/Prodos.dsk and /dev/null differ diff --git a/src/test/resources/disks/RDOSboot.dsk b/src/test/resources/disks/RDOSboot.dsk deleted file mode 100644 index 7504a66..0000000 Binary files a/src/test/resources/disks/RDOSboot.dsk and /dev/null differ diff --git a/src/test/resources/disks/SSIsave.dsk b/src/test/resources/disks/SSIsave.dsk deleted file mode 100644 index 19437a6..0000000 Binary files a/src/test/resources/disks/SSIsave.dsk and /dev/null differ diff --git a/src/test/resources/disks/UniDOS_3.3.dsk b/src/test/resources/disks/UniDOS_3.3.dsk deleted file mode 100644 index 02e4acf..0000000 Binary files a/src/test/resources/disks/UniDOS_3.3.dsk and /dev/null differ diff --git a/src/test/resources/disks/galatt.dsk b/src/test/resources/disks/galatt.dsk deleted file mode 100644 index a196146..0000000 Binary files a/src/test/resources/disks/galatt.dsk and /dev/null differ diff --git a/src/test/resources/disks/original332sysmas.do b/src/test/resources/disks/original332sysmas.do deleted file mode 100755 index d260128..0000000 Binary files a/src/test/resources/disks/original332sysmas.do and /dev/null differ diff --git a/src/test/resources/disks/phan2d1.dsk b/src/test/resources/disks/phan2d1.dsk deleted file mode 100644 index 68f23df..0000000 Binary files a/src/test/resources/disks/phan2d1.dsk and /dev/null differ diff --git a/src/test/resources/disks/phan2d2.dsk b/src/test/resources/disks/phan2d2.dsk deleted file mode 100644 index 6b98530..0000000 Binary files a/src/test/resources/disks/phan2d2.dsk and /dev/null differ diff --git a/swt-lib/org.eclipse.swt.cocoa.macosx.x86_64-4.17.jar b/swt-lib/org.eclipse.swt.cocoa.macosx.x86_64-4.17.jar deleted file mode 100644 index 03724dd..0000000 Binary files a/swt-lib/org.eclipse.swt.cocoa.macosx.x86_64-4.17.jar and /dev/null differ diff --git a/swt-lib/org.eclipse.swt.gtk.linux.aarch64-4.17.jar b/swt-lib/org.eclipse.swt.gtk.linux.aarch64-4.17.jar deleted file mode 100644 index bd159af..0000000 Binary files a/swt-lib/org.eclipse.swt.gtk.linux.aarch64-4.17.jar and /dev/null differ diff --git a/swt-lib/org.eclipse.swt.gtk.linux.arm-3.8.2.jar b/swt-lib/org.eclipse.swt.gtk.linux.arm-3.8.2.jar deleted file mode 100644 index 61d9da1..0000000 Binary files a/swt-lib/org.eclipse.swt.gtk.linux.arm-3.8.2.jar and /dev/null differ diff --git a/swt-lib/org.eclipse.swt.gtk.linux.x86_64-4.17.jar b/swt-lib/org.eclipse.swt.gtk.linux.x86_64-4.17.jar deleted file mode 100644 index 0d23b19..0000000 Binary files a/swt-lib/org.eclipse.swt.gtk.linux.x86_64-4.17.jar and /dev/null differ diff --git a/swt-lib/org.eclipse.swt.win32.win32.x86_64-4.17.jar b/swt-lib/org.eclipse.swt.win32.win32.x86_64-4.17.jar deleted file mode 100644 index 8b00aea..0000000 Binary files a/swt-lib/org.eclipse.swt.win32.win32.x86_64-4.17.jar and /dev/null differ