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 git@github.com:ericdwkim/cash-depot-bot.gitcd cash_depot_bot./gradlew clean build shadowJarNote: For verbose warning logs, append
--warning-mode all.
java -jar build/libs/cash_depot_bot-0.1.0.jarNote: 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 git@github.com:ericdwkim/cash-depot-bot.gitcd cash_depot_botchmod +x scripts/app.sh./scripts/app.shChoose 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-Classin the MANIFEST.MF (located inbuild/tmp/jar/) doesn't match the.classfile paths, it's because thebuild.classes.java.maindirectories are abstracted away during the initial build.
For any additional queries, consult the documentation or reach out to the development team.