Development Environment Setup - AudiovisualMetadataPlatform/amp_documentation GitHub Wiki
Development Environment Setup
Tools
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/
APIs
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
Repositories
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