UNPKG

nitp-build-tools

Version:

Official build system for NIT Patna's backend services - A powerful Maven-based build automation tool with cross-platform support

182 lines (181 loc) 5.4 kB
{ "name": "NITP Institute Build System", "version": "2.1.0", "description": "Official build system for NIT Patna Backend Services", "author": "NIT Patna Development Team", "repository": { "type": "git", "url": "https://github.com/ashishkr375/adminportal_updated_new.git" }, "scripts": { "build": { "description": "Full build with tests and quality checks", "command": "mvn clean jacoco:prepare-agent compile test jacoco:report package install", "modules": ["all"], "timeoutMinutes": 15, "category": "build" }, "build:fast": { "description": "Fast build without tests", "command": "mvn clean compile package install -DskipTests", "modules": ["all"], "timeoutMinutes": 10, "category": "build" }, "test": { "description": "Run all tests with coverage", "command": "mvn clean jacoco:prepare-agent test jacoco:report", "modules": ["all"], "timeoutMinutes": 10, "category": "test", "reports": { "coverage": "target/site/jacoco/index.html", "tests": "target/surefire-reports" } }, "test:unit": { "description": "Run unit tests with coverage", "command": "mvn clean jacoco:prepare-agent test -Dtest=\"**/unit/**\" jacoco:report", "modules": ["all"], "timeoutMinutes": 5, "category": "test" }, "test:integration": { "description": "Run integration tests with coverage", "command": "mvn clean jacoco:prepare-agent test -Dtest=\"**/integration/**\" jacoco:report", "modules": ["all"], "timeoutMinutes": 8, "category": "test" }, "quality": { "description": "Run all quality checks", "command": "mvn verify spotless:check checkstyle:check pmd:check spotbugs:check", "modules": ["all"], "timeoutMinutes": 10, "category": "quality" }, "format": { "description": "Format code using Spotless", "command": "mvn spotless:apply", "modules": ["all"], "timeoutMinutes": 3, "category": "quality" }, "start:admin": { "description": "Start Admin API server", "command": "java -jar nitp-admin-api/target/nitp-admin-api.jar", "modules": ["nitp-admin-api"], "timeoutMinutes": 0, "category": "run", "port": 2123, "env": "dev" }, "start:tnp": { "description": "Start TNP API server", "command": "java -jar nitp-tnp-api/target/nitp-tnp-api.jar", "modules": ["nitp-tnp-api"], "timeoutMinutes": 0, "category": "run", "port": 2124, "env": "dev" }, "docker:up": { "description": "Start all services in Docker", "command": "docker-compose up -d", "modules": ["all"], "timeoutMinutes": 5, "category": "docker" } }, "modules": { "nitp-core": { "path": "nitp-core", "type": "library", "buildOrder": 1, "testSuites": ["unit"], "coverageThreshold": { "lines": 80, "branches": 70, "methods": 80 } }, "nitp-admin-api": { "path": "nitp-admin-api", "type": "application", "buildOrder": 2, "testSuites": ["unit", "integration"], "coverageThreshold": { "lines": 75, "branches": 65, "methods": 75 } }, "nitp-tnp-api": { "path": "nitp-tnp-api", "type": "application", "buildOrder": 3, "testSuites": ["unit"], "coverageThreshold": { "lines": 75, "branches": 65, "methods": 75 } } }, "environments": { "dev": { "properties": { "spring.profiles.active": "dev", "logging.level.com.nitp": "DEBUG", "database.url": "jdbc:mysql://localhost:3306/nitp_updated", "database.username": "${DB_USERNAME}", "database.password": "${DB_PASSWORD}" }, "jvmArgs": ["-Xmx512m", "-Dfile.encoding=UTF-8"] }, "test": { "properties": { "spring.profiles.active": "test", "logging.level.com.nitp": "INFO", "database.url": "jdbc:h2:mem:testdb;MODE=MySQL", "database.username": "sa", "database.password": "" }, "jvmArgs": ["-Xmx256m", "-Dfile.encoding=UTF-8"] }, "prod": { "properties": { "spring.profiles.active": "prod", "logging.level.com.nitp": "WARN", "database.url": "jdbc:mysql://prod-db.nitp.ac.in:3306/nitp_production", "database.username": "${DB_USERNAME}", "database.password": "${DB_PASSWORD}" }, "jvmArgs": ["-Xmx1024m", "-XX:+UseG1GC"] } }, "hooks": { "pre-build": ["quality"], "post-build": ["test"], "pre-commit": ["format", "test:unit"] }, "configuration": { "coverage": { "tool": "jacoco", "reportPath": "target/site/jacoco", "formats": ["html", "xml", "csv"], "excludes": ["**/generated/**", "**/model/**"] }, "testing": { "tool": "junit5", "reportPath": "target/surefire-reports", "parallel": true, "rerunFailures": true }, "logging": { "file": "logs/nitp-build.log", "level": "INFO", "maxFiles": 5 } } }