Cash Depot Bot is a Java automation project that leverages Selenium WebDriver for web scraping. The main objective is to automatically fetch CSV files from a designated website and place them in a shared directory for accounting needs. The project uses Gradle and its wrapper (gradlew
) for dependency management and build processes.
- Java 19 SDK
- Git
- Optional: IntelliJ IDEA or any preferred Java IDE
git clone [email protected]:ericdwkim/cash-depot-bot.git
cd cash_depot_bot
./gradlew clean build shadowJar
Note: For verbose warning logs, append
--warning-mode all
.
java -jar build/libs/cash_depot_bot-0.1.0.jar
Note: When the Uber JAR is created, it auto versions which is an indication that it has updated it from a regular JAR to include depedencies defined in
build.gradle
Clone the repo and open it using IntelliJ IDEA.
- Set SDK to Java 19
- Classpath:
cash_depot_bot.main
- Main Class:
com.txb.cashdepot.CashDepotReportPull
- Working Directory:
/Users/ekim/workspace/personal/cash_depot_bot
Use IntelliJ's run/debug configurations.
git clone [email protected]:ericdwkim/cash-depot-bot.git
cd cash_depot_bot
chmod +x scripts/app.sh
./scripts/app.sh
Choose your preferred method based on your workflow. The Gradle Wrapper streamlines dependency management and builds, IntelliJ offers robust IDE support, and the shell script simplifies execution.
-
ChromeDriver Pathing
- Windows:
c:\\chromedriver-win64\\
(Note: May require double backslashes) - Linux/Unix:
/opt/homebrew/bin/chromedriver
- Windows:
-
Java Executable Path
- Windows:
JAVA_EXEC="/c/Program Files/Java/jdk-17/bin/java.exe"
- Mac:
JAVA_EXEC="/usr/bin/java"
- Windows:
builds
: Gradle build filesbuild/libs/
: Contains the Uber JARbuild/classes/java/main/com/txb/cashdepot
: Compiled source files
Note: If you're confused about why the
Main-Class
in the MANIFEST.MF (located inbuild/tmp/jar/
) doesn't match the.class
file paths, it's because thebuild.classes.java.main
directories are abstracted away during the initial build.
For any additional queries, consult the documentation or reach out to the development team.