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
JSON
{
"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
}
}
}