Skip to content

Commit 7c244da

Browse files
committed
Added task to generate md5 which is required for publishing now
1 parent d9e59c2 commit 7c244da

File tree

1 file changed

+55
-1
lines changed

1 file changed

+55
-1
lines changed

method-analyzer-core/build.gradle

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,58 @@ publishing {
7373
}
7474
}
7575
}
76-
}
76+
}
77+
78+
79+
// Force checksum generation
80+
// Generate checksums after publishing
81+
tasks.register('generateChecksums') {
82+
dependsOn 'publishMavenPublicationToMavenLocal'
83+
84+
doLast {
85+
// Get the local maven repository path
86+
def userHome = System.getProperty('user.home')
87+
def localRepoPath = "${userHome}/.m2/repository"
88+
def groupPath = project.group.toString().replace('.', '/')
89+
def artifactDir = new File("${localRepoPath}/${groupPath}/${project.name}/${project.version}")
90+
91+
println "Generating checksums in: ${artifactDir.absolutePath}"
92+
93+
if (artifactDir.exists()) {
94+
artifactDir.listFiles().findAll { file ->
95+
file.isFile() &&
96+
(file.name.endsWith('.jar') || file.name.endsWith('.pom')) &&
97+
!file.name.contains('maven-metadata')
98+
}.each { file ->
99+
generateChecksumsFor(file)
100+
}
101+
}
102+
}
103+
}
104+
105+
def generateChecksumsFor(File file) {
106+
// Generate MD5
107+
def md5File = new File(file.parentFile, "${file.name}.md5")
108+
if (!md5File.exists()) {
109+
def md5 = java.security.MessageDigest.getInstance('MD5')
110+
file.eachByte(8192) { buffer, length ->
111+
md5.update(buffer, 0, length)
112+
}
113+
md5File.text = md5.digest().collect { String.format('%02x', it & 0xff) }.join()
114+
println "Generated MD5 for ${file.name}"
115+
}
116+
117+
// Generate SHA1
118+
def sha1File = new File(file.parentFile, "${file.name}.sha1")
119+
if (!sha1File.exists()) {
120+
def sha1 = java.security.MessageDigest.getInstance('SHA-1')
121+
file.eachByte(8192) { buffer, length ->
122+
sha1.update(buffer, 0, length)
123+
}
124+
sha1File.text = sha1.digest().collect { String.format('%02x', it & 0xff) }.join()
125+
println "Generated SHA1 for ${file.name}"
126+
}
127+
}
128+
129+
// Chain the tasks
130+
publishToMavenLocal.finalizedBy generateChecksums

0 commit comments

Comments
 (0)