-
-
Notifications
You must be signed in to change notification settings - Fork 0
gradle-convert #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gradle-convert #16
Conversation
PR Compliance Guide 🔍(Compliance updated until commit 52a0d39)Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label Previous compliance checksCompliance check up to commit e961a3b
|
||||||||||||||||||||||||||||||||||||||||||||||||
PR Code Suggestions ✨Latest suggestions up to 52a0d39
Previous suggestionsSuggestions up to commit 44086f2
Suggestions up to commit b99c353
Suggestions up to commit 1f25990
✅ Suggestions up to commit d77d2e6
✅ Suggestions up to commit d96544f
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Conflicts: # build.gradle # settings.gradle
PR Reviewer Guide 🔍(Review updated until commit 52a0d39)Here are some key observations to aid the review process:
Verification Tasks
Information Tasks
Task Groups
Configurationbuild.propertiesThe main configuration file for the build: bundle.name = ghostscript
bundle.release = 2025.7.31
bundle.type = tools
bundle.format = 7z
#build.path = C:/Bearsampp-build
gradle.propertiesGradle-specific configuration: # Gradle daemon configuration
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
# JVM settings
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512mDirectory StructureArchitectureBuild Process FlowPackaging Details
Archive Structure Example: Hash Files: Each archive is accompanied by hash sidecar files:
Download PriorityWhen building a version, the system follows this priority:
Downloaded files are cached in TroubleshootingCommon IssuesIssue: "Dev path not found"Symptom: Solution: Issue: "Bundle version not found"Symptom: Solution:
Issue: "7-Zip not found"Symptom: Solution:
Issue: "Java version too old"Symptom: Solution:
Debug ModeRun Gradle with debug output: gradle release -PbundleVersion=10.05.1 --info
gradle release -PbundleVersion=10.05.1 --debugClean BuildIf you encounter issues, try a clean build: gradle clean
gradle release -PbundleVersion=10.05.1Migration GuideFrom Ant to GradleThe project has been fully migrated from Ant to Gradle. Here's what changed: Removed Files
Command Mapping
Key Differences
For complete migration guide, see MIGRATION.md Additional Resources
SupportFor issues and questions:
Last Updated: 2025-01-31 Notes:
🚀 Quick StartPrerequisites
Basic Commands# Verify environment
gradle verify
# List available versions
gradle listVersions
# Build a specific version
gradle release -PbundleVersion=10.05.1
# Build interactively (select from menu)
gradle release
# Build all versions
gradle releaseAll
# Display build info
gradle info
# List all tasks
gradle tasksProcess:
|
| Parameter | Type | Description |
|---|---|---|
name |
String | Module name (ghostscript) |
version |
String | Version to retrieve |
Returns: File - Directory containing Ghostscript files or null
Example:
def ghostscriptDir = getModuleUntouched('ghostscript', '10.05.1')
if (ghostscriptDir) {
println "Found at: ${ghostscriptDir}"
}Process:
- Check local modules-untouched repository
- If not found, check remote properties file
- Download and extract if found remotely
- Return directory or null
getModuleUntouchedRemoteUrl(String name, String version)
Description: Get download URL from modules-untouched remote properties file
Parameters:
| Parameter | Type | Description |
|---|---|---|
name |
String | Module name (ghostscript) |
version |
String | Version to retrieve |
Returns: String - Download URL or null
Example:
def url = getModuleUntouchedRemoteUrl('ghostscript', '10.05.1')
if (url) {
println "Download URL: ${url}"
}downloadAndExtractFromUrl(String downloadUrl, String version, String name)
Description: Download and extract Ghostscript from URL
Parameters:
| Parameter | Type | Description |
|---|---|---|
downloadUrl |
String | URL to download from |
version |
String | Version being downloaded |
name |
String | Module name |
Returns: File - Directory containing extracted files
Example:
def ghostscriptDir = downloadAndExtractFromUrl(
'https://example.com/gs10.05.1.7z',
'10.05.1',
'ghostscript'
)Process:
- Download archive from URL
- Extract to temporary directory
- Find Ghostscript directory in extracted files
- Return directory
downloadAndExtractGhostscript(String version, File destDir)
Description: Download and extract Ghostscript binaries (with fallback logic)
Parameters:
| Parameter | Type | Description |
|---|---|---|
version |
String | Ghostscript version |
destDir |
File | Destination directory |
Returns: File - Directory containing Ghostscript files
Example:
def ghostscriptDir = downloadAndExtractGhostscript('10.05.1', file(bundleTmpExtractPath))Process:
- Try modules-untouched repository (local)
- Try modules-untouched repository (remote)
- Try releases.properties
- Download and extract
- Return directory
findGhostscriptDirectory(File extractPath)
Description: Find Ghostscript directory in extracted files
Parameters:
| Parameter | Type | Description |
|---|---|---|
extractPath |
File | Directory to search |
Returns: File - Ghostscript directory or null
Example:
def ghostscriptDir = findGhostscriptDirectory(file("${bundleTmpExtractPath}/10.05.1"))Process:
- Check if extractPath itself contains gswin64c.exe or gswin32c.exe
- Search top-level directories
- Search one level deep
- Return directory or null
find7ZipExecutable()
Description: Find 7-Zip executable on system
Parameters: None
Returns: String - Path to 7z.exe or null
Example:
def sevenZipPath = find7ZipExecutable()
if (sevenZipPath) {
println "7-Zip found at: ${sevenZipPath}"
}Process:
- Check 7Z_HOME environment variable
- Check common installation paths
- Check PATH environment variable
- Return path or null
generateHashFiles(File file)
Description: Generate hash files (MD5, SHA1, SHA256, SHA512) for archive
Parameters:
| Parameter | Type | Description |
|---|---|---|
file |
File | File to generate hashes for |
Returns: void
Example:
generateHashFiles(file('bearsampp-ghostscript-10.05.1-2025.7.31.7z'))Process:
</details>
</td></tr>
</table>
PR Type
Enhancement, Documentation
Description
Migrate build system from Apache Ant to pure Gradle
Add comprehensive Gradle documentation in
.gradle-docs/Implement new Gradle tasks for build, verification, and information
Remove legacy Ant build files and configuration
Diagram Walkthrough
File Walkthrough
1 files
Main Gradle build script implementation2 files
Gradle project settings configurationGradle daemon and JVM performance settings7 files
Main Gradle build documentation and quick startComplete reference for all Gradle tasksConfiguration guide for build systemAPI reference for build scripts and helpersMigration guide from Ant to GradleDocumentation index and navigation guideUpdate with Gradle build system information1 files
Automated test script for Gradle build tasks3 files
Remove legacy Apache Ant build fileRemove outdated changelog fileRemove Eclipse Ant launch configuration2 files
Fix line ending formatting in batch fileFix line ending formatting in batch file14 files