-
Notifications
You must be signed in to change notification settings - Fork 0
Development Environment Setup
Emily Lynema edited this page Jul 11, 2025
·
1 revision
Install the following tools needed for AMPPD development:
- Java SE11:We'll use OpenJDK instead of Oracle JDK: https://jdk.java.net/11/
- Python 2.7
- IDE that has built-in or plugin support for Git, Springboot, Maven
etc, For ex.
- Eclipse (4.10 or the latest): free
- Intellij: need license
- Lombok:
- Git: one of the following
- Git CLI: https://git-scm.com/downloads
- Smartgit: https://www.syntevo.com/smartgit/
- Eclipse plugin: EGit
- Intellij has built-in Git support
- Springboot: one of the following
- Standalone STS 4: https://spring.io/tools
- Eclipse plugin for STS 4: https://marketplace.eclipse.org/content/spring-tools-4-spring-boot-aka-spring-tool-suite-4
- Maven: one of the following
- Standalone (if you want to use Maven CLI): https://maven.apache.org/install.html
- Eclipse 4.10: included as a plugin
- Tomcat: one of the following
- Standalone (useful for deployment to Tomcat server directly): https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html
- With Springboot: built-in Tomcat servlet is included in fat war
- Postgresql:
- Postgresql 11.0: https://www.postgresql.org/download/
We use the following API for development, the relevant dependencies are included in pom.xml of the corresponding projects:
- Spring Boot
- Jersey (used by blend4j)
- Hibernate/JPA
- JUnit
- TestNG (used by blend4j): if you are using Eclipse, you need to download the plugin
- Log4j
- Liquibase
Clone the following projects for AMPPD at AMP Github home:
-
amppd:
- the main AMPPD app
- In Eclipse, you can run the app with Maven clean or as Spring Boot App
- In Eclipse, you can run the tests with Maven test or as JUnit test
-
galaxy:
- currently serves as the backend workflow engine for amppd, also used for workflow UI's in the pilot project
- To run it, go to the root directory where galaxy is installed, and type "./run.sh"
- Note: Galaxy currently requires Python 2.7 on Linux to run
-
blend4j:
- a java library providing APIs to interact with Galaxy REST endpoints
- In Eclipse, you can run the tests with Maven test or as TestNG test
Other projects under AMP Github home are not under active development. They serve either as dependencies or references. Download them if you want to view the source code.
Galaxy Dependencies
Below are a list of tools, command line and python, that need to be installed independently to run workflows.
- jq
- python3
- boto3
- spacy (pip)
- pyscenedetect (pip)
- [pytesseract (pip)]
Document generated by Confluence on Feb 25, 2025 10:39
- MGMs (Metadata Generation Mechanisms)
- Transferring files to the AMP Dropbox (IU only)
- Supplemental Files in Workflows
- AMPPD REST API
- REST API for AMP Content Entities
- REST API for Workflow/Job Related Actions
- Development Environment Setup
- Galaxy Workflow Editor
-
MGM Adapters
- Applause Detection
- AWS Comprehend
- AWS Transcribe
- Azure Shot Detection
- Azure Video Indexer - for Developers
- Azure Video OCR
- Contact Sheet MGMs
- Facial Recognition (FR)
- Gentle Forced Alignment
- HPC Batch Scheduling
- Human MGMs
- INA Speech Segmenter
- INA Speech Segmenter HPC
- Input Supplement
- JSON to VTT Generator
- Kaldi HPC
- PySceneDetect
- spaCy
- Tesseract
- Vocabulary Tagging.
- Packaging System
- Report on HPC vs Local Environments for INA/Kaldi Workflow
- Technical Tips for Dev
- torque_amp - An experiment in external Galaxy scheduling
- Workflow Engine Analysis
- Creating a test collection
- Workflow display debug information
- MGM Schema, Adapter, and Output Data Types Change History
- AMPPD Data Model
- Sample IIIF Manifest
- Survey of ML tools 2023
- HPC Whisper Experiment notes (2024)
- Resources